はじめに
新しいサービスにはじめて触れるとき、どうやって学べば良いかが分からずに困ることってありませんか?
特にパブリッククラウドは、サービス数が非常に多い上にアップデートが早いため、キャッチアップするのが大変ですよね。
本記事では、Microsoft Azure を学びたいと思っている方を対象に、オススメの学習方法についてまとめていきます。
想定読者
本記事が以下の皆様の Azure 学習の一助になれば幸いです。
- これから Azure を学ぼうと思っている方
- 既に Azure を使っており、もっと学びたい方
- AWS (Amazon Web Services) 経験者の方で Azure に興味がある方
- GCP (Google Cloud Platform) 経験者の方で Azure に興味がある方
主要な学習リソースの概要
色々な学習リソースがありますが、Azure 公式ドキュメント と Microsoft Learn が特にオススメです。
これら 2 つをメイン教材としつつ、動画や書籍などをサブ教材として活用するのが効率的だと思います。
役に立つ動画コンテンツや書籍についても本記事の合間合間で紹介します。
Azure 公式ドキュメント
Azure の全サービスの概要や詳細な仕様、API リファレンス、アーキテクチャー構築に関するガイダンスなど、Azure に関するあらゆる情報がこちらにまとまっています。
Microsoft Learn
Azure をはじめとする Microsoft の各種サービスの使い方をハンズオン形式で学ぶことができるサイトです。数百件のハンズオンコンテンツが用意されており、続々と追加されています。
ハンズオン期間中だけ有効な Azure 環境を無料で使うことができ、学習が大変捗ります。
(Tips) 言語の切り替え
Microsoft の多くのドキュメントは URL の中に言語設定が入っています。例えば、日本語だと ja-jp
、英語 (米国) だと en-us
といった文字列が URL の中に入ります。
日本語のドキュメントを読み進めている最中に、リンク先に遷移したら英語のドキュメントになったりすることがたまにあるのですが、そういった場合、URL の言語設定の部分を ja-jp
に書き換えると素早く日本語のドキュメントにアクセスできます。
ページの下の方に言語設定のボタンがあるので、そちらから切り替えることももちろん可能です。
Azure の全体像をつかむ
それでは、ここからいくつかのパターンに分けて Azure の具体的な学習方法について記載していきます。
特に Azure を初めて学ぶ方は、最初に全体像をつかみ、その後に各サービスの詳細を押さえていくやり方が、知識を定着させる効率的なやり方だと思います。
Microsoft Learn の「Azure の基礎」を実施する
名前の通り、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 の学習を始めると理解のスピードがかなり上がると思います。
- Amazon Web Services (AWS) プロフェッショナルのための Azure - Azure Architecture Center | Microsoft Docs
- AWS サービスと Azure サービスの比較 - Azure Architecture Center | Microsoft Docs
また、以下の Qiita 記事で AWS/Azure/GCP のサービスの対応が横並びでまとめられており大変分かりやすいので、参考としてリンクを記載します。
GCP の経験がある方
以下は GCP 公式ドキュメントになりますが、GCP と Azure の違いや対応するサービスがまとめられています。
余談ですが、GCP と AWS の比較ページも GCP 公式ドキュメントにあります。
- Azure プロフェッショナルのための Google Cloud Platform | Google Cloud
- (参考) AWS プロフェッショナルのための Google Cloud Platform | Google Cloud
Azure のエントリー向けの認定資格試験を受験する
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 です。
クイックスタートを実施する
「概要」を読んだら、次に「クイックスタート」を展開します。実際に手を動かして概要が理解できるように、Azure 上でリソースを作成する短いハンズオンの手順が用意されています。
Azure Virual Machines (Linux) の場合、ポータルや Azure CLI、PowerShell といった選択肢がありますが、お好みのものを選べば OK です。
(Tips) クイックスタートやチュートリアルを実施する場合、Azure のアカウントが必要
Microsoft Learn と違って、Azure 公式ドキュメントの「クイックスタート」や「チュートリアル」を実施するためには、Azure アカウント (厳密には Azure サブスクリプション) を持っている必要があります。
以下から簡単に Azure のアカウントを作成できます。AWS や GCP に勝るとも劣らない潤沢な無料枠が付いていますので、個人の学習用途であれば、よほど使いすぎたり、長期間のリソースの削除し忘れなどが無い限りは無料枠で戦えると思います。
リソースを把握する
見過ごしがちなのですが「リソース」の中には重要なコンテンツが多く含まれています。またサービスによって「リソース」の中のコンテンツが違ったりします。
どんなものがあるかをリンクを一つずつ開いて見ておくのが良いと思います。
以下は Azure Virual Machines (Linux) の「リソース」のピックアップです。
- 「Microsoft Learn でスキルを身に付ける」は Microsoft Learn へのリンクです。Microsoft Learn は重要な学習リソースなのでこの後触れます
- 「価格」は重要な情報なので最初のうちに目を通しておいた方が良いと思います
- 「スタックオーバーフロー」「FAQ」「トラブルシューティング」は今後開発を進める際に非常に役立つリソースになるはずです。特に FAQ は最初のうちに見ておくと良いと思います
- 「ビデオ」はマイクロソフトのエンジニアが解説やデモをしてくれている動画群へのリンクになっています。動画は基本的に英語ですが動画によっては設定で日本語字幕を表示することもできますので、有用そうなものをピックアップして見ておくと理解の助けになると思います。
2. Microsoft Learn で手を動かしながら理解を深める
Azure 公式ドキュメントには後で戻ってくるとして、次は Microsoft Learn でハンズオンを実施し、手を動かして理解を深めていきます。
以下は Microsoft Learn のすべての「モジュール」と「ラーニングパス」へのリンクです。ここから有用そうなモジュール/ラーニングパスをピックアップして実施していきます。
https://docs.microsoft.com/ja-jp/learn/browse/
(Tips) モジュールとラーニングパスの違い
両者のざっくりとした違いは以下の通りです。
- モジュール:Micorosoft の各サービスや各機能、個別具体的なユースケースのハンズオン
- ラーニングパス: 特定の観点でモジュールをグルーピングしたもの(例「Azure の基礎」「Azure での最新のアプリケーションの設計」
(Tips) フィルターを用いたモジュール/ラーニングパスの絞り込み
モジュール/ラーニングパスの絞り込みに活用するのが画面左側にある「フィルター」です。フィルターを使わないと数百件以上のモジュール/ラーニングパスがヒットしてしまうため、Microsoft Learn を使う上でフィルターの活用はほぼ必須だと思います。
- 製品:特定の Azure サービスや Microsoft 製品のモジュール/ラーニングパスに絞り込みたいときに利用する
- ロール:開発者や管理者といった特定のロールに関連するモジュール/ラーニングパスに絞り込みたい時に利用する
- レベル:初級/中級/上級など難易度で絞り込みたい時に利用する
- 種類:モジュール/ラーニングパスなど種類で絞り込みたい時に利用する
モジュール/ラーニングパスの絞り込みと実施
今回は Azure Virtual Machines (Linux) の概要を押さえることが目的なので、製品 = Virtual Machines、レベル = 初級でフィルターし、さらに検索キーワードに Linux を入れてみたところ、以下の2件がヒットしました。
https://docs.microsoft.com/ja-jp/learn/browse/?products=azure-virtual-machines&levels=beginner&term=Linux
名前的に「Azure で Linux 仮想マシンを作成する」というのが丁度良さそうな内容なので、案内に沿って実施してみます。
もし一通りやってみて簡単すぎるとか思ったのと違うように感じたら、フィルター条件を変えて再度モジュール/ラーニングパスを絞り込んでみたり、Azure 公式ドキュメントの「チュートリアル」で良さげなものが無いかを見てみるのが良いと思います(チュートリアルは次で紹介します)。
3. Azure 公式ドキュメントの「チュートリアル」で手を動かしながら理解を深める
以下は Azure Virtual Machines (Linux) の「チュートリアル」のキャプチャです。非常に充実していますね。この中から良さげなものをピックアップして実施頂くのが良いと思います。
Microsoft Learn のモジュールと Azure 公式ドキュメントのチュートリアルの違いですが、前者は概要 + ハンズオンという構成が多い印象で、後者はより具体的なトピックのハンズオンが中心という印象です。あくまで私の印象ですしサービスによりけりな面も多いです。両方見てみて良いトコどりするのが良いのかなぁと思います。
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/tutorial-manage-vm
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
(Tips) ドキュメントをPDFとしてダウンロードできる
お気付きになった方もいらっしゃるかもしれませんが、左側メニューの一番下に「PDF をダウンロード」というリンクがあります。こちらをクリックするとドキュメント内のすべてのコンテンツを 1 つの PDF ファイルとしてダウンロードすることができます。
メリットとしては、1 ファイルにまとまるので検索がしやすくなること、端末に保存しておくことでオフラインでも閲覧できることなどが考えられます。
一方で、サービスによっては巨大な PDF になる場合があるため (Azure Virtual Machines (Linux) の場合、20MB 超& 1200 ページ超)、その点は注意が必要かもしれません。
5. Azure 公式ドキュメントの「サンプル」「リファレンス」を参照しながら実装する
最後のステップとして、サービスを使って何らかのシステムやアプリケーションを実装してみます。その時に参考になるのが公式ドキュメントの「サンプル」と「リファレンス」です。
まずはサンプルの中で使いまわしができそうな実装を探してみて、そちらを下敷きにしてリファレンスを見ながら実際のシステムやアプリケーションに適用していく流れが良いと思います。
サンプルの例
Azure Virtual Machines (Linux) > サンプル > CLI
リファレンスの例
Azure Virtual Machines (Linux) > リファレンス > CLI
Azure のアーキテクチャーを学ぶ
このセクションでは、Azure のサービスを組み合わせてベター/ベストなアーキテクチャーを設計するための学習リソースとして、Azure 公式ドキュメントの中の一大コンテンツ「Azure アーキテクチャーセンター」について紹介します。
Azure アーキテクチャーセンターでは、マイクロソフトが持つアーキテクチャーに関するノウハウが惜しみなく公開されています。
本 1 冊分を軽く超えるであろう情報量のため、すべてを紹介することは叶いませんが、どういった内容が掲載されているかを簡単に記載していきます。
Azure を学びたい方はもちろん、他のパブリッククラウドをお使いの方であっても役に立つ内容がてんこ盛りですので、ぜひ一度目を通して頂ければと思います。
Azure アーキテクチャー センター (トップページ)
https://docs.microsoft.com/ja-jp/azure/architecture/
こちらがトップページです。以降のコンテンツにアクセスする際のハブになりますのでブックマーク推奨です。
Azure アプリケーション アーキテクチャ ガイド
https://docs.microsoft.com/ja-jp/azure/architecture/guide/
Azure においてスケーラブルで回復力がある高可用性のアプリケーションを設計するための体系化された方法がまとめられています。これらの方法は、実際の顧客のユースケースから学んだ実証済みのプラクティスに基づいています。
クラウド設計パターン
https://docs.microsoft.com/ja-jp/azure/architecture/patterns/
信頼性の高い、スケーラブルで安全なアプリケーションをクラウドに構築するための設計パターン集です。「可用性」「パフォーマンスと拡張性」「回復性」「セキュリティ」などクラウド開発での課題ごとに複数の設計パターンが掲載されています。
Azure アーキテクチャー フレームワーク
https://docs.microsoft.com/ja-jp/azure/architecture/framework/
クラウドソリューションの実装を成功させるために注力すべき重要な要素 = アーキテクチャ エクセレンスについての設計指針やチェックリストなどがまとめられています。
Azure の参照アーキテクチャー
https://docs.microsoft.com/ja-jp/azure/architecture/reference-architectures/
「AI と機械学習」「DevOps」「マイクロサービス」などのシナリオ別にまとめられた参照アーキテクチャー (リファレンスアーキテクチャー) です。Azure上で稼働させるシステムやアプリケーションを設計する際に手引きとしてお使い頂けます。
Azure 向けの Microsoft Cloud 導入フレームワーク
https://docs.microsoft.com/ja-jp/azure/cloud-adoption-framework/index
クラウド導入の各ライフサイクル(「戦略」「プラン」「Ready」「移行」「イノベーション」「ガバナンス」「管理」)において、企業が「何に」「どのように」取り組んでいくべきかのガイダンスであったり、役立つツール、生々しい体験談などがまとめられています。
かなりボリュームがありますが読み物としても面白いですし、アーキテクトだけでなく、クラウド導入を計画または推進されている方や CCoE (クラウドのセンターオブエクセレンス) の方など、様々な立場の方に読んで頂きたいコンテンツです。
その他の学習リソース
以下は参考になりそうなリンク集です。適宜サブの学習リソースとしてお使い頂くのが良いと思います。
日本語リソース
- 日本マイクロソフトのイベント セッション資料 & 動画
- de:code 2020 (2020年6月-7月)
- de:code 2019 (2019年5月)
- Microsoft TechSummit 2018 (2018年11月)
- Azure のウェビナー
- Azure の更新情報
- Azure のイベント
- Azure サイトの歩き方
- Azure Daikanyama Base
- クラウドデベロッパーちゃんねる - YouTube
英語リソース
- 米国マイクロソフトのイベント セッション資料 & 動画
- Microsoft Ignite
- Microsoft Build
- Azure Friday
おわりに
お気付きの点などあればお気軽にコメント頂ければと思います。
長くなりましたが以上です。