SlideShare a Scribd company logo
1 of 53
Web App for Containers + MySQLで
コンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
Azure Technology Solution Professional
Asia Intelligent Cloud Global Black Belt
Microsoft Corporation
Slides for Azure Webinar: Azure PaaS App + DevOps
アジェンダ
• 本セミナーの目的
• Web App for ContainersとApp Service on Linux
• Azure Database for MySQL/PostgreSQL
• アプリのコンテナ化+フルマネージド化対応
• 継続的デリバリー(CD)
本日とりあげるPHPアプリ
みんな大好きWordpress、最も有名なLAMPスタックアプリの1つ
https://wordpress.org/
ふつうの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予定
本セミナーの目的
アプリをコンテナ化しフルマネージド化するための一連の流れを
ご理解いただくこと
Container
Web App for Containers
VM
PHP App + Apache2
VM
PHP App + Apache2
Container
Web App for Containers
VM
PHP App + Apache2
VM
PHP App + Apache2
Container
PHP App + Apache2
VM VM
①
②
③
アプリのDockerコンテナ化
Azure PaaSでフルマネージド化
Web App for Containers と
App Service on Linux
コンテナを使う理由?
• アプリケーションのポータビリティ
• 必要なものは全てイメージ化してクラウド、オンプレをまたがってコンテナを
移動できる
• 起動時間の短縮
• 仮想マシンよりもオーバーヘッドが少なく起動が高速
• 高密度なリソース利用が可能
• 構成が仮想化よりも単純であるため高密度なリソース利用が可能
App Serviceを使う理由?
• フルマネージドなアプリ実行環境
• これまではWindows + IISのマネージド環境
• パッチあてなどUpdate とランタイムの更新は Azureが行う
• 高速なプロビジョニング
• 数秒でアプリ実行環境が完成
• 柔軟なスケーリング
• スケールアップ・スケールアウトも数クリック、オートスケールも可能
• 簡単なデプロイメント
• 既存のコードレポジトリ(Git/Github)やCIツール・サービス(Jenkins, VSTS,
TravisCI/CircleCIなど) と連携した CI/CD が容易に実現可能
お客様からの強いリクエスト
https://feedback.azure.com/forums/169385-web-apps/suggestions/8362119-support-linux-for-paas
Web App for Containers
App Service on Linux
• フルマネージドサービス、Platform-as-a-Service (PaaS)
• 柔軟なスケールアップ・ダウン + オートスケール
• お客様からの強い要望により実現
• Linux VMで動いているコンテナベースのアプリをターゲット
• オンプレからのLift and Shiftがとても容易
2017年9月正式リリース
Azure App Services on Linux
• Web App with built-in images
• Node.js, PHP, .NET Core, Rubyなどランタイムス
タックを選択してアプリケーションをデプロイ
• Windows Web App と同じ方法で利用可能
https://github.com/azure-app-service
Web App for Containers
• Bring Your Own Container
• アプリケーション入りの皆さんのカスタムイメージを
デプロイして実行する
イメージのソース
 Azure Container Registry
 Docker Hub
 プライベートレジストリ
