AWSでの大規模オブザーバビリティ事例では信頼性強化やコスト最適化も
事例(※)として、決済サービスのStripeを紹介しよう。少しの遅延も許されないため、大規模なオブザーバビリティ基盤をAWSに構築している。テレメトリーの計装、収集、送信、保存、可視化は当然のことながら、オブザーバビリティ基盤の信頼性やコスト最適化も考慮して、送信と保存の間に集約を追加し、また保存先でシャーディングや階層化も行っている。
※参考:YouTube「AWS re:Invent 2023 - Stripe: Architecting for observability at massive scale(FSI319)」
集約というのはAmazon Kinesis Data Streamsを用いて複数のテレメトリーを圧縮することでテレメトリーの数を抑えた。また階層化とは、すぐ使うデータをS3に、残りはGlacierに分け(法令対応など必要な時に出す)、コスト削減を実現した。
山口氏は「AWSは計装、収集、送信、保存、可視化の5段階だけではなく、他に必要なコンポーネントがあれば実現できるようにさまざまなビルディングブロックがあり、常に選択肢が用意されています。AWSオブザーバビリティベストプラクティスやbuilders.flashも参考にしてください」と話す。
なお、AWSではBuilder IDというアカウントがある。AWSの何らかのサービスを利用する時にはAWSアカウントが必要になるが、このBuilder IDは個人に紐付いたアカウントとなる。そのためAmazon Q Developer、Amazon CodeCatalyst、コミュニティへの参加の他にも、AWS Skill Builderの無料コースが600以上利用できる。個人に紐付いているので、転職しても利用可能だ。Builder IDで利用可能なサービスも増えているので、ぜひ登録しておくといいだろう。
