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.

20180309 azure+container

616 views

Published on

Azure と コンテナのかかわりについてまとめた資料です。

Published in: Engineering
  • Be the first to comment

20180309 azure+container

  1. 1. 本当は手段はどうでもよくて、 目的はクラウドネイティブアプリケーション
  2. 2. 無限にスケールする グローバル対応 適切なタイミングで 市場に投入すること
  3. 3. 既存の アプリ APP モダン マイクロサービス 新しいサービスの追加 やモノシリックコード からのサービスの撤退 モダンインフラ 仮想マシンで リホスト アプリの コンテナ化 コンテナで スケールする ように再設計 コンテナオンプレミス PaaS サーバーレスIaaS
  4. 4. ストラテジー コンテナを 普遍でよくあるもの として コンテナを 製品全体での サポート コンテナテクノロジ の民主化
  5. 5. Azure-Managed User/Partner-Managed
  6. 6. 現在 Azure-Managed User/Partner-Managed
  7. 7. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  8. 8. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  9. 9. Manage a Docker private registry as a first-class Azure resource オープンソースのDocker CLI ツールで 利用可能 ジオレプリケーション (プレビュー) すべてのタイプの コンテナイメージを管理
  10. 10. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  11. 11. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  12. 12. Azure ContainerInstances(ACI) Easily run containers on Azure with a single command クラウドスケールの コンテナキャパシティ ハイパバイザー からの分離 すぐにコンテナを 利用可能 PREVIEW
  13. 13. Azure ContainerInstances(ACI) PREVIEW 簡単に使い始められる $ az container create --name mycontainer --image microsoft/aci-helloworld --resource-group myResourceGroup --ip-address public $ curl 52.168.86.133
  14. 14. Azure ContainerInstances(ACI) PREVIEW ACIが無限の コンテナキャパシティを提供 The ACI Connector for K8S がすべ て提供 Kubernetesのリッチなオー ケストレーション ACI Connector for Kubernetes
  15. 15. Azure ContainerInstances(ACI) PREVIEW Bursting with the ACI Connector Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod WasteWaste WasteWaste PodPod PodPod
  16. 16. Azure ContainerInstances(ACI) PREVIEW Kubernetes API Node Node Node Node virtual kubelet Kubelet Kubelet Kubelet Kubelet kubelets は通常、各ノード上でのコンテナ作成/ 削除やボリュームの割り当てなどの管理を行う Virtual kublet 自分自身を”ノード”として登録し 開発者に自分自身のポッドやコンテナの振る舞いを 管理させる Virtual Kubelet
  17. 17. Container Group Namespace Container A Container B (Exposed) Port: 80 Port: 6000 • 同じコンテナーグループの コンテナーは、 同じ仮想マシンに配置 • コンテナーグループは代表 で1つの公開パブリックIPと ポートを持てる • コンテナーグループ内では localhostとしてコンテナー間 通信が可能 • “サイドカー” • コンテナーはAzure File Storage をマウントできる
  18. 18. Container Group Namespace sidecar • 2つのコンテナー • getenv: 各種環境情報を 取得し表示するHTTP サーバー • sidecar: getenv コンテナーの監視 • せっかくなので軽量に • コンテナーサイズは約 10MBytes • Golang + Alpine Linux • マルチステージビルド getenv (Exposed) Port: 8080 169.254.169.254
  19. 19. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  20. 20. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  21. 21. フロントエンド Load balancer Runtime Database API Endpoint 永続 ストレージ Local Container Cache Monitoring Service SCM ContainerApp Container アプリへの リクエスト SSH Proxy • Exposeしたポートは[アプ リ設定] > [環境変数] の WEBSITES_PORTで明示的に 指定できる
  22. 22. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  23. 23. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  24. 24. Kubernetes:デファクトスタンダード 可搬性 パブリック、プライベート、 ハイブリッド、 マルチクラウド 拡張性 モジュール化、プラグイン フック、組み込み可能 自己回復性 自動置き換え、自動再起動、 自動レプリケーション、 オートスケール
  25. 25. Kubernetes ができること アプリを迅速かつ 的確にデプロイ アプリケーション 稼働中に 基盤の拡張 新機能を シームレスに展開 ハードウェアの 使用量を必要な リソースのみに制限
  26. 26. Azure Kubernetes Service (AKS) PREVIEW Simplify the deployment, management, and operations of Kubernetes K8SのAPIで 利用可能 容易にスケールインフラではなく アプリに集中できる
  27. 27. Azure Kubernetes Service (AKS) PREVIEW A fully managed Kubernetes cluster Managed Azure infrastructure services Docker Kubernetes • Managed control pane • Automated upgrades, patches • Easy cluster scaling • Self-healing • Cost savingsApplication architect Infrastructure architect Applications Operations
  28. 28. Azure Kubernetes Service (AKS) PREVIEW Get started easily $ az aks create $ az aks install-cli $ az aks get-credentials $ kubectl get nodes
  29. 29. Azure Kubernetes Service (AKS) PREVIEW Manage an AKS cluster $ az aks list $ az aks upgrade $ kubectl get nodes $ az aks scale
  30. 30. Azure Kubernetes Service (AKS) PREVIEW Customized Kubernetes on Azure Enables custom deployments Available on GitHub A proving ground for new features
  31. 31. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  32. 32. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  33. 33. App Host User Mode Container Runtime App App Virtual Machine
  34. 34. App Host User Mode Container Runtime Hyper-V Isolation Virtual Machine Optimized for Container App
  35. 35. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  36. 36. エコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) ACS Engine Batch Azure Container Instances (ACI) Azure Virtual Machines Virtual Machine Scale Sets (VMSS) Service Fabric Virtual kubelet App Service
  37. 37. Open Service Broker for Azure (OSBA) Connecting containers to Azure services and platforms シンプルでフレキシブル なサービス インテグレーション 多くのプラット フォームとの互換性 Azureのサービスと 接続する標準的な方法
  38. 38. Open Service Broker for Azure (OSBA) An implementation of the Open Service Broker API OpenShift Cloud Foundry Service Fabric (Coming soon) Kubernetes (AKS) Azure SQL Database Redis Cache CosmosDB And more! Open Service Broker for Azure (OSBA)
  39. 39. Open Service Broker for Azure (OSBA)
  40. 40. push image Azure Container Registry Docker Host vsts-agent Source control Build service Azure Container Service commit triggers build execute build build image release browser pull image Developer User keys
  41. 41.  本書に記載した情報は本書各項目に関する発行日現在のMicrosoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないためここに記載した情報に 対していかなる責務を負うものではなく提示された情報の信憑性については保証できません。  本書は情報提供のみを目的としています。Microsoft は明示的または暗示的を問わず本書にいかなる保証も与えるものではありません。  すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく本書の如何なる部分についても転載や検索システムへの格納または挿入を行う ことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)および目的であっても禁じられています。 これらは著作権保護された権利を制限するものではありません。  Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給 される場合を除いて本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。 © 2018 Microsoft Corporation. All rights reserved. Microsoft, Windows, その他本文中に登場した各製品名は、MicrosoftCorporation の米国およびその他の国における登録商標または商標です。 その他記載されている会社名および製品名は一般に各社の商標です。
  42. 42. https://marketplace.visualstudio.com/items?itemName=VSIDEDevOpsMSFT.ContinuousDeliveryTools forVisualStudio https://blogs.msdn.microsoft.com/visualstudio/2017/11/17/managing-secrets-securely-in-the-cloud/ https://azure.microsoft.com/en-us/blog/managing-azure-secrets-on-github-repositories/
  43. 43. https://azure.microsoft.com/en-us/blog/azure-brings-new-serverless-and-devops-capabilities-to-the- kubernetes-community/ https://github.com/virtual-kubelet/virtual-kubelet https://github.com/Azure/blackbelt-aks-hackfest
  44. 44. https://azure.microsoft.com/ja-jp/updates/update-management-inventory-and-change-tracking-are- available-in-azure-automation/ https://www.slideshare.net/Microsoft_TechSummit_2017/japan-tech-summit-2017-dep-005 https://github.com/ToruMakabe/TechSummit2017
  45. 45. https://www.slideshare.net/makingx/open-service-broker-apikubernetes-service-catalog-k8sjp- 90024385 https://www.openservicebrokerapi.org/ https://github.com/openservicebrokerapi/servicebroker/blob/v2.13/spec.md
  46. 46. https://github.com/kubernetes-incubator/service-catalog https://almvm.azurewebsites.net/labs/vstsextend/

×