Innovation – 中国からのイノベーション

中国に出張で行って、イノベーションが日本よりもかなり先行しているので驚きました。まず以下のコンビニ。普通の商品陳列棚のようですが、よく見ると商品一つ一つに紙のようなタグが上についています。これによってレジでの精算が不要な店舗です。

「京東X先人超市」と呼ばれる店舗で、中国の直販型EC業界でトップの京東商城(ジンドン)が出店している赤い看板が目印のコンビニです。Amazon Goのような形態ですが、もうすぐ500店くらいになるそうです。大連のうちの会社の近くの店舗を貸し切ってもらったのでゆっくり見られたのですが(メンバーに感謝!)入り口にはまず以下の看板が。

アプリをダウンロードして、自分を登録せよという事のようです。中国では日本よりもかなりキャッシュレスが進み、ほとんど皆さん WeChat(ウイーチャット)などを使ってQRコードで買い物の支払いをしていますが、中国の銀行に口座を持ってないとできないとのこと。現金支払いはできないということで、現地の人のスマホを借りて入店しました。

商品に付けられているタグを透かしてみると、以下のようなアンテナ状のものが見えました。いわゆるRFIDタグで無く、こちらで商品を検知するようで、今は一つ数円。近い将来は一つ1円になる予定とのことでした。

お店を出る時はAmazon Goとちょっと違って、以下の顔認証エリアを通って出る必要があります。どうもここで顔認証で本人特定され、何の商品を持ったか電波でチェックされ、精算されるようです。お店の人に聞いたら、特に今までトラブルは無かったとのこと。

既にこんなイノベーション店が多数展開されているとは、先進的ですね。日本だと何か電波の通らない袋に入れたらどうなんだとか、顔認証で双子だったらどうするんだとかで心配なのでもう少し様子を見よう・・となりそうですが、中国ではこういうの、まずやってみよう、ダメだったら考え直そうと進めているようです。

一つ数円のタグですが、これが採算が取れているのか知りたいですね。店内には店員は一人しかおらず、商品の陳列だけしているようです。そもそもレジらしいものはありません。それによってレジの人件費が削減でき、それだけでペイするのではと思いました。

さて次は、車に乗ってショッピングモールに連れて行ってもらいました。駐車場に入ると・・・おや、駐車券が無い。代わりに以下の緑に光る字のところに、自分の車のナンバーが表示されます。そう、ディスプレイの上のところにカメラがあり、画像認識でナンバーを読み込み、それで自動的に駐車場の利用が検知されるのです。もちろん出る時も自動認識で、後からWeChatなどで自動精算されます。駐車券取ったり精算するの煩わしいので、これは便利ですね!

モールに入るところでは、以下のディスプレイがあり、自分の行きたいところをカーナビのように案内してくれます。以下は、スターバックス(星巴克)を検索したところ。行き方を選ぶと、そこに行くのにどのエスカレータに乗ってどこから上がると最短かナビしてくれます。

さらに便利だったのは、帰りの時に自分の車の位置を教えてくれたこと! 実は駐車場の全ての車の前の天井に小さなカメラがあり、どのナンバーの車がどこに停まっているか登録されています。自分の車のナンバーをインプットしたら即座にどこにあるか、教えてくれました。私はよく駐車場で自分の車の場所が分からなくなるので、これはうれしい!

他にもいろいろとありました。以下は会社の近くにあった宅配ボックス。日本ではマンションの1階にあるイメージですが、ここではオフィスの近くにありました。これはいろんな用途に使える宅配ボックスで、もちろん宅配荷物をこれで受け取ることもできますが、自分でモノをここに入れて相手の人にスマホで連携すれば、相手が簡単に受け取ることができます。以下は試しにペットボトルを入れておいてくれたのを受け取ったところ。会社の近くにあると、ちょっと人にモノを渡したい時に便利ですね。

最後はイノベーションかどうかは置いておいて面白かったのが以下です。なんか昔懐かしい電話ボックス(まだあるか)のようですが、先ほどのショッピングモールの真ん中に置いてありました。なんと、カラオケボックスです。しかもガラス張り。中に入って二人でカラオケができます。

しっかり日本語の歌もあり、とりあえず場所柄だけにテレサテンを熱唱しておきました。ヘッドフォンを付けて歌うので、音はほとんど外には漏れません。こんなショッピングモールの真ん中で、ガラス張りのボックスでカラオケする人いるの?と思いましたが、結構人が出入りしていました。空港や駅とかにもあって、待ち時間に暇つぶしをしたい人に結構人気だそうです。カラオケも中国では独自進化していますね。

 

一番上の写真は北京の天安門で、荘厳な感じでキレイでしたが、警備員も多く、手荷物検査もありちょっと物々しい感じでした。以下はその前にある、天安門広場。かなり広い敷地でしたが警備が厳しく近づく事さえできませんでした。

中国では、普通の人はGoogleやFacebookは使えません。実際にホテルでWiFiつないでやってみると、アクセスできませんでした。ところが、自分のスマホで携帯網を使ってアクセスしたら中国の中でもGoogleとか使えます。海外のSIMであれば、GoogleやFaebookにもアクセスできるようにしているそうです。

北京の空気はやはり今一つで以下のような感じ。いくつか先のビルはもうかすんで見えません。PM2.5ですね。この11月からは北京は寒くなり、多くの人が石炭で暖を取るので、そのためだそうです。

このような環境や規制と、その上のような先進的な中国のイノベーション。そのアンバランスさが面白い中国でしたが、どんどんイノベーションは進んでいます。日本の我々も、うかうかしていられませんね。

 

WeWork – 共同オフィスで ガレージによる共創

米国発の共同オフィス「WeWork」がついに日本に上陸したので、早速我々「ガレージ」チームでオフィスを借りました! 場所はなんと「GINZA SIX」。オフィスの逆側のドアを開けるとすぐトップの写真の屋上庭園にも出れる13階のオシャレなスペースです。オフィス側の入り口は以下の通り。

