タグ別アーカイブ: #ibmaot

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での設計経験が生かせる方式でもあります。

 

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カードの両方を出さないといけなかったので、随分便利になりました!

 

Watson – 無料 で使える APIの 使い方

IBMの AI、ワトソンが無料で使えるようになったと新聞にあったので使ってみました。実際、一定の容量までは本当に無料で使えました。IBMのWatsonは、IBM Cloudの上でAPIという形で使えるので、用意するのはWebブラウザだけで大丈夫です。まだの人はまず、以下で IBM Cloudに登録してください。

➡IBM Cloud – 無料で クラウドにサーバーを立ち上げる方法

IBM Cloudにログインし、IBM Cloudで上のメニューのカタログをクリックすると、以下のようなWatsonメニューが表示されます。無料のライト・アカウントだと以下の APIが利用可能です。

このように ワトソンは様々なAPIが提供されています。Conversationは自然言語による応答をチャットボットで作るためのWatson APIで、一から学習させるタイプです。最初は知識の無いまっさらな状態です(NLCも)。一方で音声認識の Speech to Text, Text to Speech, 翻訳機能のLanguage Translator, 最適解を探し出すディスカバリー は最初からすぐにある程度の事ができ、さらに自分で賢くできるエンジンになります(VRも)。性格判断のPersonality Insigths,と自然言語から感情を判断するTone Analyzerは、最初から教育が完了しているエンジンで自分で教育する必要はありません。

事前言語解析のNLC (Natural Language Classifier)と画像認識のVR (Visual Recognition) は有料アカウントのみ利用可能となります。

ちなみに無料のライト・アカウントでなく、通常の有料のWatsonを使った場合には、VRでは画像一枚あたり0.21円とかになります。1000回画像認識しても、210円なので高くはないですよね!

上のカタログ画面の中から「Conversation」を選んでチャットボットを作ってみましょう。以下の画面に表示されるように、Conversasionは月1万 API呼び出しまで無料です。また、5つのWorkspace(作業領域)で25のIntent(意図)、25のEntity(対象)までが無料です。下の「作成」をクリックして自分で作ってみましょう。

以下の「Launch Tool」ボタンをクリックし、再びIDでログインしてから「Create」ボタンをクリックしてください。自分のWatson Conversationの作業領域が作られます。

続きを読む Watson – 無料 で使える APIの 使い方

Watson Chatbot – JALのマカナちゃんが成長

JALさんのハワイのガイドをしてくれるチャットボット、マカナちゃんが12/5に一歳の誕生日を迎えさらに成長しました。JALさんのマカナちゃんのホームページをアクセスしてみると、上のようなトップ画面が出てきます。しっかり「With Watson」と書いてありますね!

次に上の画面が出てきます。これは以前からありますがSNSとの連携機能。私は自分のFacebookでログインしてみたところ以下の結果になりました。私は「シャカシャカ」タイプ。そのタイプに合わせて(全9タイプ)、マカナちゃんの背景画像が変身しす。

「診断結果を見る」というのは以前は無かったですね。クリックしてみると以下の診断詳細が出ました。

私はロマンティストでチャレンジャーって事ですね。それは当たってるかも!でも、リーダーシップが超低いのが気になる・・・。

気を取り直して、マカナちゃんと会話を始めてみると、以下のように何がしたいか選べるように綺麗な写真が出てきます。

マカナちゃんは Watsonを活用した チャットボットなので、もちろん文字で会話もできますが、よく聞かれる事はこうやって選択にした方が確実ですね。フォトジェニックなところを選んでいくと、以下のようなレストランをリコメンドしてくれました。ここは景色が良くて、インスタ映えする写真が撮れそう!行ってみたくなりました。

続きを読む Watson Chatbot – JALのマカナちゃんが成長

IBM Cloud – 無料で クラウドにサーバーを立ち上げる方法

IBM Cloudが無料でサーバーを立ち上げることができるようになったということで、どこまでできるか以下の 使い方で試してみました。無料で使えるのは「IBM Cloudライト・アカウント」で以下から作れます。

➠IBM Cloudライト・アカウント