Azure Database for
MySQL/PostgreSQL
Azure Database for PostgreSQL
Azure Database for MySQL
• フルマネージドサービス, PaaS
• 可用性担保のためのレプリカ、ストレージ費用は追加不要
• インスタンス チューニングではなく
必要なスループット プランを必要なときに選択
• ダウンタイム無しでスケールアップ、スケールダウンも自在
• 自動バックアップ、 ポイントインタイムリカバリ(PITR)可能
( 35日間)
• 常時暗号化でバックアップも運用 DB も保護
• 既存のドライバ、ライブラリ、ツールと完全互換
使い慣れたツール、アプリケーションでからすぐに利用可能
(マイクロソフト製のツールやドライバなどは不要)
MySQL
PostgreSQL
New! Public Preview
MySQL 5.6/5.7
(Community Version)
PostgreSQL 9.5/9.6
(Community Version)
AZURE DATABASE FOR MYSQL &
POSTGRESQL REGION AVAILABILITY
TODAY
West US, North Central US, East US,
East US2, South Central US, West
Europe, North Europe, Japan West,
Japan East, East Asia, SE Asia, India
West, India Central, Canada Central,
Canada East, Brazil
More coming soon!
16
Azure regions
available today
MySQL / PostrgreSQL サービスの構成基盤
• Azure SQL Database と共通基盤
• これまでの運用実績、ノウハウをフィードバック「枯れた」基盤で運用
• Virtual Machine 上ではなく、”Service Fabric” 上に実装
https://azure.microsoft.com/ja-jp/services/service-fabric/
PowerBI,AppServices,DataFactory,
Analytics,ML,Cognitive,Bot…
Global Azure with 38 Regions
Azure Compute
SQL Data
Warehouse
Azure Storage
SQL Database MySQLPREVIEW PostgreSQLPREVIEW
Flexible: On-demand scaling, Resource governance
Trusted: HA/DR, Backup/Restore, Security, Audit, Isolation
Intelligent: Advisors, Tuning, Monitoring
Database
Services
Platform
Service Fabric
サービスの概念と接続イメージ
Azure リージョン
Azure Resource Manager
Application
Postgres
Client
Database Tools
(Pgadmin, psql)
Postgres
Client
Database Tools
(MySQL Workbench,
mysql Client)
MySQL
Client
Azure Database
Mgmt Service
Application
MySQL Client
REST API
Azureポータ
ル
カスタム管理
アプリAzure CLI
• 論理 DB : “インスタンス” ではない
• 標準で冗長化され、自動フェイルオー
バーを実装
• Database は“エンドポイント”に対し
てREST APIで管理
• 接続制御はファイアウォールの
ルールベースで実施
• エンジンはコミュニティバージョン
セキュリティの仕組み
データ保護
• 標準でデータベースと
バックアップ データを
暗号化 (AES 256)
アクセス管理
• 規定SSL 接続
• サーバー ファイアウォール
• (IPホワイトリスト方式)
ID 管理
• PostgreSQL / MySQL
ネイティブ認証
その他運用面でのメリット
• 自動的にパッチ適用で運用の心配を減らす
• メトリック監視とアラート機能を提供
• サーバーログは最大7日分まで保存(ポータル、Rest
API, Azure CLIで確認可能)
• 最大35日分のバックアップを保持でポイントインタ
イムリカバリ可能
• サーバーパラメータの設定も可能
アプリをDockerコンテナ化して
フルマネージドサービスに移行
Container
Web App for Containers
VM
PHP App + Apache2
VM
PHP App + Apache2
Container
PHP App + Apache2
VM VM
①
②
③
アプリのDockerコンテナ化
Azure PaaSでフルマネージド化
フルマネージド化対応までの流れ
1. アプリのDockerコンテナ化
2. MySQL接続部をAzure DB for MySQLに対応
3. 作成したコンテナイメージをコンテナレジストリに
push(Docker Hub / Azure Container Registry)
4. Web App for Container の プロビジョニング +
コンテナイメージのデプロイメント
サンプルコード
本ウェビナーの説明で使用する設定ファイルコードは全て
GITHUBにアップしてあります。ご自分の環境でお試しに
なりたい方は下記レポジトリよりgit clone/ダウンロード
してお使いください。
https://github.com/yokawasa/WordPress
git clone https://github.com/yokawasa/WordPress.git
アプリのDockerコンテナ化
Dockerfileの作成
• Dockerコンテナーの構成内容をまとめて記述するファイル
Best practices for writing Dockerfiles
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
サンプルDockerfile (Pythonアプリapp.pyの環境)
標準的なWordpress用Dockerfile
ベースイメージはphp:7.0-apache
その他追加パッケージのインストール
推奨PHP設定(OPcache )
ファイル・ディレクトリ関連設定
docker-entrypoint.sh
シェルを介して実行する設定内容を記述。
ここではWordpress用パラメータ設定
ファイル(wp-config.php)の初期設定等https://github.com/yokawasa/WordPress/blob/master/Docker
Wordpressアプリ環境の構成内容を記述
ベースはDocker公式のWordpressイメージ
https://github.com/docker-library/wordpress/tree/master/php7.0/apache
Web App用カスタムコンテナのための
設定ポイント
https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/
1. パラメータは環境変数から読み込むように設定
DB接続先やアプリ内の可変パラメータなど
2. 外部公開用ポートの自動バインド
外部公開可能なポートは1つのみ。ポートは自動で検知されコンテナにバインドされる。
WEBSITES_PORT環境変数で明示的に指定可
3. SSHの設定
Azureポータル内のクライアントからのみコンテナイメージにSSHログインが可能。rootユーザー
パスワードは“Docker!”, ポートは2222
https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-ssh-support
4. 永続化データと/homeディレクトリ
WEBSITES_ENABLE_APP_SERVICE_STORAGEをtrueにすることで/homeディレクトリは
ストレージにマウントされる
Web Appコンテナ用WordpressアプリのDockerfile
https://github.com/yokawasa/WordPress/blob/master/Dockerfile.weba
pp
Web AppへのSSHログインのための設定
永続化ディレクトリ(/home)にアプリ
コード展開とログ出力するための設定
アプリのコンテナイメージ化と実行
コンテナをビルドする (image_name:tag=wordpress-app:0.0.1)
コンテナをローカルで走らせてテスト
環境変数でMySQL接続情報とストレージ永続有効化設定をセット
[参考] Docker-compose.ymlに整理すると
アプリ + MySQLコンテナの実行用ファイルWordpressアプリコンテナの実行用設定ファイル
docker-compose_remotedb.yml
docker-compose_localdb.yml
docker-compose -f docker-compose_remotedb.yml up
次のようにdocker-composeで実行
Azure DB for MySQLの作成
Azureポータル、Azure CLI、REST API経由で作成可能
ここではAzure CLIでの作成方法をご紹介
DBアカウント作成
az mysql server create --name <dbaccountname> 
--resource-group <groupname> 
--location <region> 
--admin-user <adminuser> --admin-password <password>
--performance-tier <Tier:Basic|Standard> --compute-units <unit#>
→ サーバ名: <dbaccountname>.mysql.database.azure.com
例)DBアカウントyoichikademo01作成 (Basic帯, リージョン:西日本, adminユーザ:myadmin)
az mysql server create --name yoichikademo01--resource-group myrgroup 
--location japanwest --admin-user myadmin --admin-password *** 
--performance-tier Basic --compute-units 50
Azure DB for MySQLの設定
1. ファイアウォールの設定(ここではテストのため便宜上全てのIPレンジを許可)
az mysql server firewall-rule create --resource-group <group> 
--server <dbaccountname> --name AllowFullRangeIP 
--start-ip-address 0.0.0.0 --end-ip-address 255.255.255.255
mysqlコマンドでテストアクセス (DBアカウントyoicikademo01へのアクセス )
mysql -u myadmin@yoichikademo01 -p -h yoichikademo01.mysql.database.azure.com
2. ssl-enforcement パラメーターを無効化(以降のアプリのテスト簡略化のため・・・)
az mysql server update --resource-group <group> 
--name <dbaccountname> --ssl-enforcement Disabled
https://docs.microsoft.com/en-us/cli/azure/mysql
MySQL接続先を変更して実行テスト
MySQL接続先を前のステップで作成したAzure DB for MySQLに変更
して問題なくWordpressアプリが実行されることを確認する
myadmin
****
yoichikademo01.mysql.database.azure.com
Docker HubにイメージをPUSH
Docker HubにPUSH (image-name:tag=wordpress-app:0.0.1)
Docker Hubにイメージが
PUSHされていることを確認
<dockerhub-user>/<imagename>:<tag>
= yoichikawasaki/wordpress-app:0.0.1
Web App for Containerプロビジョニング
Azure CLIによる設定
https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image
Web App for Containerの作成(プロビジョニング時にコンテナを指定)
# App Settingsに環境変数をセット (--settingsのパラメータにスペース区切りで複数設定可)
継続的デリバリー(CD)
最も単純なデプロイメントの流れ
Local PC Container Registry
• 開発、ビルド、テスト
• コンテナイメージ作成
コンテナイメージを
Registryにプッシュ
Web Appが
コンテナイメーを
Registryからプル
https://hub.docker.com/
deployment slot
• dev
• Staging
• production
AzureでのCI/CDオプション
Web AppのWebhookとコンテナレジストリ連携
• Docker Hub/Azure Container RegistryにイメージPUSHでWebhookキックされてWeb
Appのコンテナ入れ替える、お手軽な手法
• https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-ci-cd
自動化を支えるCI/CDツール群
• Visual Studio Team Services
• Jenkins
• TravisCI / CircleCI
デプロイメントサイクルとCI/CD
Commits code Build/CI CD pipelineContainer Registry
commits code Build/CI CD pipelineAzure Container
Registry
Code Repository Build + Testing Release
Commits code Build/CI CD pipelineContainer Registry
Commits code Build/CI CD pipelineContainer Registry
CircleCI – パイプライン設定内容
パイプライン処理で必要な
パッケージをインストール
コンテナイメージのビルド
イメージのテスト
Docker Hubにイメージ
プッシュ
Web Appのベースコンテナ
を新しいイメージに設定変更
設定ファイル: https://github.com/yokawasa/WordPress/blob/master/.circleci/config.yml
CircleCI – 環境変数設定
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可能
APPENDIX
Azureのコンテナ関連サービス
Azure
Container Service Service Fabric App ServiceAzure Container
Instance
IaaS Low Level PaaS High Level PaaS
• Azure Container Service
• IaaSベースのサービス、複数のVMを使ってクラスタを構成。Kubernetes, DCOS Docker, Swarmを
使ってコンテナのスケールとオーケストレーションが簡単できるサービス
• Azure Container Instance
• VMいらずで、シングルコマンドで簡単かつ高速に実行可能なコンテナインスタンス。秒単位課金
• Azure Service Fabric
• マイクロサービス向けのオーケストレーターとランタイム。大規模サービス向け
• App Service (Web App for Containers + App Service on Linux)
• アプリ実行に必要なさまざま機能が用意されたPaaS環境
Azure Container Registry
Azure上のファーストクラスDockerプライベートレジストリ
https://azure.microsoft.com/en-us/services/container-registry/
App Service Jenkins Plugins
https://azure.microsoft.com/en-us/blog/annoucing-jenkins-deploy-to-azure-app-
service-plugin-and-new-managed-disk-support-for-azure-storage-plugin/
Jenkinsを使ったCI
https://docs.microsoft.com/en-us/azure/jenkins/deploy-jenkins-app-service-plugin
Azure Databaseマイグレーションパス
• https://datamigration.microsoft.com/