この扉を開けると(メンバーズ・カードが必要)、以下のような共同スペースになっています。そこで様々な企業やフリーランスの人が自由な感じで働いています。メンバーはここで無料のコーヒーやビールを飲むこともでき、他企業の人とコミュニケーションができる素晴らしいスペースです。

様々な企業の人がお互いに刺激しあいながら、場合によっては共同で何かを創りあげることもできる、まさに共創 - Co-creation の場ですね。しかも、ソファや畳もあって、日々きれいな銀座の夜景も見れるオシャレなスペースなので、ここで良いアイデアが生まれないわけがありません。

ということで我々IBM Garageチームも以下のオフィス・スーエースを借りてこちらで様々なお客様とのコラボレーションを開始しました。

ガレージとは、昔Apple社やMicrosoft社が家のガレージの空きスペースでモノ創りを始めてから大企業に育ったように、まずは小さいチームで作ってみて、それを大きく育てていきましょうというコンセプトのチームです。従って、新しいイノベーションを生みそうなテーマに限定し、通常のオフィスを離れ、デザイン思考やアジャイルの手法によりクイックにアイデア出しとプロトタイプ構築をすることでスモール・スタートを実現するプログラムです。

我々もお客様も、大きな企業から一旦離れ、ガレージでモノ創りをするとから始めましょうというコンセプトです。私がリードすることになりましたので、これからどんどん様々なお客様とガレージでのイノベーション共創をしていきたいと思います!

 

Cloud – クラウドネイティブ開発とは何か? マイクロサービスとの関連

最近よく 「クラウドネイティブでの開発とは?」 とか 「マイクロサービス開発のポイントは?」 ときかれるため、先日講演した内容についてご紹介します。クラウドの活用が広がり、その最適な開発方法に関心が高くなってきていますね。

クラウド・ネイティブとは

クラウド・ネイティブな開発とは、つまりクラウドで動かすのに最適化されたアプリを開発する事。通常のアプリ開発とどこが違うのでしょうか?クラウド・ネイティブなソフトウェア開発を推進している団体、「クラウド・ネイティブ・コンピューティング・ファンデーション (CNCF)」 で確認してみましょう。

Home Page

以下のリンク先にあるように主要なクラウド企業はほとんど参加し、様々な推進活動が実施されています。

Members

では、クラウド・ネイティブの定義は何でしょうか?
このCNCFのホームページの以下のFAQに 「What is Cloud Native?」 が分かりやすく記述されています。

FAQ

要約しますと、以下のように書かれています。

「クラウド・ネイティブ技術は、パブリックやプライベートもしくはそのハイブリッドなクラウドの新しいダイナミックな環境において、スケーラブルなアプリケーションの構築と稼働を実現します。コンテナーやサービス・メッシュ、イミュータブル・インフラストラクチャー、マイクロサービスがその典型的なアプローチです。

これらの手法によって、対障害性があり管理され可視化された、疎結合なシステムを可能にします。オートメーションと組み合わせることで、エンジニアは頻繁な変更を最小限の労力で可能になります。

CNCFはこの新しいパラダイムの適用を、オープンソースのエコシステムとベンダー・ニュートラルな製品により推進します。」

はじめての人には少し分かりにくいと思いますので、私なりに補足して解説します。まずクラウド・ネイティブ技術の適用環境ですが以下ように図で表してみました。

上記にありますように、クラウド・ネイティブなアプリケーションとは主に、Dockerなどの「コンテナ」化されており、Kubernetesなどの「動的オーケストレーション」技術で動的に構成される、「マイクロサービス」化されたアプリケーションが典型的と言われています。これはCNCFホームページの「What is CNCF?」にも書かれています。これらは現在のクラウドを支える主要な技術なので後でじっくり記述します。

その前に大切なのは、「What is Cloud Native?」にあるように、これらのクラウド・ネイティブ技術は、いわゆるパブリックのクラウドのためだけにあるわけではないという事です。クラウド・ネイティブなのにクラウドだけでないというのはやや逆説的ですが、コンテナやオーケストレーションはサーバーを迅速かつ柔軟に構成するためのたいへん優れた技術であるため、パブリック・クラウドだけでなく、オンプレのプライベート・クラウドでの活用も盛んになっています。オンプレであっても、クラウド技術を活用したいというユーザーが増えているためです。その事で、今はパブリック・クラウドでは不安があるアプリケーションも、まずはオンプレのプライベート・クラウドで稼働させてから後からそのコンテナをパブリックにそのまま展開する・・・といった自由な選択が後から可能になります。

クラウド・ネイティブ技術

では、その他の主なクラウド・ネイティブ技術を以下に紹介します。

【コンテナ化】
アプリなどの各要素をLinuxコンテナとしてパッケージすることで、再現性・透過性・環境独立性を実現します。Docker社のコンテナが主流で、既に様々なクラウド環境でサポートされています。特徴は、従来の仮想化と異なり、パッケージの中にLinux OSを含まないため軽量(サイズが小さい)で迅速なサーバー立ち上げが可能です。

【動的オーケストレーション】
コンテナの複数サーバー(クラスタ)への配置を自動的にスケジュールし、リソースの活用を最適化します。主流はオープンソースのKubernetesで、元々はGoogle社が自社の膨大なクラスタを管理するために作成したもので、現在は多くの企業が開発に参画しています。

【API】
APIは、アプリケーションの対外インターフェースであり、従来のライブラリのAPIと区別するために、Web APIと呼ばれることもあります。通常のWebのプロトコルであるhttpでデータを通信する「REST」に、「JSON」と呼ばれるデータ形式でやり取りします。

【サービス・メッシュ】
アプリケーションが、後述のマイクロサービスで細分化され、多くのAPIでやり取りされるようになると、n対nの膨大なメッシュができ、さらにそのバージョンを区別したいと思うと管理が複雑になります。このようなサービスのメッシュの管理を容易にするサービス・メッシュが必要になります。その主流はGoogleやIBMなどが開発している「Istio」です。

