More Related Content
Similar to Cloud native computing (20)
More from Makio Tsukamoto (17)
Cloud native computing
- 3. Cloud Native Computing Foundation
What is CNCF?
https://www.cncf.io/
●「CNCFは、クラウドネイティブコンピューティングを普遍的かつ
持続可能なものにするためのオープンソースソフトウェア団体
です。クラウドネイティブコンピューティングは、オープンソース
ソフトウェアスタックを使用して、アプリケーションをマイクロサー
ビスとして展開し、各部品を独自のコンテナにパッケージング
し、これらのコンテナを動的に編成してリソース使用率を最適
化します。クラウドネイティブテクノロジにより、ソフトウェア開発
者は優れた製品をより迅速に構築できます。」
オーケストレーション(Kubernates)に始まり、コンテナラン
タイム(containerd、rkt)、ロギング(Fluentd)、モニタリング、
ストレージなどで複数のプロジェクトをホスト
KubeCon+CloudNativeConを主宰
プラチナメンバーとしてAWS、GCP、Microsoft Azure、
redhat、Oracle、VMwareなどが参加
https://www.cncf.io/about/members/
- 5. Cloud Native Trail Map (v20180925)
http://l.incf.io
WHAT IS CLOUD NATIVE
●クラウドネイティブ技術はパブリック、プ
ライベート、ハイブリッドクラウドのような
動的な環境において、モダンでスケー
ラブルなアプリケーションを構築し実行
できる力を組織に与えます。
●このテクニックは、弾力性があり、管理
可能であり、監視可能な、疎結合のシ
ステムを実現します。堅牢な自動化と
連携することで、エンジニアは大規模
な影響のある変更を、最小限の苦痛で、
定期的かつ予測できる状態で行えるよ
うにします。
●Cloud Native Computing Foundationは、
このパラダイムの採用を加速するため、
オープンソースで、ベンダー中立なプロ
ジェクトとしてのエコシステムの育成と維
持を模索します。私たちは誰もがこれら
のイノベーションに到達できるよう、業
界最先端のパターンを民主化します。
- 7. Cloud Native Trail Map (v20180925)
http://l.incf.io
CLOUD NATIVE TRAIL MAP
●The Cloud Native Landscape
l.cncf.ioに挙げられた選択肢は非
常に多数にのぼります。
●このCloud Native Trail Mapは、
オープンソースとクラウドネイティブ
技術を活用するための推奨プロセ
スです。各ステップで、ベンダーの
サポート提供を受けるか、独力か
を選ぶことができます。
●またStep#3以降の各項目は利用
者自身の状況に合わせて検討す
ればよい任意項目です。
HELP ALONG THE WAY
A)トレーニングと認定
B)コンサルティング支援
C)CNCFのエンドユーザーコミュニ
ティへの参加
- 8. Cloud Native Trail Map (v20180925)
http://l.incf.io
1.コンテナ化
CONTAINERIZATION
● Dockerコンテナで一般的に行う
● あらゆる大きさのアプリケーションと依存関係
(エミュレータ上で実行するPDP-11のコード
ですら)をコンテナ化できる
● 時間がたてば、適切なアプリケーション分割
を求めるようになり、次世代の機能をマイクロ
サービス として書くでしょう
2.CI/CD
● 継続的インテグレーション/継続的デリバリ
(CI/CD)をセットアップすると、ソースコードに
対する変更の結果、自動的に新しいコンテナ
が構築、テストされ、定期的にステージング
環境に展開するだけでなく、おそらくは本番環
境にすら展開する。
● ロールアウト、ロールバック、テストを自動的に
行うようセットアップする。
3.アプリケーションの定義とオーケストレー
ション
ORCHESTRATION & APPLICATION DEFINITION
● Kubernetesは業界トップのオーケストレーショ
ン・ソリューションです。
● 認証をうけたKubernetesディストリビューショ
ン、ホステッドプラットフォーム、インストーラー
から選択すべきです。(cncf.io/ck参照)
● 極めて複雑なKubernatesアプリケーションで
あったとしても、Helm Chartが定義、インス
トール、更新を支援します。
- 9. Cloud Native Trail Map (v20180925)
http://l.incf.io
4.可観測性&分析
OBSERVABILITY & ANALYSIS
●監視、ログ記録、追跡のためのソリュー
ションを選択すること。
●CNCFのプロジェクトであるPrometheus
を監視、Fluentdをログ記録に、 Jaeger
を追跡に検討してください。
●追跡には、Jaegerの互換実装である
OpenTracingも参照してください。
5.サービスメッシュとディスカバリー
SERVICE MESH AND DISCOVERY
●CoreDNSはサービスディスカバリーに役
立つ迅速・柔軟に使えるツールです。
●EnvoyとLinkerdはどちらもサービスメッ
シュアーキテクチャを可能にします。
●これらはヘルスチェック、ルーティング、
ロードバランシングを提供します。
6.ネットワーキング
NETWORKING
●より柔軟なネットワークを実現したけれ
ば、 Calico、Flannel、Weave Netといっ
たコンテナネットワークインターフェース
(CNI)準拠のプロジェクトを利用します。
- 10. Cloud Native Trail Map (v20180925)
http://l.incf.io
7.分散データベースとストレージ
DISTRIBUTED DATABASE AND STORAGE
● シングルデータベースより優れた回復性とス
ケーラビリティが必要なときは、MySQLを
シェーディングでスケールさせるVitessが良
い選択肢になります。RookはKubernetesに
多様なストレージソリューションを統合するスト
レージオーケストレーターです。
8.ストリーミングとメッセージング
STREAMING AND MESSAGING
● JSON-RESTより高いパフォーマンスが必要
な時は、gRPCの利用を検討します。NATSは
pub/subメッセージングミドルウェアです。
9.コンテナ―実行環境
CONTAINER RUNTIME
● 他のコンテナ―実行環境を使うこともできま
す。もっとも一般的なのはcontainerd、rkt、
CRI-O で、いずれもオープンコンテナーイニ
シアチブ(OCI)準拠です。
10.ソフトウェア配布
SOFTWARE DISTRIBUTION
● ソフトウェア配布を安全に行う必要があるとき
は、 The Update Framework(TUF)の実装で
あるNotaryを評価してみて下さい。
- 12. CNCFのエンドユーザー参照スタック
CNCF End User Referece Stack
https://github.com/cncf/presentations/blob/master/2016-software-circus/what-is-cloud-native/what-is-cloud-native.pdf
ストレージ
Storage
コンピュート
Compute
ネットワーキング
Networking
プロビジョニング
Provisioning
ランタイム
Runtime
オーケストレーションと管理
Orchestration & Management
アプリケーション定義
Application Definition
インフラ(CNCFの定義の範囲外)
Infrastructure (Out of Scope)
コンテナー化
Containerized
分散オーケストレーションと管理
Distributed Orchestration and Management
マイクロサービスパターン
Microservices Patterns
- 13. クラウドネイティブの参照アーキテクチャー
Cloud Native Reference Architecture
https://github.com/cncf/presentations/blob/master/2016-software-circus/what-is-cloud-native/what-is-cloud-native.pdf
インフラストラクチャー
(ベアメタル/クラウド)
Infrastructure (Bare Metal/Cloud)
プロビジョニング
Provisioning
ランタイム
Runtime
オーケストレーションと管理
Orchestration & Management
アプリケーション定義/開発
Application Definition / Development