Microsoft Azureのオススメの学習方法についてまとめてみる

はじめに

新しいサービスにはじめて触れるとき、どうやって学べば良いかが分からずに困ることってありませんか?
特にパブリッククラウドは、サービス数が非常に多い上にアップデートが早いため、キャッチアップするのが大変ですよね。
本記事では、Microsoft Azureを学びたいと思っている方を対象に、オススメの学習方法についてまとめていきます。

想定読者

本記事が以下の皆様のAzure学習の一助になれば幸いです。

  • これからAzureを学ぼうと思っている方
  • 既にAzureを使っており、もっと学びたい方
  • AWS (Amazon Web Services) 経験者の方で、Azureに興味がある方
  • GCP (Google Cloud Platform) 経験者の方で、Azureに興味がある方

主要な学習リソースの概要

色々な学習リソースがありますが、Azure公式ドキュメントMicrosoft Learnが特にオススメです。
これら2つをメイン教材としつつ、動画や書籍などをサブ教材として活用するのが効率的だと思います。
役に立つ動画コンテンツや書籍についても本記事の合間合間で紹介します。

Azure公式ドキュメント

https://docs.microsoft.com/ja-jp/azure/

Azureの全サービスの概要や詳細な仕様、APIリファレンス、アーキテクチャー構築に関するガイダンスなど、Azureに関するあらゆる情報がこちらにまとまっています。

Microsoft Learn

https://docs.microsoft.com/ja-jp/learn/

AzureをはじめとするMicrosoftの各種サービスの使い方をハンズオン形式で学ぶことができるサイトです。数百件のハンズオンコンテンツが用意されており、続々と追加されています。
ハンズオン期間中だけ有効なAzure環境を無料で使うことができ、学習が大変捗ります。

(Tips) 言語の切り替え

Microsoftの多くのドキュメントはURLの中に言語設定が入っています。例えば、日本語だと ja-jp 、英語 (米国) だと en-us といった文字列がURLの中に入ります。
日本語のドキュメントを読み進めている最中に、リンク先に遷移したら英語のドキュメントになったりすることがたまにあるのですが、そういった場合、URLの言語設定の部分を ja-jp に書き換えると素早く日本語のドキュメントにアクセスできます。
ページの下の方に言語設定のボタンがあるので、そちらから切り替えることももちろん可能です。

Azureの全体像をつかむ

それでは、ここからいくつかのパターンに分けてAzureの具体的な学習方法について記載していきます。
特にAzureを初めて学ぶ方は、最初に全体像をつかみ、その後に各サービスの詳細を押さえていくやり方が、知識を定着させる効率的なやり方だと思います。

Microsoft Learnの「Azureの基礎」を実施する

https://docs.microsoft.com/ja-jp/learn/paths/azure-fundamentals/

名前の通り、Azureの基礎を学ぶのにピッタリなラーニングパスで、クラウドの特徴から始まり、Azureの概要やアカウントの作成方法、コストやセキュリティの管理方法など、Azureの基礎について一通り学ぶことができます。

想定所要時間が約10時間と結構ボリュームがありますが、後で紹介するAzureのエントリー向けの認定資格試験「AZ-900: Microsoft Azure Fundamentals」に必要な知識がカバーされています。

書籍で学ぶ

書籍の方が頭に入りやすい方もいらっしゃると思いますので、2019年12月時点で出版されている書籍の中で、Azureの全体像の理解に役立ちそうな書籍をピックアップして記載します。

※ IT系の書籍の常ですが、サービスのアップデートが早いことから書籍としての賞味期限が他のジャンルに比べて短い&どんどん新しい書籍が出版されるため、最新の書籍をAmazonや書店などでチェック頂くことをオススメします。

Azureテクノロジ入門 2019 (2018/11/15出版)
https://www.amazon.co.jp/dp/4822253856/

日本マイクロソフト所属のエンジニア&アーキテクトたちが執筆した書籍です。「Azureを知るためのはじめの一歩」と銘打たれている通り、Azureの全体像を押さえるのにぴったりの一冊だと思います。

Azure定番システム設計・実装・運用ガイド オンプレミス資産をクラウド化するためのベストプラクティス (2018/9/6出版)
https://www.amazon.co.jp/dp/4822253791/

(書籍の内容紹介がとても分かりやすいので抜粋します)
「日本マイクロソフトのAzureサポートチームの現役のサポートエンジニアが、日常のサポート業務から得たノウハウをAzure利用者の皆さんに伝授する書籍です。既存環境をAzureに移行する実践的なシナリオに沿って、なぜそのサービスを使う必要があるのか、どのようなことに注意して構成する必要があるのかといった、ベストプラクティスを解説します」

AWSの経験がある方