More Related Content

What's hot

サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会ShuheiUda
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)Takanori Sejima
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜Yoshiki Nakagawa
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみたtyamane
 
Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceToru Makabe
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014Nov Matake
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナーNGINX, Inc.
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜aha_oretama
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM LoggingYuji Kubota
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドMasanori Nara
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Masahito Zembutsu
 

What's hot (20)

サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)InnoDBのすゝめ(仮)
InnoDBのすゝめ(仮)
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
DatadogでAWS監視やってみた
DatadogでAWS監視やってみたDatadogでAWS監視やってみた
DatadogでAWS監視やってみた
 
Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes Service
 
Azure Search 大全
Azure Search 大全Azure Search 大全
Azure Search 大全
 
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
 
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
講演資料: コスト最適なプライベートCDNを「NGINX」で実現するWeb最適化セミナー
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
Unified JVM Logging
Unified JVM LoggingUnified JVM Logging
Unified JVM Logging
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~Serf / Consul 入門 ~仕事を楽しくしよう~
Serf / Consul 入門 ~仕事を楽しくしよう~
 

Similar to Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!

Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQLRyusuke Kajiyama
 
最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみたHiroyuki Mori
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識Daiyu Hatakeyama
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシートMasayuki Ozawa
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した WebシステムデザインDaisuke Masubuchi
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたGoAzure
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3科 黄
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたSunao Tomita
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2Dell TechCenter Japan
 
