Cosmos DB のネットワーク設定

昨年(2019 年)の後半くらいから今年の前半にかけて、Azure の PaaS/Serverless 界隈ではネットワークに関する機能強化が活発になってきた印象です。サーバーレス DB と呼ばれることが多くなった Cosmos DB についても、2020 年の春ころに Private Link For Cosmos DB が GA しています。実プロジェクトでもこのあたりのネットワーク機能を活用することが多くなってきたので、この機会に Cosmos DB のネットワーク設定周りを整理したいと思います。

Azure App Service に Static Web Apps が登場!

Microsoft Build 2020 で、Azure App Service の新たなオプションとして 静的サイトのホスティング を実現する Static Web Apps が発表になりました(執筆時点で Public Preview)。JavaScript で開発する Web フロントエンドのメインストリームである SPA(Single Page Application))や 静的サイトジェネレータを使う JAMstack の運用に最適化されているそうです。

詳細は 公式アナウンス公式ドキュメント: Azure Static Web Apps documentation を読んだ方がいいですが、ざっと現在わかっている機能や特徴を書いておきます。

Azure Cosmos DB Free Tier をプロダクション環境で使う

3 年くらい待ちました。ついに Azure Cosmos DB に Free Tier(無料利用枠)が登場です!
実は自分が待っていたのは無償利用枠というよりも比較的小規模なアプリ向けのプランでした(MS MVP として製品チームにも何度か直接フィードバックしてました)。それを Free Tier で実現してきた Cosmos DB チームには感謝しかありません。

GitHub Actions で Nuxt.js + Azure App Service の CI/CD を実現する

Nuxt.js の Universal SSR を Azure App Service で運用する方法 - Qiita を投稿後、 GitHub Actions からの デプロイ方法が知りたいという声があったので検証してみました。

なお、検証にあたっては、あの有名な「しばやん雑記」の Node.js アプリを Azure App Service へ最適な形でデプロイする - しばやん雑記 を参考にしながら、まずは Azure Pipelines で事前検証し、それを GitHub Actions に置き換えるアプローチを取りました。両社は共通のインフラを使っているらしいので、雰囲気はとても似ていましたが YAML の書き方は異なります。

Nuxt.js + Azure Web Apps でサクッと SSR 環境ができてしまった

Nuxt.js には ユニバーサル SSR というビルド方式があり、これを選択すると自動的にサーバーサイドレンダリング(SSR)が有効になります。しかし、ユニバーサル SSR の構成は、Node.js の実行環境が必要になるため、デプロイする発行先によってはある程度複雑な設定を強いられる場合があり、これがフロントエンドエンジニアにとって少し面倒に感じられる原因になっている面がありました。

このエントリーでは、 VSCode と Azure App Service (Web App) を使って面倒な設定などから開放される Nuxt.js (SSR) のデプロイ方法を紹介します。

Azure Functions Cosmos DB Trigger を TypeScript で実装する (平成版)

Azure Functions ではさまざまなトリガーを使うことができますが、中でも気に入っているのが Cosmos DB Trigger です。これを気に入っている最大の理由は、クラウドアーキテクチャの代表的なパターンである コマンド クエリ責務分離 (CQRS) パターンイベントソーシング パターン を実現するために欠かせない技術だからです。
コミッターをやらせてもらっている intelligent-retail/smart-store でも Cosmos DB Trigger を使っていて、在庫管理アーキテクチャを実現するキーテクノロジとなっています。

Vue.js を ASP.NET Core でプログレッシブに使う (Non-SPA編)

この記事は Vue.js #3 Advent Calendar 2018 の17日目の記事です。

昨今のフロントエンド界隈では、なんでもSPAのアーキテクチャを前提として語られる雰囲気を感じますが、Non-SPAなサーバーサイドのMVCフレームワーク(LaravelやRails、ASP.NET Coreなど)をメインに使いつつ、Vue.js などのJavaScriptライブラリを使って画面に味付けをしたいというニーズも相変わらず存在します。また、あえてそう設計すべきアプリケーションも多くあるでしょう。

ここで、 Vue.jsの公式サイト(日本語版) の冒頭に書かれている文章を紹介します。

…Vue は少しずつ適用していけるように設計されています。中核となるライブラリは view 層だけに焦点を当てています。そのため、使い始めるのも、他のライブラリや既存のプロジェクトに統合するのも、とても簡単です。…

Vue.js は プログレッシブフレームワーク です。サーバサイドのMVCフレームワークと組み合わせて使うことももちろん可能です。むしろそこから気軽に始められるところが最大のメリットのひとつと言っても良いくらいです。そこで、このエントリーでは、Vue.js を MVCフレームワークの一つである ASP.NET Core と組み合わせて使い始める方法を紹介したいと思います。

Serverlessconf Tokyo で Durable Functions にコントリビュートしました

この記事は Serverless2 Advent Calendar 2018 の 3日目の記事です。

先日、 Serverlessconf Tokyo 2018 Contributor Day に参加し、その活動の一環として Durable Functions へのコントリビュートにチャレンジしました。

Azure Kubernetes Service(AKS)でIstioを使う

Istioサービスメッシュ入門 - connpassにブログ書く枠で参加したので、レポートします。今回のテーマは、サービスメッシュの代表例であるIstioのハンズオン。スピーカーはコンテナ&サーバレス第一人者の @yokawasa さん。

Azure Functions の CosmosDB バインドでConnection Policy系のオプションが設定可能に

Azure Functions の CosmosDBバインドでは、これまでコネクション系のオプションを変更できませんでしたが、 azure-functions-hostv1.0.11913 でようやくバインディングのオプションとして設定できるようになったのでざっと説明しておきます。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×