Help us understand the problem. What is going on with this article?

Microsoft のクラウド Azure の入門講座を和訳した (後編) Azure について - どんなサービスがあるの? #MSIgniteTheTour

Microsoft の公式大型技術カンファレンス『Microsoft Ignite 2019』が、アメリカで開催されました。
そこで実際にデリバーされた Azure 入門編セッション (英語) を、私が和訳して日本の『Microsoft Ignite The Tour Tokyo』で発表することになったので、その登壇資料をもとにした記事をここに書いて公開します。
また、スライドを和訳したさい、(スペースが空いていれば) なるべく原文も併記するようにしています。

Christina Warren さんによるオリジナルのセッション (英語)『Discovering Microsoft Azure』の動画は こちら で見られます!
https://myignite.techcommunity.microsoft.com/sessions/83201

Azure 入門

ちなみに、この記事に書いてあることは、
マイクロソフト公式の無料オンライン学習サイト『 Microsoft Learn 』の、
こちらのコースにもよくまとまっているので、
ぜひ自主学習にどうぞ!
https://docs.microsoft.com/ja-jp/users/msignite2019

(スライドは こちら)

もくじ

あまりに長くなってしまったので、
前編後編に分けました。

  1. 前編:「クラウドについて」 (前回の記事)

    • クラウド コンピューティング
    • IaaS」, 「PaaS」, 「SaaS
    • クラウドへの移行
    • Lift and Shift
    • クラウド ネイティブ
  2. 後編:「マイクロソフトのクラウド Azure について」(← この記事)

    • Microsoft Azure」 とは
    • Azure のサービスの種類(カテゴリ)
    • ID 管理サービス「Azure Active Directory
    • リソースグループ
    • リソースプロパイダー
    • Azure リソースマネージャー」 (ARM)
    • ARM テンプレート
    • 色々なスペックの仮想マシンのシリーズ
    • コンテナ
    • Windows Server コンテナ
    • Hyper-V コンテナ
    • サーバーレス」-「Azure Functions
    • アプリのホスティングサービス「Azure App Service

この記事では、後編の「マイクロソフトのクラウド Azure について」お話しします。
どんなサービスがあるのかな~って。

事前の注意

今回 Microsoft Azure にはこんなサービスがあるよ!~って紹介していますが、
このセッションだと、本当に一部しか触れられていません。(入門編だからかな)

他にも大量の AI サービスとか k8s のとか色々充実してるので、この記事だけではなく、色々他のも見てみてください!(とくに AI サービスについてはこのセッションでは一切触れられていない)

それでは本題に入ります。

Microsoft Azure について

前述の通り、Microsoft Azure (アジュール) とは、
マイクロソフトによる、 クラウド・コンピューティング・プラットフォーム です。

Microsoft Azure

めっちゃ沢山サービスがありますね!ここに載っているのは一部だけで、実際もっとあります。とても巨大なエコシステムです。

Azure の全サービスが気になる方はこちらから!

とくに Azure 初めての方は混乱すると思うので、ここでは基本的な大カテゴリについてお話しします。

Azure のサービスのカテゴリ分け

image.png

Azure の提供するサービスは、いくつかのカテゴリに分類されます:

  1. Compute(コンピューティング)
  2. Networking(ネットワーク)
  3. Storage(ストレージ)

それぞれのカテゴリにどんなサービスがあるのか見てみましょう。

1. Azure の Compute (コンピューティング)のサービス

image.png image.png

  • VM 立てよう Azure Virtual Machines
    • Windows と Linux
  • Azure Kubernetes service (AKS)
    • ホストされている Kubernetes 環境を管理。
    • コンテナー化されたアプリケーションを迅速かつ簡単にデプロイおよび管理できる
  • サーバレスのサービス Azure Functions
    • イベントドリブンのサーバレスコンピューティング

などなど

2. Azure の Networking(ネットワーク)のサービス

