red hat だけじゃない azure paasで実現するweb x mysql...
TRANSCRIPT
Red Hat だけじゃない Azure PaaSで実現するWeb x MySQL アプリの爆速フルマネージド化対応
Yoichi KawasakiAzure Technology Solution Professional
Asia Intelligent Cloud Global Black Belt
Microsoft Corporation
Slides for Cloud Partner Session at RED HAT FORUM TOKYO 2017
ふつうのLAMPアプリの構成
アプリ + Web/Appサーバ
アプリ + Web/Appサーバ
アプリ + Web/Appサーバ
アプリ + Web/Appサーバ
Balancer
Web/App Servers Database Servers
本番運用、色々と考えなければいけない
• 災害対策(DR)
• 冗長化対策
• 高負荷対策
• パッチあてなどUpdate とランタイムの更新
• CI/CD
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予定
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可能
最も単純なデプロイメントの流れ
Local PC Container Registry
• 開発、ビルド、テスト• コンテナイメージ作成
コンテナイメージをRegistryにプッシュ
Web AppがコンテナイメージをRegistryからプル
https://hub.docker.com/ http://***.azurewebsites.net/
Web x MySQLアプリをAzure PaaSサービスに移行するためにやること1. MySQL接続先をAzure DB for MySQLに変更
2. アプリをDockerコンテナイメージにパッケージ化
3. コンテナレジストリに作成したコンテナイメージをpush
4. Web App for Containerのプロビジョニング + コンテナイメージのデプロイメント
デプロイメントライフサイクルとCI/CD
Commits code Build/CI CD pipelineContainer Registry
commits code Build/CI CD pipelineAzure Container
Registry
Code Repository Build + Testing Release
最後に
こちらから探してWebセミナーをご登録ください
https://aka.ms/jawebinar
• Railsアプリ - 10月20日 16:30 - 17:30
• PHPアプリ - 11月16日、11月30日、12月19日
Web App for Containers
Web App for Containerプロビジョニングコマンドライン(Azure CLI)による実行
Web App for Containerの作成(プロビジョニング時にコンテナを指定)
# App Settingsに環境変数をセット (--settingsのパラメータにスペース区切りで複数設定可)