おいしいフルマネージドデータベース はじめました
おいしいフルマネージドデータベース はじめましたおいしいフルマネージドデータベース はじめました
おいしいフルマネージドデータベース はじめましたMiho Yamamoto
 
SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221Hitoshi Ikemoto
 
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Ayako Omori
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula introIzumi Akiyama
 
20190705 mas ken_azure_stack
20190705 mas ken_azure_stack20190705 mas ken_azure_stack
20190705 mas ken_azure_stackOsamu Takazoe
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueNoritaka Sekiyama
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferenceMicrosoft
 

Similar to Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! (20)

Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL20140518 JJUG MySQL Clsuter as NoSQL
20140518 JJUG MySQL Clsuter as NoSQL
 
最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた最近Preview公開されたAzure テストサービスを試してみた
最近Preview公開されたAzure テストサービスを試してみた
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
 
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみたA 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
 
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみたAwsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
おいしいフルマネージドデータベース はじめました
おいしいフルマネージドデータベース はじめましたおいしいフルマネージドデータベース はじめました
おいしいフルマネージドデータベース はじめました
 
SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221SAP on Azure Cloud Workshop Material Japanese 20190221
SAP on Azure Cloud Workshop Material Japanese 20190221
 
AWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDSAWS Blackbelt 2015シリーズ RDS
AWS Blackbelt 2015シリーズ RDS
 
