Sony Corporation
サーバーレスの登場によりシステムをマイクロサービス・アーキテクチャで構成することが容易になりました。マイクロサービスではシステムを複数の小さなサービスの集合体として構成し、開発生産性や保守性などに多くのメリットをもたらします。一方で運用、とくに障害発生時の問題追跡となった場合に、モノリシック構成と比較して困難が生じます。さらには、その小さなサービス群が、複数の
AWS アカウントに分散して配置されるようになると一層困難を極めます。
AWS では CloudWatch や X-Ray を使うことで障害のトレーサビリティを確保できます。また DataDog
をはじめ、さまざまなサービスでも高度なモニタリングと分析の機能が提供されています。これらを活用することで問題を可視化し追跡ができます。
しかしながら、これらは AWS アカウントに閉じている、または期間が限られる(料金プラン等による)
などの弱点もあります。マイクロサービス化が進むことにより、必要な機能を適切な場所や組織へ配置され、時には複数の AWS
アカウントにまたがって配置されることがあります。また障害発生直後のトレースだけでなく、時間がたってから発覚した問題や確認なども発生します。これはお客様からコールセンターへのコンタクトがあるケースや、IoT
などリアルタイム性が乏しいものなどでは顕著です。
AWS Lake Formation を活用することで、このような問題を解決できます。Lake Formation
は、データレイクですから多様なソースからデータを一元的に集めることができます。データレイクのユースケースとしてはビジネス・インサイトが主ですが、ログ・アーカイブを集約し分析できるようにすることで、ロングタームのシステム・インサイト=トレーサビリティを実現できます。
私たちは 10 近い AWS アカウントにまたがり稼働する IoT 製品向けのマイクロサービス型のプラットフォームを構築・運用しています。短期的には X-Ray と DataDog
を活用したモニタリングと追跡、長期的には Lake Formation を使った分散トレーシングでシステムの障害や問い合わせの対応を実現しています。Lake Formation
を使った長期的な分散トレーシングはアルタイムの問題検知には向きませんが、クロスアカウントでの問題追跡や、時間が経過してからの問い合わせ、いつの間にか問題が発生していた IoT
機器の過去状態の追跡などで活躍します。これらは Lake Formation の活用がなかったら実現できなかったでしょう。
私たちが Lake Formation によって、どのような分散トレーシングを実現したのか、導入した IoT 製品向けプラットフォームの事例をもとに、そのノウハウとメリットをお話しします。