はじめに
おはようございます、ACS事業部の吉川です。
引き続きMicrosoft Build からの情報をお伝えしていきます。
本記事では App Spaces という新サービスをご紹介します。
※宇宙関連のサービスである Azure Space とは名前が似てますが別モノです!
概要
Webアプリケーションをお手軽にAzure上で稼働させるための支援を行ってくれるサービスです。
大きく分けて以下の2つのアプローチでアプリケーション開発を支援します。
- アプリケーションのソースコードが格納されたGitHubリポジトリからAzure上にデプロイする
- App Spacesで準備されたテンプレートからGitHubリポジトリとAzureリソースを作成する
それぞれの動きを見ていきましょう。
既存のGitHubリポジトリから作成する
Deploy web, API, or containerized apps from your GitHub repository
から進めていきます。
今回、サンプルのアプリとして以下のリポジトリを利用しました。あらかじめForkして自分のGitHubアカウントにリポジトリを作成しておきます。
App Spacesの画面でGitHubアカウントでログインし、リポジトリ・ブランチを選択します。
リポジトリ・ブランチを選択すると、リポジトリ内をチェックし適したAzureのサービスを提案してくれます。このサンプルアプリでは、Python 3.11のApp Serviceを提案してくれました。このアプリはPython 3.9前提で作られているようなのでバージョンのみ修正しておきましょう。
App Spacesが対応しているサービスは以下の3種類です。
- App Service
- Static Web Apps
- Container Apps
また、今回は作成しませんがデータベースも同時に作成することができます。対応しているデータベースは以下の4種類です。
- Cosmos DB
- SQL Database
- Azure Database for PostgreSQL
- Azure Database for MySQL
作成するサービスを確定したら、リソースのデプロイに対する名前とデプロイ先のサブスクリプション・リージョンを指定します。
指定するパラメータはこれだけなので、あとはDeployボタンを押下します。
すると、Azureリソースが作成され、同時にGitHubリポジトリにアプリケーションデプロイ用のGitHub Actionsのワークフローが追加されます。
App Spacesでデプロイしたリソースは、通常のポータル画面とは別の簡易的な管理画面で表示されます。アプリのURLやデプロイ履歴の表示や環境変数・接続文字列の設定など、最低限の情報のみが集約されています。(詳細が見たければ通常のポータルの画面で表示することも可能です)
しばらく待ってからアプリのURLにアクセスすると、ちゃんとデプロイされていることが確認できます。
GitHubリポジトリからごくごく簡単な操作のみでアプリを展開できるというのが伝わりましたでしょうか。
テンプレートから作成する
次にApp Spacesのテンプレートから作成してみます。
App Spacesのトップ画面に以下のテンプレートが表示されています。
今回は一番左の React Container App with C# API and PostgreSQL
を作成してみましょう。
GitHubリポジトリから作成した時と同様にGitHubアカウントを接続すると、情報入力用のフォームが表示されます。テンプレートから作成するリポジトリ名とアプリケーション名・リージョンを入力しDeployボタンを押下します。
するとGitHub上にリポジトリが作成され、
GitHub Actionsでリソースの作成およびアプリのデプロイが行われます。Azureリソースはリポジトリ内のBicepファイルから作成されます。
しばらく待つとデプロイが完了し、
web-service リソースのURLにアクセスするとアプリが稼働していることが確認できます。
あとはこのリポジトリをローカルにクローンしてあげればアプリ開発を行う体制が整います。用意されたテンプレートを用いることでスムーズに開発に着手できるというわけですね。
おわりに
ちょっと触ってみた限りでは、開発者がインフラのことをあまり気にせずにAzureにアプリをデプロイできるようにするツールという印象でした。
デプロイされたリソースの管理画面もシンプルになっており、Azure初心者の方でも取っつきやすいインターフェースになっていると感じました。Microsoftの開発者ファーストな姿勢が垣間見えたような気がします。
【PR】
私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。
また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。