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.
なるほどわかった!
App Service on Linux
オープンソースカンファレンス 2017 Hokkaido
2017/07/15
Yasuaki Matsuda
自己紹介
札幌在住、.NET系の開発がお仕事
JAZUG札幌支部のスタッフ
2016年~2017年 Microsoft MVP Award を受賞
カテゴリはMicrosoft Azure
Blog:http://vnext-y-blog.az...
3
JAZUG 札幌支部(きたあず)
■正式名称
Japan Azure User Group 札幌支部 / 略称:きたあず
■活動概要
Cloudにちょっと興味のあるゆるふわな方から実ビジネスで
使用される方まで学べる勉強会を開催しています。...
今日のお伝えしたいこと
Microsoft Azureについて軽く紹介
Azure App Service on Linuxについて紹介
全体の仕組みからコンテナの話まで
App Service on Linuxで実際にWordPressを立ち...
Microsoft Azure
マイクロソフトが提供してい
る
パブリッククラウドサービス
小規模~大規模まで対応可能な
Webサイトを構築できる
機械学習(Machine Learning)を
駆使したサービスを実装できる
フルマネジドなDB...
6
40
https://azure.microsoft.com/ja-jp/regions/
7
Azure Datacenter Infrastructure (日本では東日本リージョン、西日本リージョン の 2か所で利用可能)
Hybrid
Operations
Security &
Management
Platform as a...
8
Azure Datacenter Infrastructure (日本では東日本リージョン、西日本リージョン の 2か所で利用可能)
Hybrid
Operations
Security &
Management
Platform as a...
本日のゴール
App Serviceを使ったWordPressサイトの立ち上げ方法を理解し
てもらう
App Serviceの仕組みを理解してもらう
App Service の概要
App Serviceとは!?
Webサイトをフルマネジドに構築することが出来るサービス群
DevOps的な使い方を想定したサービスになっている
Web Apps Mobile AppsLogic Apps API AppsApp Servic...
App Serviceとは!?
ネットワーク・言語
ネットワーク
ゲートウェイやロードバランサは
標準で用意されている
特にサブネットの設定などは不要。
全部Azure側でやってくれる
サポートされているプラットフォーム
PHP
.NET
No...
App Serviceとは!?
ネットワーク・言語
App Serviceとは!?
データベース
 Azure Database, SQL Databaseを使う
MySQL, PostgreSQL, SQL Serverのサーバをサクッと
構築出来るフルマネジドサービス
ユーザー側でのバージ...
App Serviceとは!?
データベース
App Serviceとは!?
OSまわり
動作しているOS
Windows Serverベース
• App Service
Linuxベース (Ubuntu)
• App Service on Linux
App Service on Lin...
App Service on Linuxの概要
プレビューなう
App Service on Linux (preview)
https://azure.microsoft.com/en-us/blog/azure-app-service-
improves-node-js-and-php-develope...
App Service on Linuxの特徴
Docker HubからDockerコンテナを取得してデプロイ出来る
プライベートレジストリ、リポジトリも可
Dockerから下層部分はフルマネジドなので、ミドルウェアのバー
ジョンアップは考えな...
App Service on Linuxで
WordPress!
WordPressをApp Service on Linuxで
アプリを動かすには
Web Apps on Linuxを作
成
• まずは枠を作成する。
「Dockerコンテナー」か
らデプロイしたいDocker
コンテナを指定する
• 「ビル...
Azure MarketPlaceに登録済みの
WordPressコンテナ
Azureが既にApp Service on Linuxに特化したWordPressコンテ
ナを用意しているので、こちらを使うと非常に楽。
App Service on Linuxを使った構成例
Web App
(WordPress)
Azure Database for MySQL(preview)
Azure Backup
Azure Database for MySQL (preview)
https://azure.microsoft.com/ja-jp/blog/microsoft-extends-
azure-managed-database-servic...
実際に作ってみる
バックアップ設定
Azure Backup
Azure VM, App Serviceのイメージバックアップを自動で取るこ
とが出来る
バックアップ時にVMやApp Serviceの停止は無い(無停止バック
アップ)
スケールアウトと
スケールアップ
スケールアウト
ロードバランサ配下の
インスタンス数を増やす
確実に通信断が出ない方法
Azure Monitorの値を条件にして、
自動でスケールアップ
させることが出来る
この例では、CPU利用率が70%を
超えた場合に、インスタンス数を
...
スケールアウト時のストレージ
複数インスタンスが増えるけど、ストレージの冪等性とかどう
なるの?
スケールアウト時のストレージ
各インスタンスは裏では同じストレージを見に行く仕組みに
なっているため、スケールアウトしても同じストレージを見に
行ってくれる
「wp-contentをどうやってミラーリングしよう・・・?」とい
う事は
一切考えな...
イメージ図
Web App
インスタンス
Web App
インスタンス
Web App
インスタンス
ロードバランサ
スケールアップ
インスタンス1台のスペックを上げる
切り替えは数秒ぐらいで終わる
こちらも断はほとんど無い
運用中にメモリ不足に陥るようになった場合は
スケールアップを行うのがオススメ
スケールアップとスケールアウト
どっちを選べば良い?
スケールアウトを選ぶ場合
スパイクなどによる大量アクセスが発生した場合
• とにかく大量の接続を捌かないといけないため、
処理出来るインスタンス数を増やすことで同時アクセス数のキャパシティを...
OSSとプラットフォーム
今回はWordPressを題材に使い方を紹介しました
Dockerコンテナがそのまま動くため、様々なOSS(Xoopsとか)
が動きます。
アプリを快適に動かして提供するための「プラットフォーム」
として
Azure ...
質問などなどありましたら
きたあずでは展示ブースを出しています。
何か疑問点や、「こういう事やってみたい!」
などなどありましたらブースまでお越し下さい!
きたあず、JAZUGについて
きたあずサイト
https://kitaazu.azurewebsites.net/
きたあずFacebookグループ
https://www.facebook.com/groups/jazugsapporo/
J...
ご清聴ありがとうございました
Copyright© 2015, JAZUG All Rights Reserved.
53
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
なるほどわかった!App Service on Linux
Upcoming SlideShare
Loading in …5
×