image.png

  • Azure Virtual Network
    • Azure 上に構築出来る、仮想的なプライベートなネットワーク
    • Azure VM を VPN に繋げる
  • Azure Load Balancer
    • ロードバランサとは、Web サイトなどへのアクセスを各サーバに振り分けて負荷分散してくれるサービス。
    • Azure Load Balancer はクラウドで提供されるロードバランサーで、簡単に負荷分散環境を構築することが可能
  • Azure Traffic Manager
    • あるエンドポイントへのアクセスを、Azureリージョン全体に渡りネットワークトラフィックを分散できる

などなど

3. Azure の Storage(ストレージ)のサービス

  • Azure blob storage
    • 動画、JSON、画像、IoT データなどのオブジェクトをストアする
  • Azure file storage
    • ファイルをシェアするファイルサーバーとして使える
  • Azure table storage
    • NoSQL の構造化データをクラウド内に格納するサービス

などなど

Azure Active Directory

image.png

Azure Active Directory (Azure AD) は、マルチテナントに対応したクラウドベースの ID およびアクセスの管理サービスです。

  • 「認証」と「認可」の機能を提供するサービス
  • ID 管理を一箇所にまとめる事ができる
  • Azure や Office 365 で使われている
  • 組織内のユーザーのすべての ID が含まれる

Azure のポータル画面 portal.azure.com

Azure のポータル画面はこのようになります。

Azure のポータル画面

左にメニューがポップアップします。(固定も可能)
左上の「リソースの作成」から (VM やサーバなど) リソースを作っていくことになります。
(セッションでは実際に動かすデモをしました)

どの Azure コンピューティングサービス使えばいい?

Compute service decision tree も和訳しました

Azure コンピューティングサービス

覚えておきたい Azure リソース用語

覚えておくと便利な、リソース周りの Azure 用語をいくつかご紹介します。(本当はもっとたくさんあるけど、このセッションでは5つに絞ってご紹介しました)

サブスクリプション、リソースグループ、リソース

01「リソース」

リソース」とは、Azure で利用できる、管理可能なアイテムのこと。
VM (仮想マシン)、Web アプリ、データベースなど。

02「リソースグループ」

リソースグループ」とは、複数のリソースを入れる箱。
うまくグループ分けして管理すると良い。私はプロジェクトごとに分けてる

サブスクリプション、リソースグループ、リソース

03「リソースプロバイダー (Resource provider)」

リソースプロバイダー (Resource provider)」とは、リソースを管理できるようにする API のようなもの。
よく見るリソースプロパイダーの例としては、以下のものがあります。

  • Microsoft.Compute
    • VM のリソースを提供
  • Microsoft.Storage
    • storage account のリソースを提供
  • Microsoft.Web
    • web アプリに関連するリソースを提供

04「Azure リソースマネージャー (Resource Manager)」 (ARM)

Azure Resource Manager (リソースマネージャー) 」(ARM)(アーム) は、Azure のデプロイおよび管理サービスです。
すべてのリソースをグループとしてまとめて、構築や管理、デプロイ、監視ができます。

Azure サブスクリプション内のリソースを作成、更新、および削除できる管理レイヤーを提供します。
アクセス制御、ロック、タグなどの管理機能を使用して、デプロイ後にリソースを保護および整理します。

公式ドキュメント: Azure Resource Manager のドキュメント

Azure Resource Manager

たとえば、私は普段は Azure ポータル画面でポチポチ Azure のリソース (立てた VM とか) を作成・管理していますが、
これはポータル画面が Azure Resource Manager を叩いているわけです。

一方、世の中は Infrastructure as Code の風潮でして、なんでもコードで管理したい!(便利だからね) ということで、この Azure のリソースを好きにいじれる Azure Resource Manager を CLI から (SDK を介し) 叩くこともできます。(上の図参照)

image.png

05「ARM テンプレート」

ARM テンプレート (Azure Resource Manager Template) 」は、
JSON 形式のテンプレートで、
何のリソースをデプロイするかとかを管理できます。

公式ドキュメント:
Azure Resource Manager テンプレートの構造と構文の詳細 | Microsoft docs

image.png

ARM テンプレートの構造

ARM テンプレートの構造は、これが大きな枠組みです。