以下のAzure公式ドキュメントにAWSとAzureの違いや対応するサービスが分かりやすくまとめられています。
最初にこちらを読んで頂いた後にAzureの学習を始めると理解のスピードがかなり上がると思います。

また、以下のQiita記事でAWS/Azure/GCPのサービスの対応が横並びでまとめられており大変分かりやすいので、参考としてリンクを記載します。

GCPの経験がある方

以下はGCP公式ドキュメントになりますが、GCPとAzureの違いや対応するサービスがまとめられています。
余談ですが、GCPとAWSの比較ページもGCP公式ドキュメントにあります。

Azureのエントリー向けの認定資格試験を受験する

https://www.microsoft.com/ja-jp/learning/exam-AZ-900.aspx

Azureの認定資格に興味がある方は、理解度の確認や試験の雰囲気をつかむために、Azureのエントリー向けの認定資格試験「AZ-900: Microsoft Azure Fundamentals」を受験してみるのも良いと思います。
この試験に合格すると「Microsoft Certified Azure Fundamentals」という認定資格を取得することができます。

Azureの認定資格については別のQiita記事「パブリッククラウド認定資格まとめ AWS / Microsoft Azure / Google Cloud / Alibaba Cloud - Qiita」にまとめていますのでよろしければご覧ください。

Azureの各サービスの概要~詳細を学ぶ

どのパブリッククラウドでもそうですが、各サービスをどうやって学んでいくかが重要かつ難しいポイントですよね。
いくら情報が充実しているからといって、闇雲にドキュメントを読んでも理解が追い付かなかったりするので、どういう順番で学ぶかが大事なポイントの一つだと思います。
以下は私がAzureのサービスを学ぶときに意識している流れです。

# 学習ステップ
1 Azure公式ドキュメントの「概要」「クイックスタート」「リソース」などで大まかな特徴を理解する
2 Microsoft Learnで手を動かしながら理解を深める
3 Azure公式ドキュメントの「チュートリアル」で手を動かしながら理解を深める
4 Azure公式ドキュメントの「概念」「ハウツーガイド」などで詳細な仕様を理解する
5 Azure公式ドキュメントの「サンプル」「リファレンス」を参照しながら実装する

概要から詳細という流れ、そして手を動かすというのがきちんと理解する上で重要だと感じています。
また、Azure公式ドキュメントはサービスが違っても目次は大体同じなので、大体同じ流れで学習できると思います。
※ 上記の学習ステップが絶対の正解という訳ではないので参考程度に見てもらえればと思います

上記の学習ステップで参照するドキュメントについて、Azureの代表的なサービスの一つ、Azure Virtual Machines (仮想マシンのサービス) のLinux版を例にして見ていきたいと思います。

(Tips) 各サービスのドキュメントへのアクセス

Azure公式ドキュメントのトップページの製品タブに、Azureのすべてのサービスのドキュメントへのリンクが掲載されています。

スクロールが必要なぐらい沢山のサービスがありますので、左側の「AI + 機械学習」や「Compute」といったカテゴリーをクリックして対象のサービスを絞り込んだり、Webブラウザのページ内検索で探すのが良いと思います。

1. Azure公式ドキュメントの「概要」「クイックスタート」「リソース」などを読み大まかな特徴を理解する

以下はAzure Virual Machines (Linux) のドキュメントのトップページのキャプチャです。赤枠で囲んでいる部分が目次で、基本的にはどのサービスも同じような目次の構成になっています。

概要を読む

まずは目次の「概要」を展開し中にあるドキュメントを読みます。この後繰り返し学習していくことになるので、一発で理解しようとする必要はありません。まずは読んでみて、大まかな概要がつかめればOKです。
image.png

クイックスタートを実施する

「概要」を読んだら、次に「クイックスタート」を展開します。実際に手を動かして概要が理解できるように、Azure上でリソースを作成する短いハンズオンの手順が用意されています。

Azure Virual Machines (Linux) の場合、ポータルやAzure CLI、PowerShellといった選択肢がありますが、お好みのものを選べばOKです。
image.png

(Tips) クイックスタートやチュートリアルを実施する場合、Azureのアカウントが必要

Microsoft Learnと違って、Azure公式ドキュメントの「クイックスタート」や「チュートリアル」を実施するためには、Azureアカウント (厳密にはAzureサブスクリプション) を持っている必要があります。

以下から簡単にAzureのアカウントを作成できます。AWSやGCPに勝るとも劣らない潤沢な無料枠が付いていますので、個人の学習用途であれば、よほど使いすぎたり、長期間のリソースの削除し忘れなどが無い限りは無料枠で戦えると思います。

https://azure.microsoft.com/ja-jp/free/

リソースを把握する

