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.

本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン

1,314 views

Published on

Cloud Developers Circle #3 - Container Jam ( https://cdevc.connpass.com/event/64634/ )でお話した資料です。発表後にわかりにくいところなどを改変したものです。
コンテナ技術そのものについては勉強済みを前提としております。

Published in: Engineering
  • Be the first to comment

本格的にコンテナを利用するために ~ Azureでのコンテナ利用パターン

  1. 1. Azureでのコンテナ利用パターン Container on Azure
  2. 2. 自己紹介
  3. 3. https://raw.githubusercontent.com/cncf/landscape/master/landscape/CloudNativeLandscape_v0.9.7.jpg
  4. 4. 使う上で気になるところは? • バーっと並べられる(縮退の俊敏性) • いざ使うとなると必要なものが多い • コンテナ間の関係性を環境変数経由で渡す • 死活監視と決められた数を保つ仕組み • ログはどう取り扱うとよいか • つまり • 同時にオーケストレーションがポイントになる • K8Sが注目されている • サービスとの親和性も必要になる
  5. 5. Dockerを使うシナリオは? • Buildしたら他に持って行っても動く • DevOps • Lift and Shift アーキテクチャーとしての特徴から考えると 1、他に使えるところないの? 2、使い物になる技術なの?
  6. 6. “配布“で使う
  7. 7. Docker Hubで公開されています
  8. 8. “配布”で使う • セットアップが不要になり、すぐに稼働する • 製作者がセットアップした通りに配布できる • 更新なども容易に行える • 最近ではオープンソースの配布方法として コンテナーが多く利用されています
  9. 9. “環境準備“で使う
  10. 10. Azure Cloud Shell これもDockerが使われております 利用者からのリクエストを受けて 環境を準備している
  11. 11. チュートリアルで使う https://www.katacoda.com/
  12. 12. “サービス上“で使う
  13. 13. Azureで用意されているコンテナ関連サービス
  14. 14. Demo Azure Container Instances https://docs.microsoft.com/en-us/azure/container- instances/container-instances-quickstart こちらで動画を公開しています。 https://asciinema.org/a/131624
  15. 15. サービスの背後で 使われている事例として
  16. 16. Web App > OSの選択 > ランタイムの選択
  17. 17. Web AppのOSをLinuxにすると、PaaS内でのランタイムを 選択する画面が出てきます。
  18. 18. 環境構築が終わり 管理する画面を見ると Dockerコンテナーが 使われていることがわかります。
  19. 19. KudoというスクリプトがWeb Appの裏側で 環境構築を実施しています
  20. 20. https://github.com/projectkudu/KuduScript ランタイムにRubyを選択すると、このようなスクリプトがコンテナ内で走って 環境を自動的に構築します
  21. 21. git pushをされると、kudoが走っています
  22. 22. Pushされたコードに従って、ライブラリのインストールが行われている
  23. 23. https://azure.microsoft.com/en-us/blog/webapp-for-containers-overview/ 全体像はこんな感じ
  24. 24. つまり? Dockerを使うとなると、周辺の準備は意外と大変です。 そこで、Web App for Linuxではコンテナーを意識させず アプリケーションコードのデプロイのみで コンテナーを利用した環境が作られるようになっています。
  25. 25. Container as a Service コンテナが稼働する環境を サービスとして提供する
  26. 26. Demo Azure Web App for Container https://docs.microsoft.com/ja-jp/azure/app- service/containers/quickstart-custom-docker-image
  27. 27. デモ手順は以下で公開しています https://github.com/yuyalush/azcontainerdemo Azureの無料枠でも試せます。 AzureとDocker Hubのアカウントを ご準備のうえ試してみてください
  28. 28. Azure Web App for Container / 自分で作ったコンテナーを置けるサービス
  29. 29. https://azure.microsoft.com/ja-jp/blog/general-availability-of-app-service-on-linux-and-web-app-for-containers/ GAしていますので、 安心してお使いください もちろん、 日本のリージョンでも 使用できますよ
  30. 30. サービスとの親和性を 高める取り組み
  31. 31. コンテナは通常ポートがバインドされます。 この取り組みは、Azureの仮想ネットワークに直接アクセスできるよう、 コンテナにIPアドレスを払い出す仕組みです
  32. 32. https://blogs.msdn.microsoft.com/azureedu/2017/04/23/how- can-i-get-started-with-kubernetes-on-azure-container-services/ Azure Container Serviceでは、オーケストレーションするソフトウェアと Azureのインフラ系サービスの組み合わせにより、コンテナ稼働環境の 準備や管理が楽になるサービスを提供しています。
  33. 33. https://github.com/Azure/aci-connector-k8s こちらはKubernetesがコンテナを稼働させる先としてAzure Container instancesを 使えるようにするためのソフトウェアです
  34. 34. https://docs.microsoft.com/ja-jp/azure/log-analytics/log-analytics-containers
  35. 35. オープンな環境の提供や 新しい試み
  36. 36. Microsoftが提供するコンテナの管理機構以外を使うことも可能です
  37. 37. https://japan.zdnet.com/article/35106157/ コンテナ技術が新しい動きのきっかけに なってきています
  38. 38. まとめ
  39. 39. コンテナ利用のパターン • デリバリー: 統一した環境を届ける • 環境構築: 個別の環境を作る • シングルアプリ: 詰め込んだものをとりあえず動かす • オーケストレーション: 複数コンテナによる構成 • オートメーション: テストやビルドの実施、ステージング • サービス連携: ログ、自動化、ロードバランス • ファンクション: Endpointの先に配置される 上記のパターンはDockerがどう使われているのかを調べたところ 見えてきたものです。まとまりが悪くてすみません。
  40. 40. さて、どうします? • 技術的な側面の準備はかなり進んでいる • 一方で、利用者側の準備は進んでいると言い難い • 「機能から何に使えるか考える」から 「この目的のために使う」へのシフトが重要

×