Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なるほどわかった!平成最後のAzureとApp Service編

Takayuki Fuwa
April 27, 2019
41

なるほどわかった!平成最後のAzureとApp Service編

Global Azure Bootcamp [email protected]にて登壇した資料です。
https://jazug.connpass.com/event/123262/

Takayuki Fuwa

April 27, 2019
Tweet

Transcript

  1. なるほど分かった!
    平成最後のAzureと
    App Service編
    不破 崇行(ふわ たかゆき)

    View Slide

  2. こんにちは!

    View Slide

  3. 自己紹介
    • 名前
    • 不破 崇行(ふわ たかゆき)
    • 仕事
    • 昼は普通の正社員、夜は個人事業主(通訳さんに「コメディアン」って言われました)
    • いずれもIT系です(Webアプリからインフラまで)
    • 要するに、「パラレルキャリア」
    • 最近の趣味
    • AWS(LambdaとAmazon Connect楽しい) / Azure(AKS楽しい) / 航空無線 / シメパフェ
    • 家でAlexaとおしゃべり
    • コミュニティ活動
    • 運営:JAZUG札幌(きたあず) / Azureもくもく会 / Cloud Native Sapporo / いろいろ
    • 登壇(予定も):札幌ひよこ会 / オープンソースカンファレンス / JAWS-UG札幌 / いろいろ
    • 守備範囲
    • Azure / AWS / さくらのクラウド / Alibaba Cloud

    View Slide

  4. 私の人生の目標・目的
    • 「どえらい技術」や「どえらいサービス」をどんどん広める
    • 「どえらい技術」をみんなに使ってもらい、幸せになってもらう
    • 「どえらい技術」でまわりの生活を楽にする

    View Slide

  5. 今日のお話
    • 簡単にWebサイトを立ち上げることが出来るAzureのプロダクト
    「App Service」の解説をします。
    • ターゲット
    • Azureをほとんど触ったことがない人
    • 普段他のクラウドサービス(AWSなど)を使っている人
    • 出来る範囲でAWSに置き換えながら説明します
    • ゴール
    • 「選択肢」を増やしてもらう
    • 「Azureが」ではなく「Azureも」
    • みんなと仲良くなる

    View Slide

  6. Part1 Azureとは?

    View Slide

  7. Azure?
    • 読み方
    • あじゅーる / あずーる(イタリア語で「紺碧」という意味)
    • マイクロソフトが提供しているクラウドサービス

    View Slide

  8. Azureで出来る事
    • IssS
    • 仮想マシンを建てたり
    • 仮想ネットワークを作ったり
    • PaaS
    • Webサービスを展開したり
    • チューニング済みのAIを
    利用できる

    View Slide

  9. 「肩代わり」という概念
    IaaS
    (Infrastructure as a Service)
    • 物理インフラ(サーバ実機や
    ネットワーク機材)の
    運用を「肩代わり」
    PaaS
    (Platform as a Service)
    • 実行環境やミドルウェアの
    管理を「肩代わり」
    SaaS
    (Service as a Service)
    • アプリケーションの
    運用保守を「肩代わり」
    IaaSやPaaS・IaaSは、ある程度決まった範囲をマイクロソフトに「肩代わり」してもらうという
    仕組み

    View Slide

  10. 身近に存在する「肩代わり」(ピザ屋さんの場合)
    Everyday Life Example of Microsoft Azure Software Models (Source: Microsoft Partner University)
    https://www.comparex-group.com/web/microsites/microsoft/products/cloud/microsoft-azure/ms-azure.htm

    View Slide

  11. Azureでよく使う「技」
    リソースグループ
    セキュリティ
    グループ
    仮想マシン 仮想マシン DB
    ユーザー
    Azureで仮想マシンを立ち上げ、業務用Webアプリを稼働させる例
    仮想ネットワーク
    可用性セット

    View Slide

  12. AWSに置き換えると、こんな感じ
    AWSで仮想マシンを立ち上げ、業務用Webアプリを稼働させる例
    ユーザー
    AWS Cloud
    VPC
    Amazon EC2 Amazon EC2
    Amazon RDS
    Availability Zone Availability Zone
    Amazon RDS

    View Slide

  13. 【言いたいこと】
    どのクラウドサービスも似ている
    • AWS/GCP/AlibabaやAzureも、概ね似たような概念になっている。
    • なので、普段使っているクラウドサービスやオンプレサービスと比べながら
    理解してみると分かりやすいと思います。
    • 概念は似ているが、「ベストプラクティス」は各サービスで異なるので注意。

    View Slide

  14. Part2 App Serviceとは
    「似ていないサービス」

    View Slide

  15. 「似ていない」サービス
    App Service
    • Webサイトをフルマネジドに構築することが出来るサービス群
    • Web Apps + Web App for + Mobile Apps + API Apps = App Service!
    • どちらかというと、DevOps*的な使い方を想定している
    • *「ゆりかごから墓場まで」スタイルの開発
    今日はここ

    View Slide

  16. コードをデプロイすれば完了!なサービス
    (Web Apps)
    • ネットワーク(バランシング)からミドルウェアまでをAzureが
    「肩代わり」してくれる
    • 専用のgitリポジトリか既存の外部リポジトリ(GitHubなど)にpushすれば
    デプロイ出来る。
    ソースコードをデプロイ!
    ユーザー
    開発者
    Web Appsで稼働中のECサイト
    閲覧・ポチる

    View Slide

  17. App Service(Web Apps)のすごい所
    • オートスケール
    • 自動でのスケールアウト・スケールアップに対応
    • ロードバランサも付いてくる
    • スケールアウト時の中断時間はほぼ無い(一瞬止まる程度で、アクセスした人に50xエラーは
    ほぼ出ない)
    • n台スケールアウトしても、ストレージ領域は同じ場所を読んでくれる
    • /home は各インスタンスで共通してマウントされる
    • WordPressだと、wp-contentフォルダの扱いを気にしなくても良い
    • コンテナもデプロイ出来る
    • Dockerコンテナをデプロイ対象として選択出来る。
    • Docker Hubからもイメージを取得可能

    View Slide

  18. App Service(Web Apps)のすごい所
    • 本番環境とステージング環境を同時稼働させ、切り替えることが出来る
    • ステージング用・本番用のスロット(gitリポジトリ)がそれぞれ用意され、検証環境を用意
    することが出来る。
    • ステージング用と本番用で、同等のインスタンスを勝手に用意してくれる
    • ステージングで問題無ければ、スロットをスワップすることで、そのまま本番環境に
    差し替えが出来る
    staging.example.com
    検証用
    example.com
    本番用
    開発者
    一般ユーザー
    staging.example.com
    検証用
    example.com
    本番用
    一般ユーザー
    スワップ!!!
    検証環境での
    動きも
    確認出来た!
    リリースしよう!

    View Slide

  19. 使える言語
    • 対応言語
    • PHP(5.6~7.3)
    • Ruby(2.3~2.6)
    • Java(11と8)
    • Node.js(4.4~10.14)
    • Python(2.7と3.6・3.7)
    • .Net Core(1.0~2.2)

    View Slide

  20. ハンズオンもやります!
    • 今日はハンズオンも用意しています!

    View Slide

  21. Let’s Azure!

    View Slide