見過ごしがちなのですが「リソース」の中には重要なコンテンツが多く含まれています。またサービスによって「リソース」の中のコンテンツが違ったりします。
どんなものがあるかをリンクを一つずつ開いて見ておくのが良いと思います。
以下はAzure Virual Machines (Linux) の「リソース」のピックアップです。

  • 「Microsoft Learnでスキルを身に付ける」はMicrosoft Learnへのリンクです。Microsoft Learnは重要な学習リソースなのでこの後触れます
  • 「価格」は重要な情報なので最初のうちに目を通しておいた方が良いと思います
  • 「スタックオーバーフロー」「FAQ」「トラブルシューティング」は今後開発を進める際に非常に役立つリソースになるはずです。特にFAQは最初のうちに見ておくと良いと思います
  • 「ビデオ」はマイクロソフトのエンジニアが解説やデモをしてくれている動画群へのリンクになっています。動画は基本的に英語ですが動画によっては設定で日本語字幕を表示することもできますので、有用そうなものをピックアップして見ておくと理解の助けになると思います。 image.png

2. Microsoft Learnで手を動かしながら理解を深める

Azure公式ドキュメントには後で戻ってくるとして、次はMicrosoft Learnでハンズオンを実施し、手を動かして理解を深めていきます。
以下はMicrosoft Learnのすべての「モジュール」と「ラーニングパス」へのリンクです。ここから有用そうなモジュール/ラーニングパスをピックアップして実施していきます。

https://docs.microsoft.com/ja-jp/learn/browse/
image.png

(Tips) モジュールとラーニングパスの違い