【イミュータブル・インフラストラクチャー】
直訳すると、変えないインフラという意味ですが、いわゆる塩漬けでそのまま使い続けるという意味ではありません。本番のインフラに対して継続して様々な設定を変更したり、パッチを当てたりすると再現困難な環境になる事があります。現在動いている本番環境に変更を加え新しい本番環境を作りこんでいくのではなく、例えば新しい本番環境をイチから構築し、そちら側にサーバーをスイッチしていくようなイメージの方式です。

これらのクラウド・ネイティブ技術は、従来のシステム構築のパラダイムをシフトさせるべくクラウド環境から発展してきました。が、そういった優れたテクノロジーをオンプレ環境で使わない手はないため、今ではオンプレでも共通的に使われるようになっています。

マイクロサービス

クラウド・ネイティブの技術、最後は「マイクロサービス」です。マイクロサービスは、技術というよりは設計手法になります。細かくサービスを分割するマイクロサービスに対し、対極にあるのは「モノリシック」です。従来のアプリケーションでは、様々な機能が一つのモジュールに固められ、そこからアクセスするデータも複雑にからみあった大きな一枚岩になっているものもあります。しかし、機能同士が密結合になっているため、頻繁に変更を繰り返す顧客接点のアプリなどではビジネスのスピードについていけないケースがありました。マイクロサービスではこれを細かい単位に細分化することで防ごうという設計コンセプトです。

マイクロサービスでは、一つ一つのコンポーネントの単位を疎結合にすることで、個々のバージョンアップや問題の修正を容易にします。これまでモノリシックでは、一つの機能を変えるのに全体の機能を再テストが必要になる可能性がありましたが、マイクロサービスはそれぞれを独立させることで、影響を最小限にします。

特に以下のようにアプリとデータをセットで分割し、それを複数のサーバーで立ち上げることで、問題の所在を局所化させ、個別の更新を容易にします。マイクロサービスの中の機能が直接他の機能を呼び出すと密結合になってしまいますので、基本的にサービスはAPIを介して呼び出します。

このことで、個々の機能のバージョンアップをする際や、問題が起こった際に修正を適用する際などに、全体に影響が派生せず個々のマイクロサービスの更新で済むため維持・運用が容易になります。

このマイクロサービスの設計の考え方は実は以前のSOAの経験を生かしてモダナイズする形で作られています。SOAは企業内のシステムを疎結合化し、ESBと呼ばれるバスで接続する形態でした。マイクロサービスは、特に顧客接点などのインターネット上のアプリに着目し、よりクイックにサービスを構築、より頻繁な更新が可能になるように考えられています。が、これまでのSOAでの設計経験が生かせる方式でもあります。

 

ThinkPad X1 ワイヤレスタッチマウス、買って良かった

見た目に惹かれて、ThinkPad X1 ワイヤレスマウスを購入。思ったより良かったです。Lenovoのオンラインサイトで見て、結構格好イイと思ったのと、携帯用に軽量・コンパクトで薄いマウスが欲しかったので思いきって買いました。(LenovoオンラインでPCと一緒に買ったせいか、定価の半額近い税抜5,400円)

一週間で送られてきて、箱を開けたのがトップの画像。縦に一本赤い筋が入っているのがThinkPadらしいデザインでいいですね。箱の中にはThinkPadデザイナーからの想いのコメントが入っていましたが、デザイン的にはかなり力が入った製品のようです。

どれくらいコンパクトかというと、iPhone7と比べると、以下の感じ。手の中にすっぽり納まる程よい小ささです。

薄さは以下の感じ。通常のマウスに比べるとかなり薄いですが、鞄に入れて持ち運ぶのにこれくらいの薄さのが欲しかったのです。

上の画像のように、縦に4つLEDがついていて、電源オン時や充電時に光って充電状況を表示してくれるところも格好イイです。

思ったよりもよかった・・・と書いたのは、実は事前にネットでいくつかコメントを読んだところいずれも、「ちょっと触っただけでクリックしてしまう」「クリックがしにくい」といった書き込みだったのでちょっと不安だったのですが・・・。実際に使ってみたところ、そのような事はなかったです。2018年1月にUpdateが入ったようなので、改善されたのかもしれません。

表面の赤い縦筋「タッチ・スクロール・ストリップ」を上下にタッチすることで、上下のスクロールが可能になります。慣れると思ったようにスクロールできるようになります。音がしないところは良いですね。この部分もそうですが、このマウスは軽くて繊細なので、全体的に優しく触ってあげることが大事です。

クリックは、左クリック、右クリックとそれなりにしっかり反応してくれます。ボタン型というよりは、本体が沈み込むタイプなのでちょっと慣れがいりますが、これも慣れてくればそれなりに快適。思ったよりちょっとクリック音が大きかったですが。

マウスの裏は以下のとおり。真ん中に左右の矢印と平たいエリアがありますが、これが「タッチ」マウスとしてのポイント。マウスをひっくり返してこの平たいエリアを触ると、タッチパッドと同様にマウスが動きます。タップもできますが、ジェスチャー(スクロールや拡大)はできません。二本指タップすると、右クリックとなります。また、真ん中の左右の矢印で、パワポのページを行き来できます。これはプレゼンテーションの時に便利です!

上の画像の真ん中少し上にマウスの受光部がありますが、これはマウスのスイッチをオフにするとフタが閉まる構造になっています。これは受光部保護のために賢いやり方ですね。

左下にあるのがUSBケーブルのコネクタで、このように接続して充電します(電池式でなく充電式です)。充電しながらマウスが使うことができて、便利です。(これまでのマウスはそれができなかった)

右下にあるスイッチが、下がUSB無線のワイヤレスで、真ん中がBluetoothです。そう、USB無線と、ブルートゥースの両方が使えるのです。私はBluetooth派なので、スイッチを真ん中にしました。ちょっと分かりにくいのですが、PCでBluetoothデバイスを検索するモードにして、このマウスのスイッチを上にしばらくプッシュすると、PCで認識してくれます。

重さは60g無いので、かなり軽く感じますね。これで出張も安心!

⇒ThinkPad X1 ワイヤレスマウスのユーザーガイドはこちら

⇒Amazonの現在の価格

 

IBM Think – ロボットがハンコを押すデジタル時代

6/11-12に IBM Think の日本のイベントが品川で開催されました。印象的だったのは、いよいよ AI や IoT といった最新テクノロジーが本格的に使われ始めたということ。一年前とはレベルの異なる、本格的な協業が進んでいます。一番印象的だったのは、安川電機さんのロボットとIBM Watson のコラボ。まずは以下のビデオを見てください。

なんと、銀行の窓口でハンコを押すロボットだそうです。クラウド上では IBM Watson が動いてIoTで上がってきたデータを分析します。が、銀行の窓口では規則でどうしてもハンコが必要な部分も残っており、窓口業務を効率化するために、プリントアウトされた紙をロボットが自ら取ってハンコを3回も押して箱にしまうという、この秀逸さ。まさに、物理的なRPA(ロボティック・プロセス・オートメーション)、人の作業のデジタル化もここまでくると立派ですね!

健気にきちっと3ヶ所ずつハンコを押して、紙の半分を切ってそっと返してくれるロボット君が、かわいくてしょうがありません。

安川電機さんとはこの他にも、本格的に工場のロボットと、クラウド上の IBM Watson のコラボの本格的なシステムを構築していただいています。これからますます、工場も銀行もインテリジェントになっていきますね!

 

Tokyo2020 – 都市鉱山からつくる!みんなのメダル・プロジェクト

古くなった携帯やPCなど小型家電をリサイクルすることで オリンピックのメダルを作る「都市鉱山から作る!みんなのメダル・プロジェクト」。この活動で、オリンピック・パラリンピック合わせて金・銀・銅あわせて約5,000個のメダルを製作する予定とのことで、参加してみました。

各自治体に上の写真のような「使用済み小型家電 回収ボックス」がありますので検索で探してください。私は浦安市なので、浦安市ホームページの家庭ごみのところに情報がありました。このボックス自体は以前からあって主にレアメタルのリサイクルが目的でしたが、オリンピックまでの期間は特にこの都市鉱山プロジェクトでメダル用にもリサイクルされるようです。

というわけで、まずは「お宝」の入ってそうな家の小型家電を探索です。半日奮闘した結果、携帯が5個と、デジカメ1個、ノートパソコンが4台見つかりました。しかし、ノートパソコンの中のデータが消去されていたか心配に・・・。「水につけたら壊れるんじゃない?」ということで・・。 続きを読む Tokyo2020 – 都市鉱山からつくる!みんなのメダル・プロジェクト

IBM Think – Blockchainの使い方が広がる

IBMのイベント Think 2018 にて様々な Blockchainのセッションに参加しましたが、仮想通貨だけでなく様々な分野に活用が広がっている事が分かりました。一番大きかったのは、トップのイメージのMaersk(マースク)社との国際貿易Blockchain。海運業者であるMaersk社とIBMで合弁会社を作り、世界中の貿易会社や港湾局をつないで、貿易の効率化を図るとのことです。

国際貿易はまだ、その20%は紙の手作業で取引を管理しているそうで、Blockchainを使うことでかなり効率化できると。確かに様々な国をまたがって取引を電子化しようと思っても、なかなかシステムを統一することは難しいと思われますが、そこでBlockchainを活用することで情報の共有化を実現するのは良いアイデアですね。

仮想通貨のビットコインの基盤テクノロジーとして有名になったBlockchainですが、こういった企業間の情報のやり取りの効率化や証跡の取得に活用することで今後さらに利用範囲が拡大しそうです。次に大きかった事例は以下の「Food Trust」。

上のような世界的な食料品会社が参加しているとのこと。その中で Walmart社の人が登壇して説明してくれましたが、食物が農家で作られてから、船などで運ばれ、Walmartなどの店頭に並び、各家庭のテーブルに乗るまで、どのような経路で届けられたか、これまで調べるのに一週間かかっていたものが数秒で分かるようになったそうです。

このようなシステムが普及すると、何かあっても原因の追究が即座にできるようになり、我々も安心して食材を口にすることができるようになりますね。

仮想通貨に近いですが、世界的な環境への取り組みとして紹介されたのは以下の「プラスチック・バンク」。世界的に問題になっている廃棄プラスチックを少しでも減らそうと、企業が出資して作られた仮想銀行です。最近廃棄プラスチックが海に流出しても完全に消えてなくならず、小さなマイクロプラスチックの粒になって魚に取り込まれることで、それを人間が食べるなど環境問題が深刻になっているため、この取り組みは重要ですね。

続きを読む IBM Think – Blockchainの使い方が広がる

IBM Think 2018 – イベントで見えた IBM Cloudの 方向性

IBM Thinkのイベント全体を通じて、IBM Cloudの一貫した方向性が感じられました。それは、企業向けのクラウド(Enterprise Cloud)として、Publicな通常のクラウドはもちろん、企業内のオンプレまでクラウド技術で統一し、全体のアーキテクチャーを考えていこうという流れです。クラウド技術とはいわゆるクラウド・ネイティブ・コンピューティングで、アプリをマイクロサービスで設計し、Docker等でコンテナ化して、Kubernetes等で展開・運用するものです。ご存知の通り、クラウドではこれにより疎結合で独立したアプリを作り、可搬性の高いパッケージとして保存し、容易にクラスターに展開したり、負荷が高くなるとオートスケールですぐにサーバーを増やすことができるようになります。

オンプレもクラウド・ネイティブ・コンピューティング

でもこれってクラウドのみでなく、企業内のオンプレのサーバーでも同じようなメリットを享受したいですよね。というわけで、クラウドで培われた以下の4つのオープンなテクノロジーなどを、オンプレでも活用できるようにする方向性です。

