Red Hat だけじゃない Azure PaaSで実現するWeb x MySQL アプリの爆速フルマネージド化対応
1. Red Hat だけじゃない Azure PaaSで実現する
Web x MySQL アプリの爆速フルマネージド化対応
Yoichi Kawasaki
Azure Technology Solution Professional
Asia Intelligent Cloud Global Black Belt
Microsoft Corporation
Slides for Cloud Partner Session at RED HAT FORUM TOKYO 2017
4. Web App for
Containers
2017年9月正式リリース
MySQL 5.6/5.7
(CommunityVersion)
PostgreSQL 9.5/9.6
(Community Version)
Azure Database for MySQL
Azure Database for
PostgreSQL
現在Public Preview中
近々GA予定
5. Azure PaaSでフルマネージド化した構成
Docker Container
Web App for Containers
アプリ + Web/Appサーバ
• 必要なものは全てコンテナイメージ化
されたコンテナインスタンスをWeb
Appで走らせる
• Web Appの特徴
• フルマネージド
• 高速なプロビジョニング
• オートスケール
• 豊富な運用管理+DevOps機能
• 既存のドライバ、ライブラリと完全互換で
それまで同様の使い方が可能
• Azure DB for MySQLの特徴
• フルマネージドデータベース
• 標準冗長化+自動フェイルオーバー
• ダウンタイム無し scale up/down可
• 自動バックアップ/Point in time
recovery可能
6. 最も単純なデプロイメントの流れ
Local PC Container Registry
• 開発、ビルド、テスト
• コンテナイメージ作成
コンテナイメージを
Registryにプッシュ
Web Appが
コンテナイメージを
Registryからプル
https://hub.docker.com/ http://***.azurewebsites.net/
7. Web x MySQLアプリをAzure PaaS
サービスに移行するためにやること
1. MySQL接続先をAzure DB for MySQLに変更
2. アプリをDockerコンテナイメージにパッケージ化
3. コンテナレジストリに作成したコンテナイメージをpush
4. Web App for Containerのプロビジョニング + コンテ
ナイメージのデプロイメント
13. Web App for Containerプロビジョニング
コマンドライン(Azure CLI)による実行
Web App for Containerの作成(プロビジョニング時にコンテナを指定)
# App Settingsに環境変数をセット (--settingsのパラメータにスペース区切りで複数設定可)
Editor's Notes
Deployment slots
安全に本番環境へ Blue Green デプロイ
何かあったらロールバック
スロットを作成しても価格は同じ