Azure基礎のVirtual Trainingに参加してみた！

最近会社でAzureいいぞ!という話が盛り上がっている。普段は私、JavaやらJavascriptやらの研修をしているのだけども、そんなこと言われたらAzureが気になってしまう。
ということで、その概要を知るべく、Microsoft社[^1]がやっているAzureのVirtual Training Dayに参加してみた。以下、備忘録がてらつらつらと語ってみる。

---

###  この記事で分かること
- 初心者からみたAzureやクラウドの見え方
- Azureの講座のざーっくりした内容
- Azureのざーーーーっくりした内容
- 受けようと思った人が知っとくとよい(かもしれない)(本当に)ちょっとした前提知識(初心者目線)

### この記事で分からないこと
- Azureについての専門知識
- Azureのイケてない点
- AWS他のクラウドサービス

---

## 参加したのは、Azureの基礎（オンラインにて開催）
正式名称は、「Fundamentals: Azureの基礎 - 【AZ-900無料試験特典付き】」で、2022年8月現在、月二回のペースで行われている。

https://www.microsoft.com/ja-jp/events/top/training-days/azure?activetab=a1%3aprimaryr4

### イベントの概要
**日程は3.5時間ｘ2日**で、1日目は、**開発周りのAzureサービス**を、2日目は、**インフラや管理（アカウント、リソース、金銭的なコスト）関連のサービス**が主に取り扱われていた。
### やったこと&できるようになったこと
- 1日目
    - 【実際にやったことこと】この日は、クラウドサービスとは何かから始まり、その利点と利用上の注意点を学んだ後に、各種サービスの特色の紹介&Azure portal（というAzureのサービスがWeb上で一括管理できるサイト）上でのハンズオン。という流れ。クラウドがあると、こんなことができるというのが、具体例と共に辿れたのがよかった。
     - 【できるようになった】Azureとは何ぞやというのをざっくりと理解できた。頭の中に、(主に開発側の)Azure系サービスの地図が描けるようになった。

- 2日目
    - 【実際にやったこと】前日と比べると、インフラや、管理面の話がメイン。具体的には、セキュリティーツールの紹介、ネットワークをどうsecureに保つか（多重の防御をどうやってAzureで実装するか）であったり、アカウントの管理（Active Directory）や、ガバナンスやコストの管理のお話が出てきた。
    - 【できるようになったこと】この日にできるようになったのは、Azureを実務で使う中でどのようなことに気をつけたらよいのかと、そのためにある機能について詳しくなれた。ビジネスサイドの話（例えばコストの話）などでも、ベストプラクティスの実例やその調べ方も紹介され、Azureを導入するかを決めるときの決め手が何か含めて理解が深められた。

## このVirtual Learningのよいとこを2点ほど

1. 二日でざっくりAzureサービスの地図が描ける
    - Before: クラウド？ネット上にいつでもデータ取り出せる場所ができるんでしょ？あとはサーバー置くとか？くらいの**ゆるくて浅すぎる理解**
    - After: あらゆるセグメントでクラウドが使えるということを知った。networkもVM(仮想マシン)も、コンテナも、サーバーレスも、各種管理(技術よりな権限だけでなく、コンプライアンスやポリシー、あとはコスト)も。
        - 全然頼りになりそうにない目安としては、**Azureについて聞かれたときに、ちょっといい奴として紹介できるようになった気がする**。ほらあの、第一印象ナイスガイ/ガールについて聞かれた時にちょっと物知り顔で紹介しちゃったりすること、あなたにはありませんか？私には、あります！あんな感じ。
        - 逆に言えば、そこまで深くは理解できてないのも事実。まぁ何も知らないとこから始めてだから、その深さを求めるのは無粋というもの。ただ。要所要所において、サービスの利用状況&蓄積されてきた情報や試行錯誤を反映したであろうベストプラクティスを提案してくれるので、そのあたりも**心強い奴**、という印象。
        - **具体的なサービス名とそのメリットが一通り言えるようになった**（言葉を知っているって大事！）。箱は用意できたので、中身はこれから追々充実させていきたい。競合サービス(AWSなど)と比較した際のデメリットは当たり前ながら出てこなかったし、詳細な機能などはがっつり使ってみないとわからないだろうし。
2. Azure z-900が無料で受けられる資格が得られる
    - これはまぁ、公式ページにも書いてあるので、詳細は省略。二日間受けるとこの資格がもらえる。
    - 受講完了後に、資格取得特化の復習用の別教材の案内もあったので、合格への道筋は完全サポート！という感じだ。
##  前提知識に関して
基本的にいらないけれど、あった方がいいと個人的に感じたものがいくつかあるので、挙げておく
   - ネットワークの基礎知識
   - PowerShell/Bashを触っておく
        - `ping` くらいは一回叩いてみておくと良いと思う
        - 途中例の黒い画面やら青い画面が出てくるので、その辺りはちょっと触っておくと、なんというか、怖くない。
## その他雑感
以下、AWSもAzureも触ったことがない私の感想なので、まぁ、的外れなものもあるかもしれないが、ご勘弁！

- 個人的には、functionレベルでも使えるサービス（その名もAzure functions）があるというのがなかなかな衝撃。普段書いているコードも、ビジネスレイヤーと、その他をきちんと分けて書く習慣付けてかないと、こういうサービスも組み込んだ運用しやすいコードは書けなくなるなと思った。

- 「AzureはDX（Developer eXperienceの方）がイケてる」という話が社内でよくされているので、それって一体どういうことという疑問があったのも、少しクリアにできたと思う。解像度が上がった感じ。github、vscode等との連携のスムーズさ以外にも、モニタリングをベースに、おススメ設定を自動で出してくれるAzure Adviserもあるらしく、そういう総合的なサポートがDXに貢献しているのかもしれない（けど、AWSとかにもこういう機能ありそう。私が知らないだけかも）

- あとは、リージョン（データセンターの場所）を変えるだけで、かかるコストがだいぶ変わったのも単純に驚いた！(ハンズオンで見せてもらった時、EUからJPにするだけで、ざっくり1.5倍程に！)
    - このようなリージョンの選択に加え、コンプライアンスもどれに準拠するのかも考えなきゃだし、コストももちろん問題だしで、Azureの導入はいろいろ考えることがあるのだと実感した。その管理をAzure Portalで一元化できるのは確かにいいところ。
- ついでに、クラウドのサービスの一部としてではあるけれど、権限やネットワークの管理ツールを一通り知ることで、社内インフラ整備の大変さも垣間見れた気がする。権限の管理はもちろん、コンプライアンスやポリシー、コストなどにも目を光らせなければならないだろうしで、大変そうだ...（いつもありがとうございます、という気持ちになった）

以上！

[^1]: 初稿でWindowsって書いてて、社内の人に指摘頂くなど！確かにWindowsはOSやー