Diese Präsentation wurde erfolgreich gemeldet.

Cloud Nativeとは?

6

Teilen

Wird geladen in …3
×
1 von 52
1 von 52

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 14-tägigen Testversion von Scribd

Alle anzeigen

Cloud Nativeとは?

  1. 1. Cloud Nativeとは? ~Cloud Native Sendai #01~ 2019/4/26 株式会社SRIA(エスリア) 山本誠樹 a.k.a 世界のやまさ Microsoft MVP for Microsoft Azure 2014 – Jun 2019 @nnasaki
  2. 2. 質問: Docker 知っている人? 使っている人? 2
  3. 3. 質問: Kubernetes 知っている人? 使っている人? 3
  4. 4. 質問: マイクロサービス知っている人? 使っている人? 4
  5. 5. 質問: 全部使っている人は Cloud Native? 5
  6. 6. Cloud Native とは? 6
  7. 7. © 2018 Cloud Native Computing Foundation7 コンテナ クラウド ネイティブ 仮想化からクラウド・ネイティブへ From Virtualization to Cloud Native • クラウド・ネイティブ・コンピューティングはオープンソースのソフト ウェアを積み重ね、次のために用います: – アプリケーションをマイクロサービス(microservices)に分割し、 – 各パーツ自身をコンテナにパッケージし、 – リソース利用を最適化するために、動的に統合/オーケスト レート(orchestrate)する オープン ソース IaaS PaaS オープン ソース PaaS 仮想化 2000 2001 2006 2009 2010 2011 非仮想化 ハードウェア 2013 2015 IaaS https://github.com/cncf/presentations/blob/master/japanese
  8. 8. 良い資料あります 8 https://speakerdeck.com/jacopen/fei-biip-mou-cloud-nativefalseshi-jie
  9. 9. CNCF Cloud Native Definition v1.0 クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッ ドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケー ションを構築および実行するための能力を組織にもたらします。 このアプローチの代表 例に、コンテナ、サービスメッシュ、マイクロサービス、イミューダブルインフラスト ラクチャ、および宣言型APIがあります。 これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現し ます。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変 更を最小限の労力で頻繁かつ予測どおりに行うことができます。 Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトの エコシステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私 たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるよう にします。 9 https://github.com/cncf/toc/blob/master/DEFINITION.md
  10. 10. 長いので3つに分けてみます ここに全部書いてある 10
  11. 11. CNCF Cloud Native Definition v1.0 1/3 クラウドネイティブ技術は、 パブリッククラウド、 プライベートクラウド、 ハイブリッドクラウドなどの 近代的でダイナミックな環境において、 スケーラブルなアプリケーションを 構築および実行するための能力を 組織にもたらします。 このアプローチの代表例に、 コンテナ、 サービスメッシュ、 マイクロサービス、 イミューダブルインフラストラクチャ、 および宣言型APIがあります。 11 https://github.com/cncf/toc/blob/master/DEFINITION.md クラウド ココにないも のでも良い
  12. 12. CNCF Cloud Native Definition v1.0 2/3 これらの手法により、 回復性、 管理力、 および可観測性のある 疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、 エンジニアはインパクトのある変更を 最小限の労力で 頻繁かつ予測どおりに 行うことができます。 12 理想的 自動化必須 楽になる https://github.com/cncf/toc/blob/master/DEFINITION.md
  13. 13. CNCF Cloud Native Definition v1.0 3/3 Cloud Native Computing Foundationは、 オープンソースでベンダー中立プロジェクトのエコシステムを 育成・維持して、 このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパターンを民主化し、 これらのイノベーションを誰もが利用できるようにします。 13 CNCF みんな嫌いなベンダーロックインを避ける https://github.com/cncf/toc/blob/master/DEFINITION.md
  14. 14. なんとなくわかりましたか? 14
  15. 15. 質問: Cloud Nativeは誰のためか? 15
  16. 16. エンジニアのためにある! 16
  17. 17. とは言うものの… 17
  18. 18. なんとなく漂う 「俺(私)には関係ない」感 コンテナ?なにそれおいしいの? Dockerなんて使ったことないし、 Virtual Box で十分。新しいの覚えるの面倒 クラウドクラウドいうけどさ なんか高いし VPSで十分 常駐先じゃ… インターネットにすらつながらない閉鎖環境 GitHubはアクセス制限される GitHubはつながるけど、ダウンロード先のS3がアクセス制限 18
  19. 19. 良い資料あります 19 https://www.slideshare.net/ToruMakabe/essentials-of-container
  20. 20. コンテナー is カレー 20 https://www.slideshare.net/ToruMakabe/essentials-of-container
  21. 21. DEMO 21
  22. 22. とりあえず コンテナが 便利そうなことはわかった 22
  23. 23. そこから Cloud Native にたどり着くには? 23
  24. 24. 良い資料あります Cloud Native Trail Map トレイルマップ クラウドネイティブなシス テムに向かうための道筋を 10ステップで解説 コンテナ化、CI/CD、オーケ ストレーションなどなど 24 https://l.cncf.io
  25. 25. これも分解してみましょう 25
  26. 26. まずは必須の4つ 1. CONTAINERIZATION コンテナ化 2. CI/CD 継続的インテグレーション/継続的デリバリー 3. ORCHESTRATION & APPLICATION DEFINITION Kubernetes 4. OBSERVABILITY & ANALYSIS モニタリング、ロギング、トレーシング Prometheus fluentd 26 ここ重要
  27. 27. 4. OBSERVABILITY & ANALYSISが なぜ重要か? アプリケーションの健全性をモニタリングする 解析用のログをトレースする いちいちSSHで入ってログをgrepしない そもそもスケールアウトしていると複数コンテナ(Pod)が立ち上がっ ており、どこで問題が起きているかが人間にはわからない 100コンテナそれぞれにSSHでログインしてgrepしたいですか? 27 だれのためのCloud Native? CNCF Cloud Native Definition を思い出して!
  28. 28. CNCF Cloud Native Definition v1.0 2/3 これらの手法により、 回復性、 管理力、 および可観測性のある 疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、 エンジニアはインパクトのある変更を 最小限の労力で 頻繁かつ予測どおりに 行うことができます。 28 理想的 自動化必須 楽になる https://github.com/cncf/toc/blob/master/DEFINITION.md 再掲
  29. 29. ここまでは割とすぐ出来ます 既存のアプリをクラウドにリフトアンドシフト コンテナ化 CI/CDで自動ビルド&デプロイ Kubernetesなどで運用 テキストに吐き出していたログを一元管理化 29
  30. 30. 概要はわかった。 具体的にどうすれば? 30
  31. 31. 良い資料あります 31 https://docs.microsoft.com/ja-jp/dotnet/standard/modernize-with-azure-and-containers/
  32. 32. 残り6つは割愛します サービスメッシュだったりマイクロサービスが前提 特に 7. DISTRIBUTED DATABASE &STORAGE 個人的に Kubernetes 上でデータベースやストレージを動かすのは否 定的 Twelve-Factor Appに従うと良いと思います https://12factor.net/ja/ 具体的にはどういうこと? 32
  33. 33. Twelve-Factor App? 33
  34. 34. 良い資料あります 34 https://www.slideshare.net/decode2017/ac06-12-factor-app-on-kubernetes-on-azure
  35. 35. 12個も大変そう。。。 さっきのトレイルマップも10個あったのに 35
  36. 36. とりあえずやってみよう I. コードベース ざっくりいうと、ソースコード管 理しましょう なんとなく出来そうじゃないで すか? 36
  37. 37. わかった。わかったけど。 Cloud Nativeってさ 事例あるの? 来たな事例厨 37
  38. 38. Netflix ほぼ100%AWSユーザーだった Google クラウドに移行しようとしている(らしい) これはベンダーニュートラルなクラウドネイティブなアーキテ クチャだから可能 38 https://thinkit.co.jp/article/14089
  39. 39. CNCF Cloud Native Definition v1.0 3/3 Cloud Native Computing Foundationは、 オープンソースでベンダー中立プロジェクトのエコシステムを 育成・維持して、 このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパターンを民主化し、 これらのイノベーションを誰もが利用できるようにします。 39 CNCF みんな嫌いなベンダーロックインを避ける https://github.com/cncf/toc/blob/master/DEFINITION.md 再掲
  40. 40. そういえば サーバーレスは クラウドネイティブなの? 40
  41. 41. いい質問ですね~ 41
  42. 42. 良い資料あります Serverless vs. Other Cloud Native Technologies Keep in mind that no single approach is a silver bullet for all cloud- native development and deployment challenges. すべてのクラウドネイティブの開発およびデプロイメントの課題を 解決できる銀の弾丸となる唯一の方法はありません。 Conclusion サーバーレスアーキテクチャーは、クラウドネイティブワークロー ドにエキサイティングな新しい展開オプションを提供します ただし、サーバーレステクノロジはすべての場合に最適というわけ ではないため、適切な場合は慎重に検討する必要があります 42 https://github.com/cncf/wg-serverless/tree/master/whitepapers/serverless-overview
  43. 43. CNCF Cloud Native Definition v1.0 1/3 クラウドネイティブ技術は、 パブリッククラウド、 プライベートクラウド、 ハイブリッドクラウドなどの 近代的でダイナミックな環境において、 スケーラブルなアプリケーションを 構築および実行するための能力を 組織にもたらします。 このアプローチの代表例に、 コンテナ、 サービスメッシュ、 マイクロサービス、 イミューダブルインフラストラクチャ、 および宣言型APIがあります。 43 https://github.com/cncf/toc/blob/master/DEFINITION.md クラウド ココにないも のでも良い 再掲
  44. 44. そういえば Kubernetes 運用大変って聞いたよ 44
  45. 45. こんな記事が話題になりました この例のように、オンプレで動かすならば同意 Kubernetesを一から全部自前で運用するのは非常に大変 45 https://yakst.com/ja/posts/5455
  46. 46. そこでAzureですよ Kubernetesの面倒なマスターノード管理をAzureでやってくれ るので楽 Azure App Service の Web App for Containers が超便利 46 https://www.slideshare.net/ToruMakabe/essentials-of-container
  47. 47. DEMO Azure Web Apps for Containers https://azure.microsoft.com/ja-jp/services/app- service/containers/ 47
  48. 48. まずは必須の4つ 1. CONTAINERIZATION コンテナ化 2. CI/CD 継続的インテグレーション/継続的デリバリー 3. ORCHESTRATION & APPLICATION DEFINITION Kubernetes 4. OBSERVABILITY & ANALYSIS モニタリング、ロギング、トレーシング Prometheus fluentd 48 ここ重要 再掲
  49. 49. Azure Monitor すべてのログを集約する インフラもアプリケーションも アラートも可能 各言語に対応 49https://docs.microsoft.com/ja-jp/azure/azure-monitor/
  50. 50. まとめ Cloud Nativeに至るまでの歴史 CNCF Cloud Native Definition v1.0 コンテナー is カレー Cloud Native Trail Map サーバーレス 50
  51. 51. 良いCloud Nativeライフを! 51
  52. 52. 52 Creating with you

×