なるほどわかった!App Service on Linux

1,131 views

Published on

オープンソースカンファレンス 2017 Hokkaido
セッション資料

Published in: Services
  • Be the first to comment

なるほどわかった!App Service on Linux

  1. 1. なるほどわかった! App Service on Linux オープンソースカンファレンス 2017 Hokkaido 2017/07/15 Yasuaki Matsuda
  2. 2. 自己紹介 札幌在住、.NET系の開発がお仕事 JAZUG札幌支部のスタッフ 2016年~2017年 Microsoft MVP Award を受賞 カテゴリはMicrosoft Azure Blog:http://vnext-y-blog.azurewebsites.net/ Twitter:@DarkCrash3 Facebook:vnext.y GitHub:darkcrash Mvp:profile Copyright© 2015, JAZUG All Rights Reserved. 2
  3. 3. 3 JAZUG 札幌支部(きたあず) ■正式名称 Japan Azure User Group 札幌支部 / 略称:きたあず ■活動概要 Cloudにちょっと興味のあるゆるふわな方から実ビジネスで 使用される方まで学べる勉強会を開催しています。 ■Webサイト http://kitaazu.azurewebsites.net/ きたあずちゃん (@kitaazu_chan)
  4. 4. 今日のお伝えしたいこと Microsoft Azureについて軽く紹介 Azure App Service on Linuxについて紹介 全体の仕組みからコンテナの話まで App Service on Linuxで実際にWordPressを立ち上げてみる Copyright© 2015, JAZUG All Rights Reserved. 4
  5. 5. Microsoft Azure マイクロソフトが提供してい る パブリッククラウドサービス 小規模~大規模まで対応可能な Webサイトを構築できる 機械学習(Machine Learning)を 駆使したサービスを実装できる フルマネジドなDBサーバを構 築出来る などなど様々な用途に対応出来 るクラウドサービスです。
  6. 6. 6 40 https://azure.microsoft.com/ja-jp/regions/
  7. 7. 7 Azure Datacenter Infrastructure (日本では東日本リージョン、西日本リージョン の 2か所で利用可能) Hybrid Operations Security & Management Platform as a Services (PaaS) Infrastructure as a Services (IaaS) Compute Storage Web and Mobile Media & CDN Analytics & IoT & IntelligenceIntegration Networking Data Virtual Network Virtual Machines Compute Developer Services Container Service Blob Storag e Premium Storage (SSD) VPN Gateway DNS Express Route Load Balancer Traffic Manager Portal Azure Active Directory Automation Multi-Factor Authentication Key Vault Marketplace VM Image Gallery & VM Depot Backup StorSimpe Cognitive Services DevTest Labs IoT Hub Stream Analytics Machine Learning HDInsight (Hadoop) Table Storage DocumentDB SQL Database Security Center Import/Export Azure AD Connect Health Data Lake Store Search Media Services CDN Site Recovery Log Analytics Batch Mobile Apps VM Scale Set Cloud Services Application Insights Web Apps Service Fabric Storage Queue BizTalk Services Data Lake Analytics Service Bus Hybrid Connection Logic Apps API Apps API Management Notification Hubs Visual Studio Team Services Developer Tools Application Gateway SQL Data Warehouse
  8. 8. 8 Azure Datacenter Infrastructure (日本では東日本リージョン、西日本リージョン の 2か所で利用可能) Hybrid Operations Security & Management Platform as a Services (PaaS) Infrastructure as a Services (IaaS) Compute Storage Web and Mobile Media & CDN Analytics & IoT & IntelligenceIntegration Networking Data Virtual Network Virtual Machines Compute Developer Services Container Service Blob Storag e Premium Storage (SSD) VPN Gateway DNS Express Route Load Balancer Traffic Manager Portal Azure Active Directory Automation Multi-Factor Authentication Key Vault Marketplace VM Image Gallery & VM Depot Backup StorSimpe Cognitive Services DevTest Labs IoT Hub Stream Analytics Machine Learning HDInsight (Hadoop) Table Storage DocumentDB SQL Database Security Center Import/Export Azure AD Connect Health Data Lake Store Search Media Services CDN Site Recovery Log Analytics Batch Mobile Apps VM Scale Set Cloud Services Application Insights Web Apps Service Fabric Storage Queue BizTalk Services Data Lake Analytics Service Bus Hybrid Connection Logic Apps API Apps API Management Notification Hubs Visual Studio Team Services Developer Tools Application Gateway SQL Data Warehouse
  9. 9. 本日のゴール App Serviceを使ったWordPressサイトの立ち上げ方法を理解し てもらう App Serviceの仕組みを理解してもらう
  10. 10. App Service の概要
  11. 11. App Serviceとは!? Webサイトをフルマネジドに構築することが出来るサービス群 DevOps的な使い方を想定したサービスになっている Web Apps Mobile AppsLogic Apps API AppsApp Service Web Apps Webサイトのホスティング Logic Apps ワークフローを定義して、タスクの自動化が出来る API Apps Web APIを構築出来る Mobile Apps モバイルアプリ開発向け機能。Push通知や認証機能を ネイティブアプリに簡単に組み込むことが出来る Functions イベント ベースのサーバーレス コンピューティング Functions
  12. 12. App Serviceとは!? ネットワーク・言語 ネットワーク ゲートウェイやロードバランサは 標準で用意されている 特にサブネットの設定などは不要。 全部Azure側でやってくれる サポートされているプラットフォーム PHP .NET Node.JS Java Python HTML
  13. 13. App Serviceとは!? ネットワーク・言語
  14. 14. App Serviceとは!? データベース  Azure Database, SQL Databaseを使う MySQL, PostgreSQL, SQL Serverのサーバをサクッと 構築出来るフルマネジドサービス ユーザー側でのバージョンアップなどの管理は基本的に 不要 アプリケーションのダウンタイムを伴わない 動的スケーラビリティ 2017年6月25日現在はプレビュー版での提供  MySQL in Appを使う App Serviceに標準でMySQLサーバが用意されている • App Service on Linuxには用意されていないので注意  Clear DBを使う Azure上で使えるサードパーティ製のMySQLサーバのホスティングサー ビスが使える。  Virtual Machine 上に構築したDBを使う 好きなものをOSレベル(SSH、リモートデスクトップ)で操作して構 築
  15. 15. App Serviceとは!? データベース
  16. 16. App Serviceとは!? OSまわり 動作しているOS Windows Serverベース • App Service Linuxベース (Ubuntu) • App Service on Linux App Service on Linuxは現在プレビュー版 GAされていない事に注意
  17. 17. App Service on Linuxの概要 プレビューなう
  18. 18. App Service on Linux (preview) https://azure.microsoft.com/en-us/blog/azure-app-service- improves-node-js-and-php-developer-experience/ 2016-10-10 の公式ブログ記事より コンテンツ管理システム(CMS)で WordPressの使用量は50%以上 Copyright© 2015, JAZUG All Rights Reserved. 18
  19. 19. App Service on Linuxの特徴 Docker HubからDockerコンテナを取得してデプロイ出来る プライベートレジストリ、リポジトリも可 Dockerから下層部分はフルマネジドなので、ミドルウェアのバー ジョンアップは考えなくて良い。 VMだとyum updateとかapt upgradeしないといけない 自動でスケールアウト、スケールアップが出来る スケールアウト -> サーバ台数を増やすイメージ スケールアップ -> サーバスペックを上げる 中断時間はほぼ無い(設定の適用に数秒かかる程度) どちらかというと、DevOps的な運用が出来るサービス
  20. 20. App Service on Linuxで WordPress!
  21. 21. WordPressをApp Service on Linuxで アプリを動かすには Web Apps on Linuxを作 成 • まずは枠を作成する。 「Dockerコンテナー」か らデプロイしたいDocker コンテナを指定する • 「ビルトイン」-> Azure で事前に用意されて いるDockerコンテナ • Docker Hubに登録済 みのDockerコンテナ を選択する • プライベートにして いるコンテナも選 択できる 追加でカスタムドメイン の 設定などを行う • Aレコードに登録する IPアドレスが払い出 されるので、こちらを 手持ちのDNSに登録 する。 • もちろんAzure DNS でもOK • SSL証明書の設定も ここで行う WordPressに限らず、WebアプリをApp Service on Linuxで動かすには、
  22. 22. Azure MarketPlaceに登録済みの WordPressコンテナ Azureが既にApp Service on Linuxに特化したWordPressコンテ ナを用意しているので、こちらを使うと非常に楽。
  23. 23. App Service on Linuxを使った構成例 Web App (WordPress) Azure Database for MySQL(preview) Azure Backup
  24. 24. Azure Database for MySQL (preview) https://azure.microsoft.com/ja-jp/blog/microsoft-extends- azure-managed-database-services-with-introduction-of-mysql- and-postgresql/ 2017-5-10の公式Blog記事 VM単位のスケールではなく、コンピューティング ユニットとスト レージ ユニットという単位でのスケーリングとなる Copyright© 2015, JAZUG All Rights Reserved. 24
  25. 25. 実際に作ってみる
  26. 26. バックアップ設定
  27. 27. Azure Backup Azure VM, App Serviceのイメージバックアップを自動で取るこ とが出来る バックアップ時にVMやApp Serviceの停止は無い(無停止バック アップ)
  28. 28. スケールアウトと スケールアップ
  29. 29. スケールアウト ロードバランサ配下の インスタンス数を増やす 確実に通信断が出ない方法 Azure Monitorの値を条件にして、 自動でスケールアップ させることが出来る この例では、CPU利用率が70%を 超えた場合に、インスタンス数を 増やす 集中アクセス(スパイク)時にCPU 利用率が上昇した場合などに 設定するのが良い
  30. 30. スケールアウト時のストレージ 複数インスタンスが増えるけど、ストレージの冪等性とかどう なるの?
  31. 31. スケールアウト時のストレージ 各インスタンスは裏では同じストレージを見に行く仕組みに なっているため、スケールアウトしても同じストレージを見に 行ってくれる 「wp-contentをどうやってミラーリングしよう・・・?」とい う事は 一切考えなくても良い
  32. 32. イメージ図 Web App インスタンス Web App インスタンス Web App インスタンス ロードバランサ
  33. 33. スケールアップ インスタンス1台のスペックを上げる 切り替えは数秒ぐらいで終わる こちらも断はほとんど無い 運用中にメモリ不足に陥るようになった場合は スケールアップを行うのがオススメ
  34. 34. スケールアップとスケールアウト どっちを選べば良い? スケールアウトを選ぶ場合 スパイクなどによる大量アクセスが発生した場合 • とにかく大量の接続を捌かないといけないため、 処理出来るインスタンス数を増やすことで同時アクセス数のキャパシティを増や す スケールアップを選ぶ場合 アプリのバージョンアップ時に、使用CPU/メモリが増えてきてし まった 慢性的なスペック不足に陥ってしまった場合 • CPUコア数やメモリを増やす必要があるため、スケールアップを選ぶ
  35. 35. OSSとプラットフォーム 今回はWordPressを題材に使い方を紹介しました Dockerコンテナがそのまま動くため、様々なOSS(Xoopsとか) が動きます。 アプリを快適に動かして提供するための「プラットフォーム」 として Azure App Serviceを是非使ってみて下さい。
  36. 36. 質問などなどありましたら きたあずでは展示ブースを出しています。 何か疑問点や、「こういう事やってみたい!」 などなどありましたらブースまでお越し下さい!
  37. 37. きたあず、JAZUGについて きたあずサイト https://kitaazu.azurewebsites.net/ きたあずFacebookグループ https://www.facebook.com/groups/jazugsapporo/ Jazug Facebook グループ https://www.facebook.com/groups/jazug/ Copyright© 2015, JAZUG All Rights Reserved. 52
  38. 38. ご清聴ありがとうございました Copyright© 2015, JAZUG All Rights Reserved. 53

×