Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cloud native computing

709 views

Published on

Some slides translated into Japanese. Liensed under Apache Licence 2.0.

Published in: Technology
  • Login to see the comments

Cloud native computing

  1. 1. Cloud Native Computing Some slides translated into Japanese
  2. 2. 本ファイルについて 本ファイルは、クラウドネイティブについての理解に役立ちそうな、CNCFのスラ イドの幾枚か和訳したものです。 本ファイルの訳の一部は、以下のスライドを参考にしています。 ●コンテナ導入概要資料2018 https://www.slideshare.net/zembutsu/container-and-cloud-native-overview-distribution 本ファイルのスライドは、元としているCNCF LANDSCAPEのリソース同様、 Apache License 2.0の下でご利用ください。 クラウドネイティブコンピューティングの学習の一環として訳したもので、理解、 用語知識に欠ける段階での暫定訳です。誤訳の指摘、訳語の提案などがあ れば、ぜひお寄せください。
  3. 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/
  4. 4. クラウドネイティブとは What is Cloud Native
  5. 5. Cloud Native Trail Map (v20180925) http://l.incf.io WHAT IS CLOUD NATIVE ●クラウドネイティブ技術はパブリック、プ ライベート、ハイブリッドクラウドのような 動的な環境において、モダンでスケー ラブルなアプリケーションを構築し実行 できる力を組織に与えます。 ●このテクニックは、弾力性があり、管理 可能であり、監視可能な、疎結合のシ ステムを実現します。堅牢な自動化と 連携することで、エンジニアは大規模 な影響のある変更を、最小限の苦痛で、 定期的かつ予測できる状態で行えるよ うにします。 ●Cloud Native Computing Foundationは、 このパラダイムの採用を加速するため、 オープンソースで、ベンダー中立なプロ ジェクトとしてのエコシステムの育成と維 持を模索します。私たちは誰もがこれら のイノベーションに到達できるよう、業 界最先端のパターンを民主化します。
  6. 6. クラウドネイティブの歩き方 Cloud Native Trail Map
  7. 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. 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. 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. 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を評価してみて下さい。
  11. 11. クラウドネイティブ参照アーキテクチャ Cloud Native Reference Architecture
  12. 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. 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
  14. 14. アプリケーション定義/開発層 ●アプリケーションの組立て ●アプリケーションの提供 ●アプリケーション開発フレームワーク ●アプリケーションの運用ツール集 ●CI/CD(継続的インテグレーション/デリバリー) ●イメージレジストリ/リポジトリ ●ガバナンスと運用ツール 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
  15. 15. オーケストレーションと管理層 ●可観測性 ▼閲覧/フィルター/再生 ▼監視/追跡/ストリーム/ログ ▼ビジネスインテリジェンス ●オーケストレーション ●コーディネーション ▼コンフィギュレーション ▼ディスカバリー ▼DNS ●サービス管理 ▼ルーティング/プロキシ/ロードバランサー ▼ポリシー/配置/トラフィック管理 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
  16. 16. ランタイム層 ●リソース管理 ▼コンテナーのスケジューリング ▼コンテナーのデプロイメント ●クラウドネイティブ – ネットワーク ▼ネットワークセグメンテーション ▼SDNとAPI(例えばCNI、libnetwork) ●クラウドネイティブ – データ ▼データ管理 ▼データベースとAPI ●包括的なコンテナーサービス ▼(なんらかの)PaaS/プラットフォームサービス 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
  17. 17. プロビジョニング層 ●OS管理 ●安全(Secure)なイメージ ●ホストレベルのツールによるDevopsデプロイメ ントとプロビジョニング 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
  18. 18. インフラストラクチャー(ベアメタル/クラウド) 層 ●参照アーキテクチャーの一部ですが、CNCFプ ロジェクトではインフラストラクチャーベンダーま たはクラウドを特定しないので、プロジェクトの 範囲外です。 ●将来的に「認証」を提示する可能性はあります。 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

×