Azure Static Web Apps が GA になりました(速報)
プレビューが発表されてから 約1年の期間を経て、 Azure Static Web Apps が GA になりました! プレビュー中も地道な改善が続けられてきたことは 私のブログ: Azure Static Web Apps プレビュー後の注目アップデートまとめ をみていただければわかると思いますが、この GA のタイミングでもいくつかのアップデートがあったので、気になる箇所を独断と偏見でピックアップして紹介します。
プレビューが発表されてから 約1年の期間を経て、 Azure Static Web Apps が GA になりました! プレビュー中も地道な改善が続けられてきたことは 私のブログ: Azure Static Web Apps プレビュー後の注目アップデートまとめ をみていただければわかると思いますが、この GA のタイミングでもいくつかのアップデートがあったので、気になる箇所を独断と偏見でピックアップして紹介します。
前回の記事 に続いて Static Web Apps CLI を紹介したいと思います。今回は、 API 連携とビルトイン認証/認可機構について取り上げます。
Static Web Apps CLI は活発に開発が続けられており、前回の記事以降にもかなりのアップデートがありました。私もいくつか Issue を出しましたが、開発チームが迅速に対応してくれました。OSS の運営としても健全なライブラリだと思います。
また、Azure Static Web Apps 本体の公式ドキュメントでもこの CLI についての記載が追加されています。
Azure Static Web Apps は、いつかの GA に向けて地道な改善が続けられているようです。ここでは Microsoft Ignite などの大規模イベントをガン無視して同時期に実施された Azure Functions Live - Mar 2021 で突然アナウンスされた Static Web Apps CLI を紹介したいと思います。
2020.2.11: Connection 作成と ER の削除について追記しました
最近、Azure の専用線接続サービスである ExpressRoute を使った検証環境を構築する機会がありました。ExpressRoute は、一般的なケースではオンプレミスのデータセンターと物理的な接続が必要となるため、気軽に検証することができないと思われがちですが、Oracle クラウド(以下 OCI)とのクロスクラウドネットワークを使うことで、(ハマらなければ)1 時間もかからずに接続できることがわかりました。(なお、この記事はネットワークやインフラに精通している方向けではありません。)
Azure Static Web Apps(以降 SWA と略す場合があります) が登場し、パブリックプレビューとして利用できるようになってから既に数ヶ月が経過しました。このエントリーの執筆時点ではまだ GA にはなっていませんが、プレビューが開始されてから SWA は地道な改善を続けています。
そんな素晴らしいアップデートが行われているのに、GitHub の Issue 以外には公式でアナウンスされている情報源が見当たらないので、微力ながら私が独断と偏見で気に入っている更新をピックアップして紹介したいと思います。
昨年(2019 年)の後半くらいから今年の前半にかけて、Azure の PaaS/Serverless 界隈ではネットワークに関する機能強化が活発になってきた印象です。サーバーレス DB と呼ばれることが多くなった Cosmos DB についても、2020 年の春ころに Private Link For Cosmos DB が GA しています。実プロジェクトでもこのあたりのネットワーク機能を活用することが多くなってきたので、この機会に Cosmos DB のネットワーク設定周りを整理したいと思います。
Microsoft Build 2020 で、Azure App Service の新たなオプションとして 静的サイトのホスティング を実現する Static Web Apps が発表になりました(執筆時点で Public Preview)。JavaScript で開発する Web フロントエンドのメインストリームである SPA(Single Page Application))や 静的サイトジェネレータを使う JAMstack の運用に最適化されているそうです。
詳細は 公式アナウンス や 公式ドキュメント: Azure Static Web Apps documentation を読んだ方がいいですが、ざっと現在わかっている機能や特徴を書いておきます。
3 年くらい待ちました。ついに Azure Cosmos DB に Free Tier(無料利用枠)が登場です!
実は自分が待っていたのは無償利用枠というよりも比較的小規模なアプリ向けのプランでした(MS MVP として製品チームにも何度か直接フィードバックしてました)。それを Free Tier で実現してきた Cosmos DB チームには感謝しかありません。
Nuxt.js の Universal SSR を Azure App Service で運用する方法 - Qiita を投稿後、 GitHub Actions からの デプロイ方法が知りたいという声があったので検証してみました。
なお、検証にあたっては、あの有名な「しばやん雑記」の Node.js アプリを Azure App Service へ最適な形でデプロイする - しばやん雑記 を参考にしながら、まずは Azure Pipelines で事前検証し、それを GitHub Actions に置き換えるアプローチを取りました。両社は共通のインフラを使っているらしいので、雰囲気はとても似ていましたが YAML の書き方は異なります。
Nuxt.js には ユニバーサル SSR というビルド方式があり、これを選択すると自動的にサーバーサイドレンダリング(SSR)が有効になります。しかし、ユニバーサル SSR の構成は、Node.js の実行環境が必要になるため、デプロイする発行先によってはある程度複雑な設定を強いられる場合があり、これがフロントエンドエンジニアにとって少し面倒に感じられる原因になっている面がありました。
このエントリーでは、 VSCode と Azure App Service (Web App) を使って面倒な設定などから開放される Nuxt.js (SSR) のデプロイ方法を紹介します。