本当は手段はどうでもよくて、
目的はクラウドネイティブアプリケーション
無限にスケールする グローバル対応 適切なタイミングで
市場に投入すること
既存の
アプリ
APP
モダン
マイクロサービス
新しいサービスの追加
やモノシリックコード
からのサービスの撤退
モダンインフラ
仮想マシンで
リホスト
アプリの
コンテナ化
コンテナで
スケールする
ように再設計
コンテナオンプレミス PaaS サーバーレスIaaS
ストラテジー
コンテナを
普遍でよくあるもの
として
コンテナを
製品全体での
サポート
コンテナテクノロジ
の民主化
Azure-Managed User/Partner-Managed
現在
Azure-Managed User/Partner-Managed
エコシステム
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
エコシステム
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
Manage a Docker private registry as a first-class Azure
resource
オープンソースのDocker
CLI ツールで
利用可能
ジオレプリケーション
(プレビュー)
すべてのタイプの
コンテナイメージを管理
エコシステム
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
エコシステム
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
Azure ContainerInstances(ACI)
Easily run containers on Azure with a single command
クラウドスケールの
コンテナキャパシティ
ハイパバイザー
からの分離
すぐにコンテナを
利用可能
PREVIEW
Azure ContainerInstances(ACI) PREVIEW
簡単に使い始められる
$ az container create --name mycontainer --image microsoft/aci-helloworld --resource-group
myResourceGroup --ip-address public
$ curl 52.168.86.133
Azure ContainerInstances(ACI) PREVIEW
ACIが無限の
コンテナキャパシティを提供
The ACI Connector for K8S がすべ
て提供
Kubernetesのリッチなオー
ケストレーション
ACI Connector for Kubernetes
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
Azure ContainerInstances(ACI) PREVIEW
Kubernetes API
Node Node Node Node
virtual kubelet
Kubelet Kubelet Kubelet Kubelet
kubelets は通常、各ノード上でのコンテナ作成/
削除やボリュームの割り当てなどの管理を行う
Virtual kublet 自分自身を”ノード”として登録し
開発者に自分自身のポッドやコンテナの振る舞いを
管理させる
Virtual Kubelet
Container Group Namespace
Container A Container B
(Exposed) Port: 80 Port: 6000
• 同じコンテナーグループの
コンテナーは、
同じ仮想マシンに配置
• コンテナーグループは代表
で1つの公開パブリックIPと
ポートを持てる
• コンテナーグループ内では
localhostとしてコンテナー間
通信が可能
• “サイドカー”
• コンテナーはAzure File Storage
をマウントできる
Container Group Namespace
sidecar
• 2つのコンテナー
• getenv: 各種環境情報を
取得し表示するHTTP
サーバー
• sidecar: getenv
コンテナーの監視
• せっかくなので軽量に
• コンテナーサイズは約
10MBytes
• Golang + Alpine Linux
• マルチステージビルド
getenv
(Exposed) Port: 8080
169.254.169.254
エコシステム
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
エコシステム
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
フロントエンド
Load balancer
Runtime
Database
API
Endpoint
永続
ストレージ
Local Container
Cache
Monitoring Service
SCM ContainerApp Container
アプリへの
リクエスト
SSH
Proxy
• Exposeしたポートは[アプ
リ設定] > [環境変数] の
WEBSITES_PORTで明示的に
指定できる
エコシステム
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
エコシステム
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
Kubernetes:デファクトスタンダード
可搬性
パブリック、プライベート、
ハイブリッド、
マルチクラウド
拡張性
モジュール化、プラグイン
フック、組み込み可能
自己回復性
自動置き換え、自動再起動、
自動レプリケーション、
オートスケール
Kubernetes ができること
アプリを迅速かつ
的確にデプロイ
アプリケーション
稼働中に
基盤の拡張
新機能を
シームレスに展開
ハードウェアの
使用量を必要な
リソースのみに制限
Azure Kubernetes Service (AKS) PREVIEW
Simplify the deployment, management, and operations of
Kubernetes
K8SのAPIで
利用可能
容易にスケールインフラではなく
アプリに集中できる
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
Azure Kubernetes Service (AKS) PREVIEW
Get started easily
$ az aks create
$ az aks install-cli
$ az aks get-credentials
$ kubectl get nodes
Azure Kubernetes Service (AKS) PREVIEW
Manage an AKS cluster
$ az aks list
$ az aks upgrade
$ kubectl get nodes
$ az aks scale
Azure Kubernetes Service (AKS) PREVIEW
Customized Kubernetes on Azure
Enables custom
deployments
Available
on GitHub
A proving ground
for new features
エコシステム
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
エコシステム
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
App
Host User Mode
Container
Runtime
App App
Virtual Machine
App
Host User Mode
Container
Runtime
Hyper-V Isolation
Virtual Machine
Optimized for Container
App
エコシステム
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
エコシステム
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
Open Service Broker for Azure (OSBA)
Connecting containers to Azure services and platforms
シンプルでフレキシブル
なサービス
インテグレーション
多くのプラット
フォームとの互換性
Azureのサービスと
接続する標準的な方法
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)
Open Service Broker for Azure (OSBA)
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
 本書に記載した情報は本書各項目に関する発行日現在のMicrosoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないためここに記載した情報に
