Microsoft Ignite 2019: Web アプリケーションとデータのモダン化ラーニングパス 午後の部を一気見
2019-12-11
azblob://2022/11/11/eyecatch/2019-12-10-ignite-modanize-applications-learning-path-000.jpg

はじめに

先週の12月5,6日に開かれたIgniteですが、参加された方は何かしら得られたものはあったでしょうか。
私も今回このイベントに参加して、既に知っていることを再確認しただけでなく、たくさんの新しい気付きを得られたと思います。
今回は、私が12月5日の午後に聴講した同じラーニングパスに連なる3つのセッションから気付いたこと、気になったことをピックアップしていきたいと思います。

印象深いトピックをピックアップ

AzureにおけるメッセージングサービスとしてのEventGrid(クラウドインテリジェンスによるWebアプリ拡張)

最近仕事でAzure上のメッセージングサービスを検討する機会があったのですが、Azureでメッセージキューサービスといえば思い浮かぶのはAzure Service BusAzure Queue Storageの2つでした。
このセッションでは、メッセージングサービスとしてEventGridが紹介されていました。
これらの違いは?と思ってちょっと調べたら全く違うものだと分かりました。
EventGridは何かしらの動きをトリガーとして他の動作を開始させるイベントドリブンの管理ツールで、主な役割はイベントをルーティングすることです。
一方Service BusやQueue Storageなどのメッセージングサービスはどこかしらからメッセージをキューやストレージに保存したことをトリガーにして動作します。
ユースケースが違うみたいで、使いどころが分かれているようです。

3つのモニタリングサービスの役割の違い(本番アプリケーションをデバッグし、繰り返し改善する)

MOD40、「本番アプリケーションをデバッグし、繰り返し改善する」のセッションでは、本番アプリケーションをデバッグするために必要な運用監視のための3つのロギングツールであるAzure MonitorApplication InsightsLog Analyticsが紹介されていました。
3つのサービスの名前と、これら3つともログ取りに関するサービスであることは知っていたのですが、それらの関係性についてはあまり知らなかったので、後で少し調べたりしていました。
3つのサービスの関係から言うと、Application InsightsはAzure Monitorの機能の一つで、Log AnalyticsはAzure MonitorやLog Analyticsエージェントから送り出されるログを集積して分析するツールのようです。
特に、Application InsightsはWebアプリケーションのパフォーマンスを監視し、応答時間やメモリ使用率HTTPレスポンスの500番台を返していないかどうかをチェックしてくれます。
調べていくうちに実際にWebアプリケーションを使用する際にこれらのサービスをどのように使っていくかについてのイメージがつかめてきたように感じます。
後は実際に手を動かして検証をしていきたいです。

カナリアデプロイの話(DevOps でアプリケーションデリバリーを管理しよう)

「Web アプリケーションとデータのモダン化」ラーニングパスのセッションでは、DevOpsのセッション以外でも何度かデモにおいて「カナリアデプロイ」を行っているところを見ました。
普段使っている人からすれば当たり前の概念なのかもしれませんが、これまであまり触れてこなかった概念だったのでかなり面白いと感じました。
カナリアデプロイとはトラフィックを制御することでユーザーの一部にのみ新しい機能やデザインを適用し、本番環境で運用しても問題が起きないか確認するものだそうで、デザインのA/Bテスト等にも用いられるそうです。
デモ中ではトラフィックを50%ずつで新デザインと旧デザインで分け、同じurlを踏んでも人によってデザインの違うページに誘導される例が行われました。

おわりに

今回のIgniteではこれまであまり触れてこなかったAzureの新しい概念を知ったり、元々ある程度知っていたサービスについてより体系立てられたりと、新しい発見がたくさんありました。
ここで知ったことを基にしてさらに知識を深堀りして、自分たちで作るサービスに繋げていきたいと思います。