このことによって、クラウドとオンプレで別々のスキル育成をする必要も無くなりますし(最近はIT人材不足!)、クラウド・ネイティブで作っておいて、後からクラウドでもオンプレでも好きな方に展開できる利点もありますよね。クラウドが発展し、その優れたテクノロジー群が標準的になってきているので、確かにそれをオンプレでも使わない手はないと思います。

特にIBMは Kubernetes(外人は皆クーバーネティスと発音していた。略すとk8s)に力を入れてきており、オープンソースに人的にも貢献して、ほとんどのセッションでKubernetesの事について触れていました。IBMはコンテナをクラスターなどに展開するオーケストレーションを自動化するために、Kubernetesに賭けていますね。

クラウド・ネイティブな技術をオンプレでも使えるようにするIBM製品は「IBM Cloud Private (ICP)」ですが、上の日本語まとめ資料にもあるように、LinuxONEという、なんとメインフレーム(IBM Z)の上で動くLinuxの上や、IBMがサーバーを販売していない x86のIAサーバーもサポートすると発表されました。「どこでもクラウド」を徹底してますね。コンテナ化しておいて、とりあえず今あるサーバーでオンプレで動かしておいて、スケールアップが必要になったらクラウドに載せるとか、柔軟にできそうです。

また、上の資料にもあるように、クラウド上で提供する素のサーバーのベアメタルの上でもKubernetesが管理付きで使えるようになりました。企業ではまだまだ自分で基盤を制御できるベアメタルが人気なので、そこでKubernetes等で運用自動化できるとクラウドとも共通化できて便利ですね。

さらにこういったクラウド・ネイティブ化をサポートするために、Transformation Adviserにより、現在あるアプリをクラウドに持っていくにはどういった注意点があるかを教えてくれるツールも用意されました。これで持っていく時の難易度が分かりますね。また、従来のIBMソフトウェア製品である、WASやDb2、MQ、IIBなどもコンテナ化して提供される事になりました。これまたコンテナ化が徹底されています。

マイクロサービス

クラウド・ネイティブ・コンピューティングの潮流とともに、アプリをマイクロサービス化して構築しようという動きが大きくなってきていますが、このIBM Thinkイベントでもどのようにマイクロサービス化していくべきかといった議論が盛んでした。以下はその一つの例ですが、モノリシック(一枚岩)な大きな一塊のモジュールをコンテナ化したからといって、モダナイズとは言わないと。ちゃんとマイクロサービスで小分けしてお互いを疎結合にし、何度もデプロイできるよう自動化し、DevOpsで開発が回せるようにツールの流れも整備すること・・といったベスト・プラクティスが紹介されていました。

続きを読む IBM Think 2018 – イベントで見えた IBM Cloudの 方向性

IBM Think 2018 – AIはデータが鍵 – 目玉はWatson Studio

今回のIBM Think イベントに参加して明確になったのは、今後のITとビジネスの主戦場はAIとデータ分析であるということでした。もちろんこれまでもAIやデータの重要性は言われていましたが、Ginniの基調講演はもちろん個別セッションの数や熱気、そしてそこに参加する人の目の色が違いました。いわゆるDeveloperやData Scientist達から非常にSpecificな質問が繰り出されています。特にAIに関しては、IBM Watsonはもちろん、オープンソースのTensorFlowやCaffeといったものも適材適所で組み合わせて活用したり、高速な機械学習のためにGPUを使ったりするケースが増えてきており、後述の各ソリューションに関心が集まっていました。

全体的に同じ意見(by スピーカー&質問者)だったのは、あたり前ではありますが、AIにはデータが大事であること。上の資料にあるように、必要な量のデータが無ければAIにとってハシゴが無いのと同じ。あるセッションで「CxOの人は皆、AIがあれば何でも答えてくれると思っていて、データが必要ですと言っても取りあってくれない」と言ってそうだそうだと会場大ウケしていましたが、その様子からも世界共通なんだなぁと感じました。例えば以下のように、中心の機械学習(Machine Learning: ML)のコードに対して、周りでしなくてはいけないデータの管理や加工の方が面積は巨大で、機械学習なんて決まったエンジンを選んで学習させればよくて、問題はそこに突っ込むデータを作ったり、管理したり、機械学習で得られた結果のモデルを活用することだと語っていました。

ただ世界中の人が皆データが大事な事はわかっているんだけど、データをうまく管理できていない問題を抱えていることも分かりました。クラウドが増えているとはいえ、データの80%はまだ企業の中にあって有効に活用されていないと言われ、データを活用したいマーケティング部門やデジタル部門のデータ・サイエンティストがIT部門に依頼してもなかなかデータが出てこない・・・といった事象が話し合われていました。下図のように、パブリックなクラウドと、プライベートなクラウド、そして既存システムと企業のシステム構造が複雑になってきてデータが分散しているのも一因ではと思いました。

そこでIBMが出してきたのが、IBM Cloud Private (ICP) for DataIBM Watson Studio。クラウドとオンプレも含めデータ(ファイル、DB含め)をカタログ化し管理するICP for Dataと、そのデータをAIや分析エンジンを使って実際に分析の実装をする際に使うWatson Studioです。ICP for Dataの概要は、Thinkの日本人用共有セッションでまとめられていたように以下になります。

ICP for Dataのアーキテクチャは以下ですが、肝は下のEnterprise Data Catalog。パブリックなクラウドのデータも、オンプレのプライベート・クラウドも既存システムも、一元的にデータの場所を管理できます。そして分散されたファイルやDBのデータから、AIの学習などに必要なデータを適切に取り出し、成型することができます。

これらの話は、上の右下にいるIBM AnalyticsのGM、Rob Thomasさんが分かりやすく話してくれました。

ICP for Dataでデータを管理・成型し、AI Readyにしたら、次はそれらのデータを利用してAIに学習させます。そのAI構築のための、統合分析・開発環境が「Watson Studio」です。

続きを読む IBM Think 2018 – AIはデータが鍵 – 目玉はWatson Studio

IBM Think – 基調講演で分かるIBMの戦略