(それぞれの項目に具体的に何を入れるかは 公式ドキュメント を参照のこと。)

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "テンプレートのバージョン (1.0.0.0 など)",
  "apiProfile": "",
  "parameters": { リソースをデプロイするときにどのような値を入力できるかを指定 },
  "variables": { 変数を定義したかったらここで定義する },
  "functions": [ テンプレート内で使う独自の関数を定義 ],
  "resources": [ デプロイやアップデートする Azure リソースを定義 ],
  "outputs": { 出力されるアウトプットを指定。通常はデプロイされたリソースからの値を定義 }
}

Virtual Machine (仮想マシン)

Compute Options – 色々な VM のスペック

image.png

Deep Learning などで GPU ぶん回す人用の N シリーズなど。

image.png

メモリ 4 TB (テラバイト) の マシンなんてあるの!すごいなあ。

仮想マシンの立て方

当日は Linux (Ubuntu) の仮想マシンを立てるデモをしました。

GUI (Azure ポータル画面ポチポチ) と
Azure CLI (Cloud Shell) での
両方をやりました。

詳しいやり方はこちら → 「クイック スタート:Azure portal で Linux 仮想マシンを作成する

CLI 版の詳しいやり方はこちら → 「クイック スタート:Azure CLI で Linux 仮想マシンを作成する

デモ画面のキャプチャ

↓ 立てる VM サイズ選んでるところ

azureCLI10.png

↓ 立てる VM のネットワーク設定を見てるところ

image.png

↓ ARM テンプレートも吐き出してくれるので、例えば全く同じ設定の VM を自動で量産することもできる

image.png

↓ デプロイ中

image.png

↓ Azure CLI で VM 立ててるところ

image.png

az vm create \
  --resource-group AFUN10_chomado \
  --name myVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys 

サーバーレス

サーバーレスとは何か

スライドコピペ。(私の和訳の隣にオリジナルの英語をそのまま残しています)

image.png

image.png

Azure での サーバーレスのサービス

  • Power Automate (以前の Microsoft Flow): 「承認」など、人の絡むアクションが得意。個人の生産性を上げるシステム間連携を作るのによく使われる。交通費の精算や、上長の承認を絡むものなど。 非開発者も開発者も誰でも使えるツール。O365 があれば使える
  • Azure Logic Apps: IT部門やエンジニア向け。(Azure 上で動くので、Azure の面倒見れる人がマネージするのが良いため。) 売上データを本社へ連携するとか、商品の注文をどこかに送るとかの処理をノンコーディングで作ることができる。アプリケーションやWebサービスを結合して連携が可能。 Azure のサブスクリプションで作れる
  • Azure Functions: 私の恋人。使いまくってる。推し。C# や Python, node.js などのコードを書いて、イベント駆動でローカルやクラウドなどで気軽に実行させられる。

Azure Functions はいいぞ。

スライドコピペ。(私の和訳の隣にオリジナルの英語をそのまま残しています)

image.png

アプリのホスティング

Azure App Service

  • 私もよく ASP.NET 製の web アプリデプロイしてる。
  • 裏側が Windows のも Linux のも使える。
  • Web App もしくは Web App for Containers
  • Visual Studio Code のエクステンションがある

スライドコピペ。(私の和訳の隣にオリジナルの英語をそのまま残しています)

image.png

復習しよう

この記事で書いたことは
マイクロソフト公式の無料オンライン学習サイト『 Microsoft Learn 』の
こちらのコースにもよくまとまっているので、
ぜひ自主学習にどうぞ!
https://docs.microsoft.com/ja-jp/users/msignite2019

chomado
ITエンジニア兼マンガ家の千代田まどか (ちょまど) です。Microsoft 社の Cloud Developer Advocate として、デベロッパーコミュニティの支援を行っています。松屋とゲームとアニメが好きです
https://chomado.com/
microsoft
マイクロソフトのメンバーが最新の技術情報をお届けします。Twitterアカウント(@msdevjp)やYouTubeチャンネル「クラウドデベロッパーちゃんねる」も運用中です。
https://aka.ms/MSFT-Docs-JPN
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした