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

Dockerに統合されたkubernetesでローカル開発用のMySQLを運用する

DockerCon EU 2017でDockerにKubernetesが統合されるとアナウンスされていましたが、早くもDocker CE for MacのEdgeリリースでk8sがローカル環境で使えるようになってました。これまでローカルのk8s環境はminikubeをインストールしていたのですが、この機会にDockerで完結させるように移行してみました。

Read More

ASP.NET MVCでKnockoutからVue.jsに移行してみた

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

ASP .NET MVCでは、数年前までデフォルトのJavaScriptライブラリとしてKnockoutが付属していた時期が長く続きました(現在はAngularやReactを選択できる)。

Knockout自体は細々とメンテナンスされているものの、メジャーバージョンアップはされない雰囲気になっています。そのため、当時開発したアプリを改修しようとすると、情報が不足していたり、モダンなフロントエンドの開発テクニックが使えなかったりと少し残念な状況になっています。

そこで、最近のメジャーなスタックを使って改修できないかといろいろ検証していたところ、クラシックなASP .NET MVCでは、Vue.jsへの移行がわりといい感じにできたので、この記事ではKnockoutからVue.jsに移行する方法を紹介したいと思います。

Read More

Xamarin.FormsからAzure Event Hubsに大量のメッセージを送信する

これは、Xamarin その1 Advent Calendar 2017の7日目のエントリーです。

先日、Tech Summit 2017というイベントでAzure Cosmos DB を使った高速分散アプリケーションの設計パターンというセッションを担当させていただいたのですが、その中で取り上げた設計パターンのひとつとして「リアルタイムデータ分析」がありました。

この設計パターンでは、イベント発行元にIoT機器を想定していたのですが、良く考えたらXamarinで作成したアプリにも適用できそうだなと思い今回検証してみました。

Read More

Kubernetesのローカル開発環境をMinikubeで構築する

自分のMacをリフレッシュする機会があったので、ローカルのDocker環境をKubernetesベースに変えてしまおうと思い、Minikubeを使って環境を構築しました。

Minikube環境の構築

Minikubeに必要なもの

Read More

Azure FunctionsのCosmos DBトリガー

2017年のIgniteで発表されたCosmos DB関連の新機能で個人的に注目しているのが、Azure FunctionsとCosmos DBのネイティブ統合です。

Cosmos DBにはもともとChange Feedという機能がありますが、以前このブログ記事「DocumentDBのChange Feed機能を使う方法」で書いたように、Change Feedというわりには若干中途半端な機能だなと感じていました(変更イベントの検知を自分で作り込む必要があったという意味で)。

今回発表されたAzure FunctionsのCosmos DB Triggerは、まさに従来のChange Feedに足りなかった部分を補うもので、「Cosmos DBのデータ変更を自動的に検知してイベントを起こしてくれる」機能がやっと出たなという感じで少し安心しました。

Read More