今年のIBM イベント「Think」の最初の基調講演が開催され、IBM CEOのGinni Romettiが何名かのゲストもお招きして、IBMの戦略について語りました。Ginni本人の話も、ゲストの話も最大のメッセージは、お客様のデータの所有者は明確にお客様であり、そのデータによって信頼を得た上でAIなどで価値をもたらす事が重要であるということでした。IBMはデータをお客様の許可なく持ち出すことはせず、お客様のデータによってお客様がビジネスを行うことに貢献すると力強く語りました。ちょうどこの週は一部のSNS企業のデータ流用問題がかなり問題になっており、特にこのポイントに関して聴衆の関心も高かったと思います。

最初にGinniから話があったのは、大きく25年の周期でテクノロジーとそれによるビジネスの変革があったという話です。メインフレーム系に加え、オープン系のサーバーやインターネットが登場し、今さらにAIでビジネスが変わろうとしている変局点にあると。また、かつてはムーアの法則で半導体が1年半おきに倍に進歩していったが、今はWatsonの法則とでも言うか、AIが急速に進化していく時代。しかし、限られた数社の企業だけが勝ち続けるわけではない。多くの企業がこれから逆に破壊者(Disrupter)側になることも可能たといったものでした。そのこれからの主役は、会場の皆さんで、そのような先進的な取り組みの事例を紹介しましょうと語り掛けました。

これらは、昨年(InterConnect@LV)のデータは民主化しないという話からもつながっています。最近は数社のネット企業がSNSなどで一般の人のデータを集め、そのデータを活用して自分たちのビジネスを増殖させ、既存の会社を駆逐しているような話がよく新聞を賑わしています。そういったDistrupterに駆逐されるのではなく、各企業が、80%あるとも言われているまだ使われていない自社の貴重なデータを、AIなどで活用することでそういったDistrupterに対抗できる。IBMはそれをお手伝いしたい。というのがメッセージだと感じました。

IBMの姿勢としてもう一つ提示されたのが、人とマシンの共生です。人VSマシンではなく「人&マシン」であると強調していました。アメリカではかなり、AIが人の職を奪うことが問題視されていますが、人がマシンを使うことでもっとよくなれるというメッセージです。そのためにIBMは、お客様に使っていただくプラットフォームを提供します。そのためにAppleとの協業(後述)などを進めているという話です。

最初の事例は上のアメリカの通信会社、ベライゾン社のCEO Lowellさんから話がありました。デジタル時代に備え、年間$18B投資しているとのこと。特に次世代携帯網の 5Gは重要で、アメリカ全土に新しい光ファイバーをひいているそうで、ワイヤレスも最低ギガビットになり、第四次産業革命だと熱く語られていました。

続きを読む IBM Think – 基調講演で分かるIBMの戦略

iPhone – Suicaの 使い方と チャージ – スイカ定期継続とEXにはご注意

日本では iPhone7から、SuicaをiPhoneのApple Payに登録して使えるようになりました。駅の改札で、スマホでピッとやって入るやつですね。これが便利なので以下に登録方法といくつか注意点をまとめました。まず、SuicaのApple Payへの登録方法とポイント。下のリンク先のJRサイトに分かりやすくまとめてありますが、要約すると以下になります。

➡︎Apple PayでのSuicaサービス

  • iPhone 7以降で手持ちのSuicaカードをカメラで読み取って登録 (トップのイメージ参照)
  • 新規はSuicaアプリから登録可能
  • 定期も使え、複数Suica (会社用と個人用とか)も登録可能
  • 登録すれば、1 Suicaだけ指紋認証等不要で使える
  • Android等でモバイルSuicaを使っていた場合は機種変更で移行
  • iPhoneのWalletでも、JRのSuicaアプリでもチャージ可能

このうちiPhoneの指紋認証 Touch ID を使わずにiPhoneがスリープ状態でタッチできるようにするのは、アップルペイの「エクスプレスカード」に設定することで可能になります。SuicaをiPhoneに設定後に定期を購入するには、Suicaアプリに会員登録し、Suica定期券のメニューからクレジットカードで購入することが可能です。定期の更新(継続購入)もできますが、一回定期の有効期限が切れると更新できませんので注意しましょう。また、通学用の定期は少し手間がかかります

ここからは私の Suica登録手順を紹介します。iPhone購入直後のセットアップ中に、以下のApple Payのセットアップ画面になるので「続ける」をタップ。

ちなみに、既にiPhoneをセットアップしている場合は、以下のWalletアイコンをタップし右上の⊕で追加します。

カードの種類でSuicaを選択し、SuicaID番号は、Suicaの裏側右下の番号のうち最後の4桁を入力して次へ。利用規約に同意し、トップのイメージのようにSuicaの上にiPhoneを置きます。

するとNFC type-F (FeliCa規格)でSuica情報を読み取って、上のイメージのように Apple Payにセットアップ完了!プラスチックのSuicaは破棄可能で、再チャージはできないとのこと。iPhone はそのままこのSuicaをエクスプレスカードに設定してくれました。(後でWalletで設定変更可能)

定期情報もApplePayに反映されていました。プラスチックカードを購入した時にJRに払った預かり金(デポジット) 500円も戻ってきました。「チケット購入・Suica管理」の「定期券」から次の定期開始日の2週間前から継続購入できます。

実は自分は実生活では、JRで Suica定期券を使い、ほとんどのコンビニや会社のカフェテリアなどの少額の支払いは Suicaを使う、Suicaのヘビーユーザーです(というほどでもないですが・・)。そんな私には、電車も買い物もみなこの iPhoneだけでスイスイ行けるようになって快適です!

さて次は、Apple Payに登録したSuicaへのチャージについてです。Apple Pay(Walletアプリ)やSuicaアプリに登録したカードであれば手動でチャージできますし、コンビニなどでは現金でもチャージ可能です。が、改札で残高が無くて焦る時もあるので、やはりSuicaの残高が減ったら自動的にお金をチャージしてくれる、オートチャージがあると便利ですよね。

