クラウドネイティブ時代の
新しいシステム開発
「今すぐ役⽴つクラウド活⽤術」
トピック別オンデマンド・シリーズ
講演者紹介
⽇本アイ・ビー・エム株式会社
シニア・アーキテクト
⽯井 真⼀
経歴
2011年以前は、アプリケーション開発者として⾦融業界のインターネッ
トバンキング・社内システムの開発・保守を担当。
2011年から2013年まで、IBM製品のプロダクト・マネージャーを担当。
2014年以降は、⾦融業界、通信業界、医療業界、流通業界など様々な
業界でJavaやNode.jsでのMVPアプリケーション開発、ブロックチェーン
開発、クラウド基盤設計や構築、アジャイルコーチなど様々なロールで
多数の新規サービス⽴ち上げのためのアプリケーション・インフラの
開発・保守運⽤を担当。
「今すぐ役⽴つクラウド活⽤術」トピック別オンデマンド・シリーズ
タイトル ご担当領域 スピーカー #1 クラウドアドバイザリーで始めるデジタル変⾰第⼆章 インフラ系アプリ系 ⽇本アイ・ビー・エム株式会社アソシエイトパートナー/エグゼクティブアーキ テクト ⼋⽊沼剛 #2 レガシー・マイグレーション インフラ系アプリ系 ⽇本アイ・ビー・エム株式会社マイグレーション・エキスパート 北沢強#3 コンテナ化アセスメント インフラ系アプリ系 ⽇本アイ・ビー・エム株式会社IBM Open Cloud Center
吉⽥ひろみ
#4 クラウドネイティブ時代の
新しいシステム開発
アプリ系
⽇本アイ・ビー・エム株式会社
シニア・アーキテクト
⽯井真⼀
#5 DevSecOpsと次世代超⾼速開発ソリューションを活⽤したクラウドアプリケーション開発・運⽤のご紹介 アプリ系 ⽇本アイ・ビー・エム株式会社アソシエート・パートナー ⾕松清孝
#6 お客様の取り組み インフラ系アプリ系 ⽇本アイ・ビー・エム株式会社技術理事 Complex System Integration CTO
アジェンダ
•
クラウドネイティブとは
•
今すぐ役⽴つクラウド活⽤術
•
クラウド活⽤術による事例
クラウドネイティブの定義
クラウドネイティブの定義はCNCF(CLOUD NATIVE COMPUTING
FUNDATION)
でCNCF Cloud Native Definition v1.0として纏められています。
クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、
ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブル
なアプリケーションを構築および実⾏するための能⼒を組織にもたらします。
このアプローチの代表例に、
コンテナ
、
サービスメッシュ
、
マイクロサービス
、
イミュータブルインフラストラクチャ
、および
宣⾔型API
があります。
これらの⼿法により、
回復性
、
管理⼒
、および
可観測性
のある疎結合システムが
実現します。 これらを堅牢な
⾃動化
と組み合わせることで、エンジニアは
インパクトのある変更を最⼩限の労⼒で頻繁かつ予測どおりに⾏うことができます。
イミュータブルインフラストラクチャとコンテナ
イミュータブルインフラストラクチャとコンテナが基本的な考え⽅です。
従来の更新
更新前
更新後
アプリ Bins区画A
Libs廃棄
アプリ Bins区画A
Libsイミュータブルな更新
更新前
更新後
アプリ Bins区画A
Libs区画A
アプリ Bins区画B
LibsOS
H/W
ü
HWレベルの仮想化
ü
OSカーネルを専有
ü
仮想マシンごとに隔
離
コンテナ・エンジン
アプリ
A
Bins &
Libs
ü
OSレベルの仮想化
ü
OSカーネルを共有
ü
プロセスをグループ化
して隔離
ハイパーバイザー型
コンテナ型
ハイパーバイザー
H/W
ホストOS
アプリ
Bins &
Libs
ゲスト
OS
アプリ
Bins &
Libs
ゲスト
OS
アプリ
A
Bins &
Libs
イミュータブルインフラストラクチャ
コンテナ
(参照) クラウドネイティブという考え⽅
https://www.ibm.com/blogs/think/jp-ja/cloud-native-concept-04/
マネージドサービスの活⽤
マネージドサービスを活⽤することでよりビジネスに応じた
疎結合サービス開発が可能です。
CONTAINER REGISTRY CLOUD FOUNDRY LIBERTY FOR JAVA SDK FOR NODE.JSASP.NET CORE GO OPENSHIFT KUBERNETES SERVISE CLOUD OBJECT STORAGE CLOUDANT DB2 CLOUD MONITORING WITH SYSDIG DATABASES FOR ELASTICSEARC H DATABASES FOR ETCD DATABASES FOR MONGODB DATABASES FOR POSTGRESQL DATABASES FOR REDIS FUNCTIONS
API CONNECT APP ID BLOCKCHAIN PLATFORM INTERNET SERVICES MACHINE LEARNING PUSH NOTIFICATIONS WATSON STUDIO NATURAL LANGUAGE CLASSIFIER LOG ANALYSIS
WITH LOGDNA CLOUD DATA SHIELD
CONTINUOUS DELIVERY EMAIL DELIVERY, POWERED BY SENDGRID EVENT STREAMS INTERNET OF THINGS PLATFORM KUBERNETES SERVICE CERTIFICATE MANAGER
VLAN CLOUD LOAD BALANCER CONTAINER SECURITY SERVICES コンピュート データ管理 新しい技術 運⽤・開発
(参照) CLOUD NATIVE TRAIL MAP
https://github.com/cncf/landscape/blob/master/README.md#cloud-native-landscape
新しい事業の開発の課題
•
新しい事業を始めたいがまとまらない。
•
新しい事業を始めたいが事業計画の特にコスト⾒積の精度が悪い。
•
新しい事業を始めたいが社内に開発する⼈材がいない。育成したい。
•
新しい事業を始めたいが新しい技術に追従することが難しい。
•
PoC(Proof of Concept)
のプロトタイプからサービスを開発したが
品質に問題がある。
⽅法論
コスト
スキル
品質
IBM Garage
デジタル変⾰実現のためのカルチャー醸成、ビジョンやアイデアの創出、
プロトタイプ構築、AIなど最先端テクノロジー適⽤の実証などを⾏います。
Discover
Discover
Design
Validated
business
initiative
Hypothesis
testing
Build
MVP 1
Measure
& learn
Market
response
Build
MVP n
Measure
& learn
Validated product
market fit
Scale
MVP
Measure
& learn
Market
response
IBM Garage for Cloud
IBM Garage for Cloud
はベストプラクティスによりイノベーションを推進します。
レシピとスケジュール
レシピ(サービスメニュー)とスケジュールサンプルです。
短縮も可能で1ヶ⽉でリリースした事例もあります。
1ヶ⽉⽬
2ヶ⽉⽬
3ヶ⽉⽬
4ヶ⽉⽬
5ヶ⽉⽬
6ヶ⽉⽬
7ヶ⽉⽬
8ヶ⽉⽬
9ヶ⽉⽬
プロトタイプ作成
アイデア
検討
実証実験
ビジネスプラン作成
(Option) 教育・環境整備⽀援
本番環境構築
IBM Design Thinking
アイデア・ビジョン策定 ⽀援
MVPアプリケーション開発&システム構築⽀援
MVP(Minimum Visible Product)の開発をア ジャイルで⽀援 実証実験システム構築⽀援&技術⽀援 実ユーザーにサービスを提供する社会 実証実験を⾏うための開発を⽀援 クラウド・テクノロジー・ サーチ クラウドを前提とした技術 動向を調査し、新しいビジ ネスへの提⾔を実施 クラウド・コスト・アセスメント ⾮機能要件をクイックに整備し、本番サー ビス展開時のコストを年毎に試算 本番システム構築⽀援&技術⽀援 本番環境のアプリケーション/インフ ラ開発を⽀援 新規事業開発PoCを⾏うための⼈材 教育・環境整備を⽀援。
ブロックチェーン事例
共有台帳で改竄不可の情報を保管するブロックチェーンを採択し新しい事
業を創出
•
Blockchain Platform
を採択/マルチゾーンによる⾼可⽤性
•
メッセージング/サーバーレスを活⽤しイベントドリブンなアーキテクチャを実装
•
可観測性をCloud Monitoring with Sysdigで実現
アプリ
ブロック
チェーン
照会/更新 Chaincode 呼出 リクエストを サブスクライブメッセージ
ブローカー
モバイルユーザー
アプリ
アプリ リクエスト (HTTPS) アプリ アプリシステム構成
KubernetesService Event Streams(Kafka) Kubernetes Service BlockchainService
RDB
* ファイアウォールやルータ等のセキュリティやネットワークに関わる内容は図上は省略。
Database for PostgreSQLイベント
処理
アプリ Functionsモニター
Cloud Monitoring with Sysdigブロックチェーン処理依頼
システム内部のイ ベントにより起動
マイクロサービス事例
既存業務の⾼いトランザクションレートとピークを処理するアプリケー
ションをマイクロサービスとして開発。
•
Kubernetes Service
+Cloudant+Event Streams+Internet Serviceにより構築
•
CQRS
パターンを採⽤
•
3
マルチゾーンによる⾼可⽤性
照会/更新
API
照会/更新
API
API呼び出し (REST) ステータス 参照 リクエストを サブスクライブ (プレゼンテーション層) (API層) (ビジネスロジック層)メッセージ
ブローカー
インターネット ブラウザユーザー
(クライアント層)グローバル
ロードバランサー
BFF
アプリ リクエスト (HTTPS) アプリ アプリ 結果を サブスクライブ 結果を ハプリッシュシステム構成
InternetServices Kubernetes Service Kubernetes Service
(メッセージ中間層) Kubernetes Service Event Streams (Kafka) リクエストを パブリッシュ
NoSQL
DB
CLOUDANT NOSQL DB (永続化層)* CQRS(Command and Query Responsibility Segregation)
はコマンド クエリ責務分離デザインパターン
* BFF
はBackend for Frontendの略
コグニティブ事例 カクイチ様
イノベーション創出を⽀援するIBM Garageのアプローチと統合分析
プラットフォーム Watson Studio で「⽇本を農業で元気にする」の実現を⽀援
(参照) IBM News Room http://jp.newsroom.ibm.com/2020-04-13-ai-agriculture-reform-promotion
ビジネスプラン作成⽀援事例
アプリケーションとクラウドに精通したアーキテクトが
新規サービスのROI作成を⽀援します。
4. ⾒積
3. アーキテクチャ策定
2. ワークショップ
1. 基礎数値の合意
基礎数値アセ
ス表作成
基礎数値アセ
ス表⼊⼒
⾮機能要件グ
からの重要項
⽬抽出
⾮機能要件定
義ワーク
ショップ
⾮機能要求グ
レード
2〜3パター
ンのアーキテ
クチャ策定
機能⼀覧
⾮機能要件⼀
覧
アーキテク
チャオーバー
ビュー
クラウドコン
ポーネント⼀
覧
2〜3パター
ンのコスト
基礎数値
(データ量等)
2〜3パター
ンのコスト⾒
積
凡例 IBM タスク 作成物 お客様 タスク* コスト⾒積はケースにより主体が異なります。お客様以外が実施します。
Why IBM
IBM Garage for Cloud
の
ベストプラクティス提供
* IBM
エキスパート(スクワッド/チーム)の紹介
https://www.ibm.com/jp-ja/garage
* IBM Provision No. 94
ビジネスのためのクラウド
https://www.ibm.com/downloads/cas/JPDKBKNA
*
コロナ後のニューノーマル⽀援
http://jp.newsroom.ibm.com/2020-05-12-corona-new-normal-looking-ahead-ibm-garage-remote-environment-offer-digital-transformation-speed-improvement-support
クラウドサービス・
リファレンスアーキテクチャや
⽇本・グローバルの
事例・知⾒を提供
多種多様なロールを
エキスパートが
ONE TEAM
で⽀援
コロナ後を⾒すえた
ニューノーマルな変⾰を
迅速に⽀援
「今すぐ役⽴つクラウド活⽤術」トピック別オンデマンド・シリーズ
タイトル ご担当領域 スピーカー#1 クラウドアドバイザリーで始める
デジタル変⾰第⼆章
インフラ系
アプリ系
⽇本アイ・ビー・エム株式会社
アソシエイトパートナー/エグゼク
ティブアーキテクト ⼋⽊沼剛
#2 レガシー・マイグレーション
インフラ系
アプリ系
⽇本アイ・ビー・エム株式会社
マイグレーション・エキスパート
北沢強
#3 コンテナ化アセスメント
インフラ系
アプリ系
⽇本アイ・ビー・エム株式会社
IBM Open Cloud Center
吉⽥ひろみ
#4 クラウドネイティブ時代の新しいシステム開発 アプリ系 ⽇本アイ・ビー・エム株式会社シニア・アーキテクト ⽯井真⼀#5
DevSecOpsと次世代超⾼速開発ソリュー
ションを活⽤したクラウドアプリケーション
開発・運⽤のご紹介
アプリ系
⽇本アイ・ビー・エム株式会社
アソシエート・パートナー
⾕松清孝
#6 お客様の取り組み
インフラ系
アプリ系
⽇本アイ・ビー・エム株式会社
技術理事 Complex System
Integration CTO 久波健⼆
ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報提供の⽬的のみで 提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むものでもありません。本講演資料に 含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗⽰にかかわらずいかなる保証も伴わないものとし ます。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害が⽣じた場合も、IBMは責任を負わないものとします。 本講演資 料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を 規定する適⽤ライセンス契約の条項を変更することを意図したものでもなく、またそのような結果を⽣むものでもありません。 本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰するものではあり ません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっていつでも変更できるものとし、い かなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、参加者が開始する活 動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰することを意図したものでも、またそのような結果を⽣むものでもありませ ん。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤した測定と予測に基づいています。ユーザーが経験する実際のスループットやパ フォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を 含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。 記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰されたものです。実際の 環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
IBM、IBM ロゴ、ibm.com および IBM Garage は、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名 等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml をご覧ください。 JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の⽶国およびその他の国における商標または登録商標です。