Microsoft Azure Update 20151112
Microsoft Azure Update 20151112Microsoft Azure Update 20151112
Microsoft Azure Update 20151112
 
20140919 enterprise oss my sql study v5.tware-bacula intro
20140919 enterprise oss my sql study   v5.tware-bacula intro20140919 enterprise oss my sql study   v5.tware-bacula intro
20140919 enterprise oss my sql study v5.tware-bacula intro
 
20190705 mas ken_azure_stack
20190705 mas ken_azure_stack20190705 mas ken_azure_stack
20190705 mas ken_azure_stack
 
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS GlueModernizing Big Data Workload Using Amazon EMR & AWS Glue
Modernizing Big Data Workload Using Amazon EMR & AWS Glue
 
PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
 

More from Yoichi Kawasaki

今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09Yoichi Kawasaki
 
今Serverlessが面白いわけ
今Serverlessが面白いわけ今Serverlessが面白いわけ
今Serverlessが面白いわけYoichi Kawasaki
 
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Age
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Ageクラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Age
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native AgeYoichi Kawasaki
 
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドAzure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドYoichi Kawasaki
 
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューションデベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューションYoichi Kawasaki
 
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察
Service Mesh Status Quo 2018:  2019年に向けたService Meshの現状課題の整理と考察Service Mesh Status Quo 2018:  2019年に向けたService Meshの現状課題の整理と考察
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察Yoichi Kawasaki
 
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Yoichi Kawasaki
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門Yoichi Kawasaki
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望Yoichi Kawasaki
 
アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門Yoichi Kawasaki
 
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcAzure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcYoichi Kawasaki
 
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Yoichi Kawasaki
 
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -Yoichi Kawasaki
 
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -Yoichi Kawasaki
 
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!Yoichi Kawasaki
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウYoichi Kawasaki
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Yoichi Kawasaki
 
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonPythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonYoichi Kawasaki
 
Azure サービスを活用して作るフルマネージドな全文検索アプリケーション
Azure サービスを活用して作るフルマネージドな全文検索アプリケーションAzure サービスを活用して作るフルマネージドな全文検索アプリケーション
Azure サービスを活用して作るフルマネージドな全文検索アプリケーションYoichi Kawasaki
 

More from Yoichi Kawasaki (19)

今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09
 