IBM Cloudは従来のBluemixが生まれ変わったクラウド・サービスで、ライトアカウントは一定量以下であればカード無しで無料で使えるユーザーです。上の画面の赤字のような、10日間変更しないとサーバーを停止されるなどの制約がありますが、それなりに使えそうなのでやってみましょう。真ん中の「ライト・アカウントを今すぐ登録」をクリックすると一番上の画面になるので、ユーザーIDを入力します。

これまでにBluemixで使ったIDは登録できないので、他のEメールIDを入力。すると名前等が入力可能になるので入力します。ちなみに以前のBluemixのIDは削除しなくても IBMクラウドで使い続けられますし、アプリのサーバーを起動していなければ課金されないはずです。

登録しようとすると、写真が出てきて車などが表示されている部分をクリックせよと表示されますので、表示されている部分を全てクリックします。

しばらくすると登録したEメールに確認メールが届くので、Confirm Accountボタンをクリックしたら登録完了。やはりクレジット・カード登録も不要で簡単ですね。

IBM Cloudのサーバーの立ち上げ方

IBM Cloudにログインすると、最初に表示されるのは上のようなダッシュボード。組織について注意書きが表示されるかもしれませんが、とりあえず上のメニューの「カタログ」をクリック。多彩なサービスが表示されますが、プラットフォーム下の「ボイラープレート(ひな形)」にある「Node.js Cloudant DB Web Starter」をクリックします。これでJavaScriptの実行サーバーとデータベースが立ち上がります。

以下のようにアプリの作成画面に入力してください。アプリ名は重複しない英字であればどんな名前でもOKなので、以下とは別の名前を入力します。これがクラウドのホスト名(URL)になります。「デプロイする地域」は無料のためには必ず「米国南部」を選択してください(以下の青枠)。

続きを読む IBM Cloud – 無料で クラウドにサーバーを立ち上げる方法

Open Source – IBMの オープンソース@IBM イベント

トップの写真は今週開催されたIBM社内のオープンソース・イベント、OpenSource@IBM の終了後に主要な人を集めて開催された、ラウンドテーブルです。Global IBMに新しいデジタル・ビジネスの事業部ができ、その中のOpen Source専用推進部隊が日本に来てくれました。

以下の図にあるように、IBMは実はLinux以来様々なオープンソースに力を入れて来ており、ハードウェアやソフトウェアの製品及びクラウドで活用してきています。

それはそれなりに知られているところではありますが、今回改めて詳しく話を聞いて、単にオープンソースを活用しているだけでなく、かなりオープンソースのコミュニティに貢献もしていることを認識しました。かなりの数のコミュニティでコミッター等としてIBMerが活躍しているのですね。

私の同期Zが、このブログでも使っているWordPressの主要メンバーであることもこのラウンドテーブルで知ってびっくりしましたが・・。

現在の IBM Cloud を中心とする全体のアーキテクチャーの中でも、以下のように様々なオープンソースが使われ中核となっています。

このようにIBMもGlobal全体で オープンソースに本格的に力を入れていますが、今後 クラウドを中心としてこれらのソフトウェアが重要になってくるのは間違い無いですね。

IBMは特に、これら オープンソースやDeveloperにフォーカスしたブログ・サイトである、”IBM Code” を立ち上げています。今どの オープンソースに力を入れているか良く分かりますので、以下も参考にしてください。

➡︎IBM Code (Open Source系IBM Blog)

 

IBM Cloudとは – Bluemixとの関係

IBMのクラウドは、IBM Cloudという名称に変わりました。これまでは Bluemixと呼ばれていましたが、IaaSである旧Softlayerの Bluemix Infrastructureと、PaaSである Bluemixの両方を合わせて11/1から IBM Cloudという名称に統一されました (ロゴのCloudは太字で、フォントはIBM独自のIBM Plex Sans)。

➡︎IBM Cloudのサイト