Suicaにオートチャージできるクレジットカードは、基本的にJRのビューカードです。色々な種類があり、ビックカメラやJALなどと連携したカードもあるので自分がよく利用する機関から選べます。またそれ以外にも、ビューカードと提携したJR以外の会社が出しているカードもあります。それが以下の、iiマークがついたカードです。

➡︎ ii マークのついたカード

これらの中で私のカードは「スーパーICカード Suica – 三菱東京UFJーVISA」です。銀行のキャッシュカードと、クレジットカードと、Suica機能、の3つがついたカードで、年会費無料です。デビットカードとしても使えます。会費無料にも惹かれましたが、銀行のキャッシュカードも兼用なのでカードが一つ減るのが嬉しいですね。スーパーICカードなので、手掌静脈認証を付けることもできます。(静脈認証を使う場合は振込み上限額が200万円に)

クレジットカードのポイントは、1000円使うと1ポイントつきます。ポイントをSuicaにチャージでき、その際1ポイントは5円になるため、0.5%還元されると言えるでしょう(チャージ金額は1000円から)。海外旅行保険も付いていて、ETCカードも作れます。家族カードはありません。JRのエクスプレス予約サービスも使えます。銀行のMUFGダイレクトに登録すると、カードの利用明細なども見られます。(MUFGカード会社とは別なので注意)残念ながら三菱東京UFJ-VISAカードはまだApple Payに対応していないのですが、モバイルSuicaアプリにカードを登録してオートチャージすることが可能です。

iPhoneでSuicaを使うだけであれば、最初の方法でiPhoneにSuicaを読み込ませれば可能ですが、モバイルSuicaのアプリを導入することでより便利になります。iPhoneのAppStoreで検索するか、iPhoneの設定の「WalletとApple Pay」でSuicaを表示し、カードの中からSuicaを選んでタップし、以下のSuica定期券(かSuica)をタップして開いてSuicaアプリマーク右の「表示」をタップすると、モバイルSuicaが導入可能です。

入手してインストールしすると、以下のアイコンのアプリが追加されます。

アプリを開き下の「入金(チャージ)」をタップすると、以下の画面のようにいくつかボタンが表示されますので、Suicaアプリにクレジットカードを登録する「Suicaアプリ」をタップします。

そこで以下の画面から「会員登録」をタップしてください。iPhoneに既にSuicaがセットされていれば基本情報は既に入っていると思いますが、メールアドレスやパスワード、携帯電話番号などを登録します。

再度最初の画面から「入金」をタップし、「クレジットカードを登録」すると、カード番号と有効期限を入力し登録できます。オートチャージが可能なViewカード系は「オートチャージのご利用が可能」と表示されます。「登録する」で「オートチャージ設定」をタップし、「オートチャージ申込」で例えば残高が「3000」円以下であれば「5000」円入金するなどを入力します。最後に「申込/変更する」をタップすれば完了です。オートチャージは、JRの改札を入る時に青い改札でSuicaを使った時に設定よりも残高が少ないとチャージされます。今後は改札を出る時も可能になるそうです。

オートチャージでなくても、入金(チャージ)の「金額変更」をタップして金額設定して、上で設定したクレジットカードのボタンをタップすると、その場でチャージできます。

最後に、JRのエクスプレスのサービスについてです。
SuicaをiPhoneに追加したところで気をつけなくてはいけないのは、スマートEXやEXカードなど、JRのエクスプレス予約でSuicaのカードを利用していた人です。SuicaのカードをiPhone に取り込んだので、さあスマホで新幹線に乗るぞ!と改札でピッとやって入れる・・・と思ったら、入れません。私はまさに体験してしまいましたが、これはカードのSuicaからモバイルSuicaになってSuica番号が変わってしまったためです。エクスプレスに登録している番号を、変更する必要があります。

以下のように、スマートEXなどエクスプレスのホームページでお客様情報の変更に入り、認証のためのワンタイムパスワードをメール送信しその数字をインプットすることで、変更できます。

以下の画面のように表示されるため、SuicaのICカード番号を変更します。その際、最初のJRの会社名を表す二文字(私はJE)を選択する必要がありますので、ご注意ください。Suicaの番号は、モバイルSuicaのSuicaイメージをタップすると「詳細」の中にSuicaID番号があります。私のように新幹線の改札で?マークにならないように、変更しておきましょう!

ちなみに私はJRの「スマートEX」愛好者ですが、カードはビューカードでなくても会社のカードが使えるし、後からホームページで領収書も発行できるため、仕事でも安心して使えます。駅に向かいながら iPhoneで新幹線予約して、そのままスマホで乗れるようになりました。以前は改札で新幹線の紙のチケットとSuicaカードの両方を出さないといけなかったので、随分便利になりました!

 

IBM Cloud – Eclipseと連携して DevOps開発する方法

IBM Cloud (旧Bluemix) は、ブラウザ だけでも クラウド上で開発・稼動させることができます。が、やはり本格的に開発する時は、ローカルPCの Eclipse (IBMがオープンソースに寄贈した開発環境) でコーディング・テストしてからクラウドに上げたいですよね。ローカルPCとクラウドで、コマンドとか使わず開発(Dev)後すぐにサーバーで運用(Ops)できる DevOps 開発ができるということで、やってみました。

Eclipseのセットアップ

