はじめに
Ignite1日目、お疲れ様でした!
Microsftが主催するテクニカルカンファレンスのIgniteに私も参加してまいりましたので、そこで行われたセッションの内容についてレポートしていきたいと思います。
Igniteでは、学びたいと思う分野ごとに「ラーニングパス」というものが設定されており、それに関連したセッションを受講することができます。
今回は、その中の「クラウドネイティブアプリケーションの開発」に属する最初のセッション、「クラウドでアプリをビルドして実行するためのオプション」についてレポートします。
セッションの目的と内容
このセッションでは、アプリをどのような方法で開発し、何を使ってデプロイするかについて解説されました。
開発のツールとしてどのようなものが使えるか、作ったアプリをデプロイする先としてどのようなものが使えるかといった2点に分けて、それぞれで利用可能な選択肢について解説されていました。
デプロイメントツール
Visual Studio
言わずと知れたMicrosoft製IDEです。
様々なワークロードや言語に対応しており、幅広いアプリを作成することが可能です。
Xamarinを使えばマルチプラットフォームアプリの制作も可能ですし、LiveShare機能によって遠隔地にいるプログラマーとのペアプロ、モブプロも可能です。
公開されている拡張機能をインストールすることで、さらに昨日を増やすことも可能です。
VS Code
VS Codeもアプリ作成のためにコーディングでよく使われるツールです。
Visual Studio自体と比べてよりコーディングに特化したツールというイメージがありますが、こちらも拡張機能を使うことでLiveShareを使えるようになるなど、Visual Studioと比べて遜色ない高機能を実現することもできます。
また、私は普段Windowsユーザーなのでそこまで気にしていなかったのですが、VS Codeはwindows版とmac版で動作があまり変化しないというのもメリットとして挙げられていました。
Windows Terminal
Windows Terminalは今年の11月に公開されたターミナルアプリケーションで、ウィンドウ内でペインを分割できるようになったりタブを分けたりと様々な機能が備わっています。
Shell、AzureCLI、PowerShellなどを使い分けることができるため、コードを書いた後、Azure上でCUI操作を行う際に必要なことはだいたいWindowsTerminal上から行うことができます。
デプロイメントオプション
BLOBストレージ
作ったプリケーションをAzureのどの機能を使ってデプロイするかという話において、真っ先に挙げられたのはBLOBストレージでした。
アプリといっても、静的なものであればBLOBにアップロードして外部から接続できるようにしてやれば、静的なサイトとして機能します。
WebApps
サーバーサイドでの処理が必要になって来た場合の選択肢の一つとして挙げられるのが、WebAppsです。
こちらはPaasサービスとして利用することができ、azureで管理されるプラットフォームの上でアプリを動かすイメージです。
VM
個人的にはちょっと大掛かりにも思えますが、VMを立ててそこの上にアプリをホストすることも可能です。
AKS、ACI
それぞれ、Azure Kubernetes Service、Azure Container Instancesの略です。
どちらもアプリケーションをコンテナ化し、それを使ってサービスのデプロイを行うサービスですが、AKSはKubernetesを用いてコンテナ間の関係をうまく取り持ってくれます。
アプリケーションをコンテナ化した際、複数コンテナ間で連携が必要になったらAKSを利用するのが適しています。
まとめ
このセッションでは、アプリを作成し、Azureでデプロイするための選択肢とそれぞれの特徴について解説されていました。
デプロイメントツールについては既知の情報が多いようにも感じましたが、デプロイメントオプションの話を聴きながら、アプリをデプロイするための方法についての使い分けを意識する必要があるなと感じました。
シンプルなものか複雑なものか、コンテナ化はどうかなど、アプリの要件を考えながらアプリのデプロイを行えるようになっていきたいですね。