今Serverlessが面白いわけ
今Serverlessが面白いわけ今Serverlessが面白いわけ
今Serverlessが面白いわけ
 
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Age
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Ageクラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Age
クラウドネイティブ時代の分散トレーシング - Distributed Tracing in a Cloud Native Age
 
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドAzure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
 
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューションデベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション
デベロッパーのためのAzureクラウドネイティブスタック 〜 提供したい価値からはじめる高速+高可用+高付加価値ソリューション
 
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察
Service Mesh Status Quo 2018:  2019年に向けたService Meshの現状課題の整理と考察Service Mesh Status Quo 2018:  2019年に向けたService Meshの現状課題の整理と考察
Service Mesh Status Quo 2018: 2019年に向けたService Meshの現状課題の整理と考察
 
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
Azure Containers & Serverless Technology Options (After-Tech-Summit-2018 Edit...
 
Istioサービスメッシュ入門
Istioサービスメッシュ入門Istioサービスメッシュ入門
Istioサービスメッシュ入門
 
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望
 
アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門アプリケーション開発者のためのAzure Databricks入門
アプリケーション開発者のためのAzure Databricks入門
 
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcAzure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
 
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
 
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 応用編 -
 
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
Azure Functions&Logic Appではじめるサーバレスアプリケーション開発 - 入門編 -
 
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
Web App for Containers + Cosmos DBで コンテナ対応したMEANアプリを作ろう!
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法
 
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with PythonPythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
PythonによるAzureサーバレスアプリケーション開発 / Serverless Application Development with Python
 
Azure サービスを活用して作るフルマネージドな全文検索アプリケーション
Azure サービスを活用して作るフルマネージドな全文検索アプリケーションAzure サービスを活用して作るフルマネージドな全文検索アプリケーション
Azure サービスを活用して作るフルマネージドな全文検索アプリケーション
 

Recently uploaded

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!

Editor's Notes

  1. Web App for Container は、アプリスタックのホストに Docker コンテナーを使用しており、皆さんが今Linux上で利用しているOSSベースのアプリもアプリスタックごとDockerコンテナ化することでそのまま Web App for Container で利用することができます。 本ウェビナーでは アプリ実行環境にWebAppForContainer、MySQLにAzureのフルマネージドMySQLサービスであるAzure DB for MySQLを利用しますのでこちらのサービスの説明をいたします。 また、Wordpress ( MySQL + PHP アプリ) を題材に、アプリをコンテナ化しフルマネージド化するための一連の流れを解説します。 そして最後にCIサービスを使った継続的デリバリ方法についてご紹介します。
  2. Dockerのポータビリティとは同じCPUアーキテクチャ(Intel x86_64)で動く同じOS上であれば、Dockerイメージをそのままポータブルに利用可能 ホストLinuxの種類が異なる環境で利用する際には、思わぬ問題が発生する恐れがある https://www.school.ctc-g.co.jp/columns/nakai/nakai43.html 一方、異なるCPUやOSの場合でも、OS固有の機能(たとえばパッケージインストールなど)を使わずにDockerファイルをうまく書いてあれば、同じDockerfileで同様のコンテナーを再現できる。 起動時間の短縮 Dockerを実行するホスト上で他のアプリケーションと同様のプロセス単位で管理されるため、ハイパーバイザー型の仮想化マシンでいうOSブート処理が必要ありません 構成が仮想化よりも単純で、リソース消費量が少ないため、高密度化が可能である
  3. フルマネージド これまでの環境では:.NET/PHP/Node.js/Python/JavaといったラインタイムのWebアプリケーションの稼働が可能(Windows上)
  4. 一瞬過去中国に存在していた My SQL サービスとは別。別アーキテクチャ
  5. コンテナイメージをレジストリにPUSHする Web App For Containerではそのイメージのソースを指定する イメージソースの選択肢として、DockerHub以外に、AzureのマネージドのプライベートレジストリであるACR、もしくはそれ以外のプライベートレジストリも指定可能
  6. 一瞬過去中国に存在していた My SQL サービスとは別。別アーキテクチャ 2017/05 Public preview release
  7. AzureDB for MYSQL/POSTGRESQLはSQLDBおよびSQLDWサービスと同様のデータベース基盤Database Service Platform(DBSP)の上に構築されているます。 DBSPはSeervice Fabricをベースに組み込みHA、バックアップ/リストア・サービス、リソース・ガバナンス、監視とパフォーマンス・チューニング、およびアドバイザ機能を備えた各データベースの完全分離などの機能を提供します。現在、このプラットフォームが拡張され、2つのデータベース管理サービス(MySQLとPostgreSQL)が追加されています。
  8. 1. 1つ以上のデータベースで構成される論理DB 2. 論理的エンドポイントでデータベースに接続 3. MySQL/PostgreSQLサービスは、Azure Resource Managementサービス(ARM)を介して公開、REST APIを通じて、サーバーとデータベースのプロビジョニングと管理を可能にする。これらのARM APIを使用して、サービスとのすべての管理対話が可能。 MySQL/PostgreSQLサービスは、それぞれCommunity Version / ネイティブ PostgreSQLの認証とセキュリティモデルをサポートしています。    データベース管理ツールと開発ツールは、みなさんがお使いのMySQL/PostgreSQLプロトコルを介して接続することが可能 データベースエンジンは:コミュニティバージョンのMySQLとPostgreSQLデータベースエンジンを使用している MySQL: Community Version: 5.6/5.7 PostgreSQL: Native PostgreSQL: 9.5/9.6
  9. all data at rest (database files, logs, backups) are encrypted by default with service-managed keys
  10. コンテナ イメージを作成するための指示が記述されている OPCacheとは? - プログラム実行時にオペコードをキャッシュしておく技術 PHPはプログラム実行時にソースコードをコンパイルしてオペコードを生成し実行しています。 そのオペコードをキャッシュすることで、オペコードを生成する為の構文解析やらコンパイルの時間を短縮・サーバの負荷軽減できます。 PHP 5.5から標準でインストール
  11. https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/#OnePort https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/#HomeOverwrite
  12. コンテナ イメージを作成するための指示が記述されている
  13. コンテナ イメージを作成するための指示が記述されている
  14. コンテナ イメージを作成するための指示が記述されている
  15. コンテナ イメージを作成するための指示が記述されている
  16. コンテナ イメージを作成するための指示が記述されている
  17. コンテナ イメージを作成するための指示が記述されている
  18. コンテナイメージのPUSH先としてここではDocker Hubで説明しておりますが、WebApp for Containersのためのカスタムイメージ格納先としてはAzure Container Registory や 完全なPrivate Registryでも全く問題ありません
  19. https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image
  20. App ServicesはまさにDevOpsを前提とした便利な機能を提供している この継続的デリバリを含むCI/CDというのが開発・リリーススピードの維持、効率化にとても重要になってきます。 継続的デリバリ: コード変更→自動ビルド、テスト、ステージング環境プッシュで本番デプロイ準備の整った状態にすること
  21. Deployment slots 安全に本番環境へ Blue Green デプロイ 何かあったらロールバック スロットを作成しても価格は同じ
  22. VSTS: CI/CD, vesion管理, 自動build, テスト管理、リリースマネジメント Github, DockerHub, Azure Functions連携パターン https://lee-dale.net/2017/03/31/ci-with-azure-web-apps-for-linux-github-dockerhub-and-azure-functions/
  23. https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image
  24. https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-custom-docker-image
  25. ACI: ACSが予測可能な処理のスケーリングに向いているのに対して、ACIは特定処理のバーストシナリオにおいて高速起動・実行することに向いています Aci-connector-k8sというコネクタがあるのでACIをkubernatesの仮想ノードとして利用可能、よって同じK8s (Kubernetes) クラスター内ではVMとACIインスタンスを同時に利用できますので、両社の長所を生かせます。高速なバースト対応にACIを使える一方で、より予測可能なスケーリングのためにVMを使えます ServiceFabric マイクロサービス向けのオーケストレーターとランタイムを提供するPaaSサービスで、HA、スケール、並列処理などマイクロサービスなアプリケーションを開発が容易にできるPaaSであり、そのためのアプリケーションフレームワークも提供されています 大規模スケールについて 1つのVM Scale Setsにつき1000個のVMを持てる,よって最大 1000 台の VM インスタンスにスケーリングできる。一方ACSクラスタはエージェントノードは100までスケール Azure Service Fabricのノードタイプの数に制限はありません。そのためVM Scale Setsのリミテーションに従うということになります。 https://docs.microsoft.com/ja-jp/azure/service-fabric/service-fabric-common-questions#cluster-setup-and-management [note] 実行に必要な VM Service Fabric は 5 台、Container Service は 2 台の VM が必要 高可用性を考えると Container Service は更に必要
  26. Azure Container Registry The new preview ACR tier, managed registries, is available in 3 options: Basic, Standard, and Premium AAD authentication for repositories, Delete operations, Webhook support