MergeDocプロジェクト (http://mergedoc.osdn.jp/)

まずは、上のサイトから Eclipseが含まれる統合パッケージのプレアデス(Pleiades)のダウンロードと導入です。ここでは 「Eclipse 4.7 Oxygen」 をクリックして導入しましょう。

64bit PCの場合は、「64 bit / Full Edition / Java」 の [Download]ボタン をクリックして、約1.5GBのZIPファイルをダウンロードします。ZIPを開き解凍してください (ExplorerでpleiadesディレクトリごとZIPファイル内から C: ドライブ直下にDrag&Dropなど)。2.5GB程度空き容量が必要です。
Macではダウンロードしてアプリケーションから「開く」を実行し、「Pleiades All in One」画面でEclipseアイコンをApplicationsフォルダーにDrag&Dropして下さい。導入されたらアプリケーションのEclipseアイコンを右クリックして「開く」を実行します。

pleiades/eclipse フォルダ下の eclipse.exe を実行すると、以下の画面が表示されます。(ワークスペースのディレクトリを聞かれたら、「../workspace」 のままで起動。pleiadesディレクトリの下のworkspaceにコードが置かれる)
まず、IBM Cloud環境を取り込むため、メニューの[ヘルプ][Eclipseマーケットプレース]をクリックしてください。

1.Eclipse_market

すると、以下のようなマーケットプレースの画面が表示されますので、上部の[検索]タブの[検索:]のところに「IBM Cloud (もしくはbluemix)」と入力し、検索してください。「IBM Eclipse Tools for Bluemix (for XX)」を選択し右の[インストール] ボタンをクリックします。チェックはそのままで[確認]ボタンをクリックし、次で [使用条件に同意] をチェックし [完了] をクリックすると、Bluemixへの接続環境完了です!

とりあえず、Eclipseのメニューの [ウィンドウ] [パースペクティブ] [パースペクティブを開く] [その他] で [Java EE] を選んで画面構成をJava EE用にしてください。

1.Eclipse_javaEE

IBM CloudのGIT環境との連携

次に、Bluemix上に構成されているDevOpsサービス(GIT)に接続し、クラウド上のプログラムをEclipseにコピーします。

まだの人は ⇒このリンク先 を見て IBM Cloud環境 をセットアップし、サンプル・アプリなど何らかのアプリを作成してください。ダッシュボードからその作成した「Cloud Foundry アプリ」を選択し、概要を開き、右下の「継続的デリバリ」の「ツールチェーンの表示」をクリックします。以下の画面で真ん中のソースコード・リポジトリである「GIT」をクリックしてください。

まず画面上方に濃いオレンジで表示されている「 create a personal access token」をクリックします。

このGITにアクセスを許可するためのTokenコードを生成する画面になりますので「IBMCloudTest」などのアプリ名と適当な期限を入力してアクセス用Tokenを生成してください。

以下がTokenが生成された時の画面です。これをコピーして、後でEclipseのパスワードに使います。

以下の画面に戻り真ん中の「HTTPS:」の右のURL(青い部分)を自分でコピーするか、その右にある「Copy URL to Clipboard」アイコンをクリックしてGIT用URLをコピーします。

Eclipseの [ファイル] メニューで [インポート] [Git] [Gitからプロジェクト] を選択し [次へ]。 [クローンURI] [次へ] で表示された [URI] に、上でコピーしたURLをペーストします。下の [ユーザー:] [パスワード:] は、IBM CloudのユーザーID (IBM ID) を入力して、パスワードには2つ上の画面で作成したAccess Tokenをコピーして[次へ]をクリック。

「既存プロジェクトのインポート」で[次へ] とすると、Eclipseに「nodejscloudantbp  (c:\…)」などと表示されますので[完了]でIBM Cloudで作成されたGITプロジェクトをローカルのEclipseにインポートが完了しました。

Eclipseへのインポートの確認

うまくローカルPCに IBM Cloudのコードがコピーできれば、以下のように左のプロジェクトのタブに Gitと同じBluemixサンプルのコードがコピーされています。例えば[views]下の[index.html]を右クリックして[次で開く] [Webブラウザー] を実行すると、以下のような、Web画面が表示されます。(Cloudantを含まないサンプルの場合は、このページのトップのイメージが表示)

Eclipseで左の [index.html] を右クリックし [次で開く] [HTMLエディター] をクリックすると、HTMLが編集可能なエディターが立ち上がります。以下のように、15行目の文字を変更して保管して(Ctrl+S 実行)みましょう。

  Favorites Organizer powered by Cloudant をEclipseで変更しました。

IBM CloudのGitへの同期

保管後、Eclipseのチーム開発機能を活用し、左のプロジェクトのタブでプロジェクト名(この例では「nodejscloudantbp」) を右クリックし、[チーム] [コミット]をクリックします。

Eclipse右下の[Gitステージング] のペインで以下のような表示になるので、[コミット・メッセージ] のところに変更内容のメモを記入し(Eclipseから変更・・など)、右下の作成者とコミッターのところにIBM Cloudのと同じメールID入力し、[コミットおよびプッシュ] ボタンをクリックしてください。ローカルのEclipse上でこのコードをコミットした上で、IBM Cloud上のGitリポジトリにプッシュされますので、プッシュ結果の確認が表示されたら [閉じる] をクリックしてください。

IBM CloudのツールチェーンからGitを立ち上げ、[views]フォルダーを開くと、次のように index.html にEclipseでの変更コメントが表示されているはずです!

また、そのindex.htmlをクリックしてソースコードを見ると、Eclipseでの変更部分が反映されているはずです。また、このようにプッシュした内容は、すぐにIBM Cloudのサーバーにもデプロイされます。

サーバーが未稼働であれば、IBM Cloudの画面のアプリの[接続] から [開始] アイコン  をクリックしてサーバーを開始させ、以下のように稼動したら [アプリURL…] をクリックして稼動しているサーバー・アプリのURLにアクセスします。

すると、アプリの画面のメッセージは以下のように更新されているはずです!

ソースコードのビルド(コンパイル等)やサーバーへのデプロイは、ツールチェーンの中の 「デリバリー・パイプライン (Delivery Pipeline)」 からクリック一つで実行することもできます。以下のBuild Stage (コンパイル等)の右にある実行アイコン bluemix2017-%e5%ae%9f%e8%a1%8c をクリックしビルドすると、自動的にDeploy Stageも実行され、サーバーにデプロイされます。以下はCloudサーバー上への展開が60%完了している段階です。

まさに、開発(Dev)したらすぐにサーバーで運用(Ops) できる、「DevOps」ですね!

次は、ローカルPC上でテスト・サーバーを動かして稼動させてみる方法です。

 

nikami.org – デジタル時代の自分デジタル化の軌跡