両者のざっくりとした違いは以下の通りです。

  • モジュール:Micorosoftの各サービスや各機能、個別具体的なユースケースのハンズオン
  • ラーニングパス: 特定の観点でモジュールをグルーピングしたもの(例「Azureの基礎」「Azureでの最新のアプリケーションの設計」

(Tips) フィルターを用いたモジュール/ラーニングパスの絞り込み

モジュール/ラーニングパスの絞り込みに活用するのが画面左側にある「フィルター」です。フィルターを使わないと900件以上のモジュール/ラーニングパスがヒットしてしまうため、Microsoft Learnを使う上でフィルターの活用はほぼ必須だと思います。

  • 製品:特定のAzureサービスやMicrosoft製品のモジュール/ラーニングパスに絞り込みたいときに利用する
  • ロール:開発者や管理者といった特定のロールに関連するモジュール/ラーニングパスに絞り込みたい時に利用する
  • レベル:初級/中級/上級など難易度で絞り込みたい時に利用する
  • 種類:モジュール/ラーニングパスなど種類で絞り込みたい時に利用する

image.png

モジュール/ラーニングパスの絞り込みと実施

今回はAzure Virtual Machines (Linux) の概要を押さえることが目的なので、製品 = Virtual Machines、レベル = 初級でフィルターし、さらに検索キーワードにLinuxを入れてみたところ、以下の2件がヒットしました。

https://docs.microsoft.com/ja-jp/learn/browse/?products=azure-virtual-machines&levels=beginner&term=Linux
image.png

名前的に「Azure で Linux 仮想マシンを作成する」というのが丁度良さそうな内容なので、案内に沿って実施してみます。
もし一通りやってみて簡単すぎるとか思ったのと違うように感じたら、フィルター条件を変えて再度モジュール/ラーニングパスを絞り込んでみたり、Azure公式ドキュメントの「チュートリアル」で良さげなものが無いかを見てみるのが良いと思います(チュートリアルは次で紹介します)。
image.png

3. Azure公式ドキュメントの「チュートリアル」で手を動かしながら理解を深める

以下はAzure Virtual Machines (Linux) の「チュートリアル」のキャプチャです。非常に充実していますね。この中から良さげなものをピックアップして実施頂くのが良いと思います。

Microsoft LearnのモジュールとAzure公式ドキュメントのチュートリアルの違いですが、前者は概要 + ハンズオンという構成が多い印象で、後者はより具体的なトピックのハンズオンが中心という印象です。あくまで私の印象ですしサービスによりけりな面も多いです。両方見てみて良いトコどりするのが良いのかなぁと思います。

https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/tutorial-manage-vm
image.png

4. Azure公式ドキュメントの「概念」「ハウツーガイド」などで詳細な仕様を理解する

ここまででサービスの全体像は大分押さえられたと思います。
ここから公式ドキュメントの「概念」「ハウツーガイド」を精読して詳細な仕様を押さえていきます。重要な情報はほぼすべてここに詰まっています。
特に今後本番システムで利用する予定のサービスの場合、「概念」と「ハウツーガイド」のすべてのページに目を通してしっかり理解しておくのがベターだと思います。

https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-overview?toc=/azure/virtual-machines/linux/toc.json&bc=/azure/virtual-machines/linux/breadcrumb/toc.json
image.png

(Tips) ドキュメントをPDFとしてダウンロードできる

お気付きになった方もいらっしゃるかもしれませんが、左側メニューの一番下に「PDFをダウンロード」というリンクがあります。こちらをクリックするとドキュメント内のすべてのコンテンツを1つのPDFファイルとしてダウンロードすることができます。
メリットとしては、1ファイルにまとまるので検索がしやすくなること、端末に保存しておくことでオフラインでも閲覧できることなどが考えられます。
一方で、サービスによっては巨大なPDFになる場合があるため (Azure Virtual Machines (Linux) の場合、20MB超&1200ページ超)、その点は注意が必要かもしれません。

image.png

5. Azure公式ドキュメントの「サンプル」「リファレンス」を参照しながら実装する

最後のステップとして、サービスを使って何らかのシステムやアプリケーションを実装してみます。その時に参考になるのが公式ドキュメントの「サンプル」と「リファレンス」です。
まずはサンプルの中で使いまわしができそうな実装を探してみて、そちらを下敷きにしてリファレンスを見ながら実際のシステムやアプリケーションに適用していく流れが良いと思います。

サンプルの例

Azure Virtual Machines (Linux) > サンプル > CLI
image.png

リファレンスの例

Azure Virtual Machines (Linux) > リファレンス > CLI
image.png

Azureのアーキテクチャーを学ぶ

このセクションでは、Azureのサービスを組み合わせてベター/ベストなアーキテクチャーを設計するための学習リソースとして、Azure公式ドキュメントの中の一大コンテンツ「Azureアーキテクチャーセンター」について紹介します。

Azureアーキテクチャーセンターでは、マイクロソフトが持つアーキテクチャーに関するノウハウが惜しみなく公開されています。
本1冊分を軽く超えるであろう情報量のため、すべてを紹介することは叶いませんが、どういった内容が掲載されているかを簡単に記載していきます。

Azureを学びたい方はもちろん、他のパブリッククラウドをお使いの方であっても役に立つ内容がてんこ盛りですので、ぜひ一度目を通して頂ければと思います。

Azure アーキテクチャー センター (トップページ)

https://docs.microsoft.com/ja-jp/azure/architecture/
こちらがトップページです。以降のコンテンツにアクセスする際のハブになりますのでブックマーク推奨です。
image.png

Azure アプリケーション アーキテクチャ ガイド

https://docs.microsoft.com/ja-jp/azure/architecture/guide/
Azureにおいてスケーラブルで回復力がある高可用性のアプリケーションを設計するための体系化された方法がまとめられています。これらの方法は、実際の顧客のユースケースから学んだ実証済みのプラクティスに基づいています。
image.png

クラウド設計パターン

https://docs.microsoft.com/ja-jp/azure/architecture/patterns/
信頼性の高い、スケーラブルで安全なアプリケーションをクラウドに構築するための設計パターン集です。「可用性」「パフォーマンスと拡張性」「回復性」「セキュリティ」などクラウド開発での課題ごとに複数の設計パターンが掲載されています。
image.png

Azure アーキテクチャー フレームワーク

https://docs.microsoft.com/ja-jp/azure/architecture/framework/
クラウドソリューションの実装を成功させるために注力すべき重要な要素 = アーキテクチャ エクセレンスについての設計指針やチェックリストなどがまとめられています。

  • コスト
  • DevOps
  • 回復性
  • スケーラビリティ
  • セキュリティ image.png

Azureの参照アーキテクチャー

https://docs.microsoft.com/ja-jp/azure/architecture/reference-architectures/
「AIと機械学習」「DevOps」「マイクロサービス」などのシナリオ別にまとめられた参照アーキテクチャー (リファレンスアーキテクチャー) です。Azure上で稼働させるシステムやアプリケーションを設計する際に手引きとしてお使い頂けます。
image.png

Azure 向けの Microsoft Cloud 導入フレームワーク

https://docs.microsoft.com/ja-jp/azure/cloud-adoption-framework/index
クラウド導入の各ライフサイクル(「戦略」「プラン」「Ready」「移行」「イノベーション」「ガバナンス」「管理」)において、企業が「何に」「どのように」取り組んでいくべきかのガイダンスであったり、役立つツール、生々しい体験談などがまとめられています。

かなりボリュームがありますが読み物としても面白いですし、アーキテクトだけでなく、クラウド導入を計画または推進されている方ややCCoE (クラウドのセンターオブエクセレンス) の方など、様々な立場の方に読んで頂きたいコンテンツです。
image.png

その他の学習リソース

以下は参考になりそうなリンク集です。適宜サブの学習リソースとしてお使い頂くのが良いと思います。

日本語リソース

英語リソース

おわりに

お気付きの点などあればお気軽にコメント頂ければと思います。
長くなりましたが以上です。

Why do not you register as a user and use Qiita more conveniently?
  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
Sign up for free and join this conversation.
If you already have a Qiita account