対していかなる責務を負うものではなく提示された情報の信憑性については保証できません。
 本書は情報提供のみを目的としています。Microsoft は明示的または暗示的を問わず本書にいかなる保証も与えるものではありません。
 すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく本書の如何なる部分についても転載や検索システムへの格納または挿入を行う
ことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)および目的であっても禁じられています。
これらは著作権保護された権利を制限するものではありません。
 Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給
される場合を除いて本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。
© 2018 Microsoft Corporation. All rights reserved.
Microsoft, Windows, その他本文中に登場した各製品名は、MicrosoftCorporation の米国およびその他の国における登録商標または商標です。
その他記載されている会社名および製品名は一般に各社の商標です。
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/
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
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
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
https://github.com/kubernetes-incubator/service-catalog
https://almvm.azurewebsites.net/labs/vstsextend/

20180309 azure+container

Editor's Notes

  • #8 https://azure.microsoft.com/ja-jp/pricing/details/container-registry/ PCF, OpenShift, DC/OSも使えるよ。
  • #10 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #11 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #14 individual and service auth Separate push/pull credentials DO NOT use admin credentials with ACR! Image scanning Twistlock AquaSecurity
  • #16 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #17 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #18 コンテナー1つから使えるマネージドサービス ユーザーはアプリに集中 秒単位課金 起動が秒速なコンテナーならでは 単独でも、組み合わせても 今後Azureの各サービスの基盤として使われる可能性大 今できること - Run Linux and Windows containers - Custom CPU/memory (up to 4 CPU/14 GB memory) - Expose containers via public IP - Mount storage volumes - Set environment variables and pass secrets - Set restart policy - Override the command line ロードマップ - Provide most standard container capabilities Attach to an existing container Copy files into/out of running containers Enable ACI containers to do most things that VMs can do in Azure Networking: Join a private vnet, sit behind an internal or external load balancer Storage: Mount managed disks (Azure files is already available) Invest in ACI Connector for more complex applications Autoscaling, HA, rolling upgrades, load balancing, etc. will all be easier with an orchestrator Developer tooling will also primarily target the orchestrator layer
  • #22 Virtual kublet registers itself as a “node” and allows developers to program their own behaviors for operations on pods and containers.
  • #26 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #27 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #29 Exposeしたポート8080をコンテナーイメージから検出し、ランダムなポートとマッピングしている
  • #31 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #32 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #33 Modular, pluggable, hookable, composable
  • #43 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #44 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #47 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #48 OSBA Open Service Broker API 元々Cloud Foundry のService Broker API というDBつくったりするAPIがあったのですが、マルチPaaS対応になったのがOSBA。
  • #49 元々、Cloud FoundryにDBやユーザー、サービスなどの自動作成等を行うService BrokerというAPIの口がありました。 Azure で使えるようになったというのがOSBA
  • #50 Cloud Foundry で産まれたService BrokerをOpenShiftやK8Sで使えるようにしたのがOSBA 仕様で策定されているAPIは7つ Catalog GET Service Instance PUT DELETE Service Binding PUT DELETE Service Catalog(OSBA と K8Sの統合プロジェクト)
  • #54 Credential Scan Code Analyzer で認証情報や接続情報がソースコードに書かれており、Commit対象になっていれば抽出・警告する。
  • #55 SQL Database の接続文字列を含む Microsoft’s Cyber Defense Operation Center (CDOC) Rotate the published credential immediately (e.g. If it detects a leaked certificate then the certificate must be reissued, and the leaked certificate removed and/or revoked). Update configs/apps to use the new secret as necessary. Store the new secret in Azure Key Vault and out of GitHub. Do not publicly share or expose the new secret. Remove the published secret.