- ibmpublic.dhe.ibm.com/software/dw/jp/bluemix_guide/bluemix_guide_overview.pdf · ibm containers...
TRANSCRIPT
IBM Bluemixwww.bluemix.net
IBM Bluemix利⽤ガイド〜Bluemixの概要〜
2016年12⽉版
© 2016 IBM Corporation2
IBM Bluemixwww.bluemix.net
ご注意
この資料は⽇本アイ・ビー・エム株式会社および⽇本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式なレビューを受けておりません。資料の内容には正確を期するよう注意しておりますが、この資料の内容は2016年12⽉現在の情報であり、製品の新しいリリース、修正などによって動作/仕様が変わる可能性があります。当資料は、資料内で説明されている製品の仕様を保証するものではありません。従って、この情報の利⽤またはこれらの技法の実施はひとえに使⽤者の責任において為されるものであり、資料の内容によって受けたいかなる被害に関しても⼀切の補償をするものではありません。また、IBM、IBMロゴおよびibm.comは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについてはhttp://www.ibm.com/legal/copytrade.shtmlをご覧ください。
© 2016 IBM Corporation3
IBM Bluemixwww.bluemix.net
Bluemix 概要
© 2016 IBM Corporation4
IBM Bluemixwww.bluemix.net
qIBMが提供するクラウド・ソリューション¦クラウド・アプリケーション開発・稼働のためのPlatform as a Service
(PaaS)環境として2014年6⽉からサービス提供開始n ランタイム を選んで、アプリケーション を開発n 必要に応じサービスを選び、機能を拡張
¦2016年10⽉下旬よりSoftLayerと融合し、より柔軟なインフラの提供ができるようにサービスを拡張n クラウド・ネイティブなアプリケーションだけでなく、オンプレミスで稼働
していた基幹系システムもBluemixでの稼働の対象にできるようになった
q開発者がすぐにアイデアをかたちにできる環境¦最新のテクノロジーをすぐに試せる環境として、
そして本番に向けて速やかにアプリ開発を⾏うための基盤として利⽤することができる
Bluemixとは
© 2016 IBM Corporation5
IBM Bluemixwww.bluemix.net
Bluemixの構成q2016年10⽉下旬より、BluemixはSoftLayerとサービスを融合
¦Bluemix InfrastructureとしてSoftLayerの各サービスが利⽤可能
BluemixSoftLayer
IaaS PaaS ~ SaaS
Storages (Object, CDN, etc..)
Bare Metal Virtual
Network (LB, VPN, Firewall, etc…)
© 2016 IBM Corporation6
IBM Bluemixwww.bluemix.net
Bluemixは“コンポーザブル”な環境q 組⽴て型(Composable Service)
¦ 必要な機能を独⾃にすべて開発するのではなく、基盤や外部システムが提供するサービスを⾃由に追加・削除できる形式
¦ コアとなるアプリの機能開発に注⼒でき, 段階的な機能開発がしやすい点がポイント
Internet of Things
モバイル
アプリ実⾏環境
データベース
コグニティブコンピューティング
必要に応じてサービスを追加・削除
アナリティクス
セキュリティー
© 2016 IBM Corporation7
IBM Bluemixwww.bluemix.net
組み⽴て型のアプローチで柔軟に基盤を構成q IBM製品からデファクト・スタンダードなOSS製品など, 100種類を越える
様々なサービスが提供されており、迅速かつ柔軟に基盤を構成できるのが特徴実⾏環境(⾔語)を選択 アプリが必要とするサービス(=機能)を選択
IBM提供
コミュニティー提供
11カテゴリーから選択・データおよび分析・Wason・モノのインターネット・API・ネットワーク・ストレージ・セキュリティー・DevOps・アプリケーション・サービス・統合・モバイル
アプリに合わせて⾃由に構成
,
© 2016 IBM Corporation8
IBM Bluemixwww.bluemix.net
Bluemix上で何が使えるか? :カタログqBluemixが提供するサービスの⼀覧が表⽰できる ※2016年10⽉31⽇時点
提供サービス名および説明 提供元, 区分
p 計算(Compute) : 5種類p ストレージ (Storage) : 11種類p ネットワーク : 10種類p セキュリティー : 4種類
p ボイラープレート : 16種類p Cloud Foundryランタイム : 10種類p IBM Containers : 5種類p OpenWhisk : 1種類p モバイル : 9種類p サービス : 103種類
p 提供元・IBM・3rd Party・コミュニティー
p 区分・(無印) - Production・ベータ - Beta・試験的 - Experimental
© 2016 IBM Corporation9
IBM Bluemixwww.bluemix.net
Bluemixが提供するアプリ実⾏環境の種類q以下の4種類から選択可能
¦ Virtual MachinesはDeprecated, 今後はBluemix Infrastructureへ
1. Cloud Foundry 2. IBM Containers (Docker)
3. OpenWhisk 4. Virtual Machines
ü 制御されたコンテナーü Bluemixの標準ü 様々なサービスと容易に連携ü ⾔語の単位で提供され、利⽤
ü 可搬性のあるコンテナーü CFと同様にサービスと連携ü MWの単位で提供され、利⽤
WLP MFPF・・・
・・・
ü 仮想マシンü OSの単位で意識し、利⽤ü Deprecated
Ubuntu RHEL SLES
ü イベント駆動型ü 事前にアクションとして処理を定義ü 計算リソースは実⾏時に確保
Action
Node.js
Action
Swift
Action
Docker
© 2016 IBM Corporation10
IBM Bluemixwww.bluemix.net
Bluemixの利⽤ (Cloud Foundry)
© 2016 IBM Corporation11
IBM Bluemixwww.bluemix.net
Bluemix(Cloud Foundry)のキホン:⽤語説明
コンテナー
アプリ
ランタイムJava, Node.js, Ruby, PHP, Python, Go等アプリの開発⾔語に合わせた実⾏環境「コンテナー」単位で環境を提供
アプリケーション開発者が実際に開発し、アップロードするコード
サービスアプリケーションが必要とする機能を提供するいつでも好きなタイミングで作成・削除可能ランタイムとの組み合わせ可否に要注意
バインド
バインドランタイムからサービスに接続することランタイム上の環境変数(VCAP_SERVICES)に接続情報が提供されるようになるプッシュ
サービス作成
プッシュ作成したアプリケーションのランタイムを要求・⽣成する操作
アプリ開発者
© 2016 IBM Corporation12
IBM Bluemixwww.bluemix.net
基本的な利⽤の流れ – 全体
ランタイムの作成1 開発⾔語に対し、適切なランタイムを選択し、アプリの稼働環境を構成。指定した個数のインスタンスが稼働
サービスの作成・設定2 必要とするサービスを⽤意、必要な設定を実施
サービスのバインド3 サービスのインスタンスをアプリケーションにバインドインスタンスの情報を稼働環境に取り込む
アプリの開発・プッシュ4 必要とするサービスを⽤意、必要な設定を実施
モニタリング, 運⽤5 各インスタンスのリソース使⽤状況の表⽰
© 2016 IBM Corporation13
IBM Bluemixwww.bluemix.net
⾔語環境:ランタイム(アプリケーション実⾏環境)
q Polyglot(多⾔語)環境¦ ビルドパックという仕組みで、JavaやPHPなど、開発者が必要とする⾔語の実⾏
環境を速やかに提供¦ アプリへはパブリック・ネットワークからアクセス可能な経路を通して実施
© 2016 IBM Corporation14
IBM Bluemixwww.bluemix.net
利⽤可能な機能:サービス(1/2)qアプリに容易にバインドできる多様な機能コンポーネント
¦IBM製だけではなくサードパーティ製のサービスも数多く提供されている
© 2016 IBM Corporation15
IBM Bluemixwww.bluemix.net
利⽤可能な機能:サービス(2/2)qボイラープレート
¦ ランタイムとサービスの典型的な組合せ
q計算¦ アプリケーションの実⾏環境
qネットワーク¦ CDNやVPNを提供
qストレージ¦ ファイル保管のためのオブジェクト/ブロック
ストレージ
qデータ&分析¦ RDBやNoSQLのデータベースおよび分析
のためのウェアハウスの提供
qWatson¦ ⾃然⾔語処理や画像分析機能を提供
qモノのインターネット¦ デバイス・データの収集のための機能を提供
❏API¦ APIの作成・公開・管理機能を提供
qDevOps¦ アプリのビルドやテストの⾃動化のための機能
を提供
qセキュリティー¦ シングルサインオンや脆弱性調査のための機能
を提供
qアプリケーション・サービス¦ Webアプリに組み込むメッセージ・キューや
キャッシュなどの機能を提供qモバイル
¦ Push通知やモバイルに対する認証機能などを提供
q統合¦ Bluemix外部とのセキュアな連携
© 2016 IBM Corporation16
IBM Bluemixwww.bluemix.net
テンプレートの提供:ボイラープレートqランタイムとサービスの典型的な組合せq⼀括で即時に環境を利⽤できる
© 2016 IBM Corporation17
IBM Bluemixwww.bluemix.net
Bluemixの利⽤ (IBM Containers)
© 2016 IBM Corporation18
IBM Bluemixwww.bluemix.net
IBM Containers on BluemixqBluemix環境でDockerコンテナーの実⾏環境を提供するサービス
1. CFアプリケーションと同じくランタイムとして“持たずに使える”Docker環境を提供¦ ホストの準備や運⽤管理を⾏う必要なく、速やかにDockerを利⽤できる
2. アプリケーション実⾏環境の“可搬性(ポータビリティー)”を保証¦ Docker環境間でイメージを共有することで実現可能
3. 組織内でDockerイメージを共有するためのプライベートなDockerレジストリーを提供¦ 脆弱性アドバイザー(Vulnerability Advisor)によるイメージのスキャン機能も提供
ローカル環境 Bluemix環境
プライベートリポジトリー
ContainersServices
IBM ContainersExtension
Docker実⾏環境
© 2016 IBM Corporation19
IBM Bluemixwww.bluemix.net
IBM Containers on Bluemixの利点利点1. CFランタイムよりも柔軟なアプリケーション実⾏環境を提供
¦ アプリケーション固有の環境をDockerizeすることで、よりユーザーが使いやすいアプリケーション実⾏環境をBluemix上に⽤意することが可能です
n 但し、CFランタイムのような堅牢性はDockerizeする際に考慮・実装する必要がある¦ CFアプリケーションと同様、Bluemixの各種サービスをバインドして利⽤できます
利点2. 脆弱性アドバイザーの提供¦ Dockerイメージに対するセキュリティー上の脆弱性をBluemix上でスキャンできる機能です¦ 既知の脆弱性問題に対応していないイメージを利⽤してしまうなどの危険性を事前に回避す
るのに役⽴ちます
利点3. “持たず使えるDocker環境”の提供¦ IBM Bluemix DevOps Servicesのデリバリー・パイプラインを利⽤することで、Dockerを
意識することなく、CFアプリケーションと同様にアプリの開発に専念することが可能です¦ 最終的に完成したアプリケーションをDockerizeしたイメージを別環境に移植すればよいの
で、開発環境⽤のDocker環境を⾃前で持つ必要はなくなります
© 2016 IBM Corporation20
IBM Bluemixwww.bluemix.net
【参考】CFアプリケーション vs. Dockerコンテナー⽐較項⽬ CFアプリケーション Dockerコンテナー
ラインナップ ・開発⾔語主体で⽤意(java, php, ruby, ・・・)
・ミドルウェア主体で⽤意(tomcat, nginx, mysql, ・・・)
実⾏環境(OS)・Stackで指定できるもののみ【選択肢】・lucid64 (Ubuntu 10.04)・cflinuxfs2 (Ubuntu 14.04.2)
・ベースとするコンテナーに依存【選択肢】・Ubuntu・CentOSなど
プロセスの実⾏ vcap (⼀般ユーザー) root (デフォルト)
セキュリティー ⾼・root昇格不可
低〜⾼・root昇格は容易なので設定によりカバー
コンテナーの開発単位 ・ビルドパック(Buildpack) ・Dockerイメージ
開発物の公開先 ・GitHub ・DockerHub
コンテナーの新規開発
難(Buildpackの開発に慣れが必要) 易〜難(要件に依存)
コンテナーのカスタマイズ
難(Buildpackの開発に慣れが必要) 易〜難(要件に依存)
CFサービスの利⽤ ○ ○(接続のための前提条件はイメージ作成時に満たす必要あり)
© 2016 IBM Corporation21
IBM Bluemixwww.bluemix.net
Bluemixの利⽤ (OpenWhisk)
© 2016 IBM Corporation22
IBM Bluemixwww.bluemix.net
新しいランタイム: IBM OpenWhisk(1/2)q イベント駆動型の新しいBluemixのランタイム
¦ 「何らか」のイベントが発⽣した際に、事前に登録したアクションを実施¦ 変更の検知など、従来であれば開発に⼿間がかかる仕組み作りやその運⽤管理からの解放に期待¦ 開発⾔語はSwift, Python, Node.js, あるいはDockerで任意の⾔語での対応も可能
トリガー(Trigger)イベントの発⽣をハンドリング アクション(Action)
イベントに応じて実⾏される処理ルール(Rule)トリガーとアクションの紐付け
チェイン(Chain)アクション同⼠をつなぐ
インボーク(Invoke)外部サービスを呼び出す
操作インターフェースイベントの登録やテスト実⾏を制御
© 2016 IBM Corporation23
IBM Bluemixwww.bluemix.net
新しいランタイム: IBM OpenWhisk(2/2)
④ 実⾏し、結果を確認③ チェイン, トリガーを定義し、
② 提供されるアクションを選んで
qコンソール画⾯から容易に処理を記述することが可能
CLIでも設定可能
① アクションを新規に作成したり、
© 2016 IBM Corporation24
IBM Bluemixwww.bluemix.net
Bluemixの強み
© 2016 IBM Corporation25
IBM Bluemixwww.bluemix.net
Bluemixの6つの強み
お客様要件に合わせた提供形態
Bluemixでは、セキュリティや利⽤条件の異なる3つの提供モデルを選択可能です。
スピーディーな開発
100を超えるサービスをBluemix上でご提供しており、選択するだけですぐに利⽤可能です。
外部リソースとの容易な連携
Connectソリューションを活⽤することで、レガシー資産をそのまま利⽤することが可能です。
最新のテクノロジー
Bluemixでは、Cognitive,Block chain、IoTといった最新の技術を利⽤可能です。
オープンテクノロジーBluemixはCloud FoundryベースのPaaSであり、さまざまなオープンテクノロジーをサポートしています。
DevOps: Continuous DeliveryBluemixは実⾏基盤・開発基盤を同時に提供しているだけでなく、継続的デリバリー/インテグレーションを実現するためのツールを提供いたします。
デジタルイノベーション
ハイブリットクラウド
q IBM Bluemixは、企業ユーザーのPaaSへの要求のすべてを⾼品質で満たしており、お客様のご要望に最適なソリューションをご提供いたします。
© 2016 IBM Corporation26
IBM Bluemixwww.bluemix.net
スピーディーな開発qBluemix上で計算とサービスをバインドすることでアプリケー
ション稼働環境を数分でセットアップすることが可能となります。
Bluemixのアプリケーション稼働環境
計算
コンテナー
ランタイム(Cloud Foundry)
サービス
CloudantNoSQL DB
SDK for Node.js
ibmliberty
dashDB
API Connect
ObjectStorage
バインド
環境変数
環境変数
計算
サ
ビス
バインド
Ø アプリケーション・プログラムの稼働環境Ø ランタイム(Cloud Foundry)とコンテナー、
OpenWhiskの3種類が提供される
Ø DB等プログラムが利⽤するコンポーネント
Ø 計算とサービスを結びつけることØ サービスへのアクセス情報が環境変数に
⾃動的に設定されるØ 疎結合でありいつでもバインドしなおす
ことが可能
© 2016 IBM Corporation27
IBM Bluemixwww.bluemix.net
最新のテクノロジーq IBM、強⼒なパートナーシップ、オープンテクノロジーを含む130種類以上のサービス
を提供q 従来のソフトウェアのクラウド対応から、開発・評価環境としての利⽤。q IoT、コグニティブなど最新テクノロジーを利⽤したアプリなど幅広くサポート可能q SoR領域で利⽤いただいたDB2やWASなどのIBMのオンプレミス製品のCloud版も利⽤
可能
Watson IoT
Blockchain
IntegrationMobile
IBM コミュニティサード・パーティー
Twilio
boxTwitter
apple
© 2016 IBM Corporation28
IBM Bluemixwww.bluemix.net
DevOps: Continuous DeliveryqDevOpsに必要なサービスを1つのプラットフォームでまとめて提供
すべてが⼀箇所に
従来の⽅法では必要なサービスを個別に構築・運⽤していたため多くのコストがかかっていました。Bluemixではベストプラクティスとして確⽴されたサービスを1つのプラットフォーム上で提供します。
サービスを数珠つなぎに
”コードのコミット、ビルド、テスト、デプロイ”これら個別のサービスを集合体(Toolchain)として管理することで、⼀連の流れを⾃動化し処理をスムーズに実⾏することが可能です。
1クリックで始められる
個別構築からはもう卒業。シンプルな最⼩構成からエンタープライズレベルまで豊富なテンプレートを使って瞬時に環境構築が⾏えます。もちろんあとからサービスを追加削除することも可能です。
© 2016 IBM Corporation29
IBM Bluemixwww.bluemix.net
DevOps: Continuous Delivery - 提供機能
qDevOpsに必要なサービスを1つのプラットフォームでまとめて提供
q THINK¦ チケット管理
q CODE¦ コードバージョン管理¦ Web IDE(ブラウザ上でコード編集)
q DELIVER¦ ⾃動ビルド¦ ⾃動テスト(静的テスト・画⾯テスト)¦ ⾃動デプロイ(無停⽌デプロイも可)
q RUN¦ Bluemix Runtime
q MANAGE¦ 死活監視¦ モニタリング
q CULTURE¦ コミュニケーション
※サービスは順次拡⼤中
© 2016 IBM Corporation30
IBM Bluemixwww.bluemix.net
お客様要件に合わせた提供形態q 3つの提供形態で、お客様の要件に応じた最適な環境を選択可能
パブリック・クラウド(SoftLayer)上 オンプレミス(お客様DC)
共有 専有 オンプレミスIBM Bluemix (Public)
・マルチテナントの経済性を活⽤し、費⽤を抑えてアプリを開発したい
・思い⽴ったときにすぐに始められる迅速性を活かしたい
・いろいろなサービスを試してみたい
・規制遵守やコンプライアンス対応の観点から、SoftLayerの国内のDCでかつ占有環境を確保し、使⽤したい
・物理的に社内環境での運⽤を必要としている
・オンプレミスの資産を有効活⽤したい
IBM Bluemix Dedicated IBM Bluemix Local
© 2016 IBM Corporation31
IBM Bluemixwww.bluemix.net
オープンテクノロジーq BluemixではIBMが近年積極的に採⽤を進めている様々なオープンテクノロジーが利⽤
可能です。¦ プラットフォーム・実⾏環境: Cloud Foundry 準拠のアプリケーション稼働環境¦ プログラミング⾔語: OSSを積極的に採⽤ (Node.js, Go, PHP, Python, Ruby)¦ サービス: Cloud Foundry準拠, OSSを積極的に採⽤
n (Apache Apark, Apache Hadoop, MongoDB, PostgreSQL, Redis, Memcached)¦ コンテナー (IBM Containers): Dockerコンテナ互換のアプリケーション稼働環境¦ サーバーレス(OpenWhisk):⾮同期・イベント駆動型アプリケーション稼働環境, オープンソースとし
て公開・提供
Bluemix
ランタイム コンテナー サーバーレス
アプリケーション稼働環境
サー
ビス
ブローカー
サービス
プログラミング⾔語
© 2016 IBM Corporation32
IBM Bluemixwww.bluemix.net
外部リソースとの容易な連携q外部リソースと連携し、容易にハイブリッド化するためのサービスが複数提供
¦ Bluemix Infrastructure (SoftLayer)の活⽤も考えられるが、2016年10⽉時点での代表的な連携/API化のためのサービスは以下の4つ
分類 サービス サービスの概要
統合 SecureGateway
Bluemix上のアプリから他クラウド, オンプレミス上の外部リソースへ安全に通信するために、セキュアな通信路を確⽴するためのサービスWebsocketベースで、汎⽤的に外部リソースと連携できる点がポイント
NW(*1) VPN IBM Containersのコンテナー・ネットワークとオンプレミス/他クラウド間を
IPSec VPNで拠点間接続するための3rd Partyサービス
App(*2) Statica
Bluemix上のアプリから他クラウド, オンプレミス上の外部リソースに通信するためのフォワード・プロキシーを提供するためのサービスHTTP/HTTPS通信のためのHTTP, それ以外のSOCKSエンドポイントを提供
API API Connect 既存のアプリやクラウド・サービスからシンプルな⼿順で半⾃動的にAPIを作成・公開するためのサービス
(*1) ネットワーク・サービス(*2) アプリケーション・サービス
© 2016 IBM Corporation33
IBM Bluemixwww.bluemix.net