他のCloudを見ても特にIaaSとPaaSは別の名称になっていないので、IBMも合わせたという感じですね。元々IBMはSoftlayer社を買収したためIaaSとPaaSが分かれていましたが、中身的にも統合されるようです。IBM Cloudとは、Bluemixの後継であり、Bluemix時代に分かれていたIaaSとPaaSを統合したものと言って良いでしょう。

これまでも既にBluemixの画面からIaaSも選択できましたし、ユーザーIDなども統合されてきましたが、今後はさらに一体感を持って使えるようになりそうです。また「ビジネスに最適なクラウド」を売りにするようになりましたね。
ロゴも以下に変わっています。

続きを読む IBM Cloudとは – Bluemixとの関係

Blockchain – 自分で Hyperledgerのブロックチェーンを簡単に立ち上げる方法

ブロックチェーンは難しそうだし、自分で立ち上げてみるなんて無理・・と思っていましたが意外と簡単にできました。Hyperledger Fabric v1.0 をBluemix上で無料で立ち上げてみた手順が以下です。(⇒参照URL)

Gitコマンドが使える環境では、以下のコマンドでCloneを取得することが可能です。(Macなど)

>git clone https://github.com/IBM-Blockchain/ibm-container-service

Windows等の場合は、まず以下のURLでGitにある、オープンソースのHyperledger Fabric v1.0 をベースにしている IBM Blockchain Platformを確認します。右の緑のボタンを押して「Open in Desktop」でDesktopアプリをダウンロードします。

https://github.com/IBM-Blockchain/ibm-container-service

GitHubDesktopSetup.exe (GitDesktopアプリ)を実行し、Create your free accountで新しいGitHubユーザーIDを取得するか、既存の登録IDでログインします。次に「Clone a repository」をクリックし、URLタブに先ほどの以下のURLをインプットして「Clone」します。

https://github.com/IBM-Blockchain/ibm-container-service

続きを読む Blockchain – 自分で Hyperledgerのブロックチェーンを簡単に立ち上げる方法

Kubernetes – コンテナ管理ツールのクバーネテスで、クラウドにクラスタを構成して分かったこと

Dockerなどコンテナ管理ツールの Kubernetes 。クラウドにコンテナからクラスタを構成するには、もう必須のツールですね。元々はGoogle社が自分のクラウド環境を管理するために使っていたものがオープンソース化されたもので、Dockerなどコンテナをクラスタ化して構成するのが得意な管理ツールです。IBM Bluemixでも全面的に採用されたため、Hyperledger (Blockchain)のクラスタを構成するために以下のようにWindows環境セットアップして使ってみました。(⇒参照URL)

コンテナ環境のセットアップ

まずは Kubernetes のコマンドラインツール (kubectl)のインストール。以下からWindows版をダウンロードして導入しました。

https://kubernetes.io/docs/tasks/kubectl/install/
⇒Windows用 v1.7 はこちらからダウンロード
(Macは一番下を参照)

次に、Bluemix用のコマンドラインツール (CLI)も以下からWindows版をダウンロード。Bluemix_CLI_….exe を実行して、LicenseをAgreeしてInstallしてください。Windowsをリブートするとコマンドが使えるようになります。

http://clis.ng.bluemix.net/ui/home.html

Bluemixのコマンドラインは、Cloud Foundry (cf) コマンド・ベースですが、cfコマンドではなく以下のBluemixコマンドでコマンドプロンプトから実行してください。(Bluemixコマンドは、以下のように bx と略しても可)
また既にBluemixのリポジトリ登録が実行されいる場合は “already registered” などのメッセージが表示されますが気にせず次に進めて大丈夫です。

>bx plugin repo-add bluemix https://plugins.ng.bluemix.net

次に以下のコマンドで、Bluemixのコンテナ・サービスのプラグインをインストールします。ファイルがローカルにダウンロードされ、導入されます。

>bx plugin install container-service -r bluemix

Bluemixへのログインと初期設定

Bluemixにログインします。まずは作成対象となるクラウド(APIエンドポイント)を指定するため以下のコマンドを実行します。(以下のngは米国南部で、英国を使う場合はeu-gb) 続きを読む Kubernetes – コンテナ管理ツールのクバーネテスで、クラウドにクラスタを構成して分かったこと