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

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

Read More

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 と組み合わせて使い始める方法を紹介したいと思います。

Read More

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

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

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

Read More

Azure Kubernetes Service(AKS)でIstioを使う

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

Read More

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

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

Read More

Azure Functions のログを Application Insights でモニターする(2018年夏版)

日頃、Azure Functionsを運用していると、何かとログを見る機会が多いのですが、ここ最近でAzure Functionsのログや監視周りがいろいろと新しくなっていて、仕事上でも各プロジェクトの現場で説明する機会が多くなったので、少しまとめておきたいと思います。

Read More

CosmosDB BulkExecutorの性能をPaaSで試してみた

Build2018のCosmosDB関連アナウンスでは、デモ映えするMulti-Masterネタで盛り上がっていましたが、個人的にはIntroducing the #Azure #CosmosDB Bulk Executor library | Blog | Microsoft Azureが最も気になっていました。アナウンスから少し時間が経ってしまいましたが、ようやくある程度の検証ができたのでメモに残しておきます。

Read More

Comments

Durable Functions for Node.js を試してみた

Build2018でいよいよGAとなったDurable Functionsですが、同時にこっそりNode.js版がパブリックプレビューとなっていました。

個人的にFunctionsの実装はNode.jsがお気に入りなので、これはちょっと嬉しい発表でした。早速自分のMac + VSCode環境で動くかどうかを試してみたのでここで紹介します。

Read More

Azure Functions で Cosmos DB と MySQL のデータ連動

先日、いつものように Azure Cosmos DB を使ってサービスを構築していたら、どうしてもGroup Byを使わなければならない場面に遭遇しました。しかし現時点ではCosmos DBではGroup Byがサポートされていません(そのうち実現するかもしれないのでこちらからVoteしましょう)。
こういう時、普通ならGroup Byに相当するストアドプロシージャを頑張って作ったりするのでしょうが、そういう頑張りが嫌いな私は、 CosmosDB TriggerのFunctionを使って集計専用のセカンダリRDBを作って解決してしまえ、というなんともクラウドネイティブ?な設計に走りがちです。

Read More

Cosmos DB入出力バインドを使ったAzure FunctionsをJavaScriptで実装する

Azure Functionsを書くときはもっぱらVisual StudioとC#で作っていますが、
とある機会があって久々にJavaScriptのFunctionをAzureポータル上で作成してみたところ、
(ポータル上での実装は避けていましたが)これはこれでありかなと思えてきましたので、自分用のメモとしてざっと手順を残しておきます。

Read More