TECH PLAY

Heroku

イベント

該当するコンテンツが見つかりませんでした

マガジン

該当するコンテンツが見つかりませんでした

技術ブログ

本記事は米国時間 10 月 13 日に公開された AWS エージェンティック AI 担当バイスプレジデント スワミ・シバスブラマニアン(Swami Sivasubramanian)の署名ブログ「 Make agents a reality with Amazon Bedrock AgentCore: Now generally available 」の日本語抄訳版です。 AIエージェントをプロトタイプから、セキュリティ、スケーラビリティ、信頼性を備えた本番環境へ 2006年に AWS を立ち上げた時、私たちはクラウドコンピューティングが組織のテクノロジーを構築し、スケールさせる方法を変革すると信じていました。現在、AI エージェントについても同様の転換点に立っています。私たちは、数十億もの AI エージェントが協働し、日常業務から複雑なビジネスプロセスまであらゆるものを変革する世界を思い描いています。しかし、これを現実のものとするには、フレームワークやローコードの開発者向けツール以上のものが必要です。企業がビジネスの基盤として信頼できるAIエージェントには、エンタープライズグレードの運用基盤が必要です。その基盤は、セキュアで信頼性が高く、スケーラブルで、AI エージェントの非決定的な性質を考慮して構築されている必要があります。AWS はミッションクリティカルなシステム構築支援の経験を活かし、多様な組織が自信を持ってエージェンティックシステムを本番環境へ移行できる包括的な基盤を Amazon Bedrock AgentCore を通じて提供します。 AgentCore: AIエージェントを迅速に本番環境へ AgentCore の一般提供開始により、すべての開発者がAIエージェントをパイロット環境からフルスケールの本番環境へ迅速に移行することが可能になります。AgentCore は AI エージェントの構築、デプロイ、運用に必要な基盤を提供します。エージェントに複雑なワークフローを処理するためのツール、メモリ、データを簡単に取り入れることが可能です。数行のコードを書くだけで、現在利用可能な最も安全でスケーラブルなランタイム環境の一つの選択肢にAIエージェントをデプロイすることが可能です。また、エンタープライズグレードでの展開に必要なコントロールとアクセス管理を備えてこれらのエージェントを運用できます。これらすべてをインフラ管理なしで実行でき、任意のモデルやエージェントフレームワークを使って簡単に開始できます。 AgentCore SDK は、多様な業界のあらゆる規模のお客様に既に100万回以上ダウンロードされています。初期のお客様には、Clearwater Analytics (CWAN)、Cox Automotive、Druva、Ericsson、Experian、Heroku、National Australia Bank、ソニーグループ、Thomson Reutersなど、その他多くのお客様が含まれます。AgentCore はまた、Accenture、Cisco、Deloitte、SalesforceなどのAWSパートナーによってサポートされ、すでに変革を実現する結果をもたらし始めています。 AgentCore: 包括的なAIエージェント基盤 AI エージェントの構築は簡単ではありません。例えば、ID プロバイダーとの統合方法、メモリと可観測性(オブザーバビリティ)の実現方法、ツールとの統合方法などを理解する必要があります。私たちのAIエージェント基盤は、構築からデプロイ、運用までのAI エージェント開発ライフサイクル全体にわたるフルマネージドサービスを提供します。任意のモデルやフレームワークを組み合わせることができ、エンタープライズグレードのインフラストラクチャとツールにアクセスしながら最大限の柔軟性を提供します。その主要な機能を見てみましょう。 自由自在にAIエージェント構築: AI エージェント分野は急速に進化しており、新しいフレームワーク、モデル、プロトコルがほぼ毎週のように登場しています。AgentCore のサービス群はモジュールとして提供されているため、必要に応じて組み合わて利用することも、単独で利用することも可能であり、開発者はAIエージェントを望む方法で構築できます。組織としては、チームが必要とするAgentCore のサービスを選択しながら、好みのフレームワーク(CrewAI、Google ADK、LangGraph、LlamaIndex、OpenAI Agents SDK、Strands Agentsを含む)とモデル(Amazon Bedrockで利用可能なモデルや、OpenAIやGeminiなどBedrock以外で利用可能なモデルを含む)を使用できるため、望む方法で自由に構築できます。 価値を生み出すAIエージェントのための基盤: AI エージェントは具体的なアクションの実行で価値を生み出します。例えば、コードの記述と実行、企業システムへの接続、ウェブサイトのナビゲーションなどです。AgentCoreはこれらに不可欠なサービスを提供します。AgentCore Code Interpreter により、AIエージェントは分離された環境でコードを安全に生成・実行でき、AgentCore Browserにより、AIエージェントはウェブアプリケーションを大規模に操作することができるようになります。また、AgentCore Gateway は既存の API や AWS Lambda 関数をエージェント互換のツールに変換し、既存の MCP サーバーに接続し、必要不可欠なサードパーティのビジネスツールやサービス(JiraやAsana、Zendeskなど)とのシームレスな統合を提供します。この統一されたアクセスポイントにより、企業システム全体にわたる安全な統合が可能になります。AgentCore Identity を使用すると、エージェントはOAuth 標準を使用した適切な認証と認可によって、これらのツール全体に安全にアクセスし、操作できます。 インテリジェントなメモリを備えたコンテキスト対応AIエージェント: AIエージェントが真に効果的であるためには、時間の経過とともに対話からコンテキストを維持し、学習する必要があります。例えば、企業向けソフトウェアを検討するお客様を支援する営業サポートAIエージェントの例を考えてみましょう。複数回にわたるお客様との会話から、お客様の業界、予算上の制約、技術要件を記憶し、同じ質問を繰り返すことを避けながら、お客様にパーソナライズされた提案を行う必要があります。同様に、複雑な技術的トラブルシューティングを支援する例では、AI エージェントは以前のデバッグ試行の結果を思い出し、より的を絞ったソリューションを提供しなければなりません。AgentCore Memory は、開発者が複雑なメモリインフラストラクチャを管理することなく、このような高度なコンテキスト対応エクスペリエンスの構築を支援し、AI エージェントがユーザーの好み、過去のやり取り、そして会話を豊かにする関連コンテキストの詳細な理解を構築・維持するのを支援します。 信頼できるエージェントのための包括的な可観測性: AI エージェントはリアルタイムで推論し、非決定的にアクションを実行します。そのため、開発者にはAIエージェントの推論とアクションに対して完全な可視性が必要です。AgentCore Observability は、リアルタイムダッシュボードと詳細な監査証跡を通じて包括的なモニタリングを提供します。組織はAIエージェントのすべてのアクションを追跡し、問題を迅速にデバッグし、パフォーマンスを継続的に最適化できます。AgentCore Observability は、メトリクス、ログ、トレースなどのテレメトリデータを収集してルーティングするための標準化されたプロトコルとツールを提供するオープンソースのオブザーバビリティフレームワークであるOpenTelemetry(OTEL)との互換性を提供しています。これにより、Dynatrace、Datadog、Arize Phoenix、LangSmith、Langfuseなどの既存のモニタリングツールと統合が可能です。 業界をリードする信頼性であらゆる規模に対応: 従来のアプリケーションとは異なり、AI エージェントのワークロード持続時間は本質的に予測不可能です。AgentCore Runtime はこうした変動性に対応するように設計されており、必要に応じてゼロから数千のセッションへと自動的にスケーリングし、長時間実行タスク向けに業界をリードする8時間のランタイムを提供します。 エンタープライズグレードのAIエージェントセキュリティ: AIエージェントはユーザーに代わって行動しながら、複数のシステムに安全にアクセスし、機密データを処理する必要があるため、堅牢なセキュリティと規制コンプライアンスの実現においては一切の妥協が許されません。AgentCore はAI エージェントが安全に運用できるよう、すべてのサービスにセキュリティを組み込んでいます。バーチャルプライベートクラウド(VPC)環境と AWS PrivateLink をサポートし、ネットワークトラフィックをプライベートで安全に保ちます。最も重要なことに、AgentCore Runtime は microVM 技術を通じて業界をリードするセキュリティを提供し、各AIエージェントのセッションに独自の分離されたコンピューティング環境を与え、データ漏洩を防止し、すべての相互作用の完全性を維持します。 AgentCoreでスピード、スケール、セキュリティを両立: AgentCore は、 Kiro や Cursor AI などの統合開発環境(IDE)で動作する MCP サーバーを通じて、本番環境対応の AI エージェントを簡単に構築できます。開始にはわずか数分しかかかりません。そして、これらは簡略化されたツールではありません。堅牢なセキュリティを維持しながら、ゼロから数千のセッションへと即座にスケールできる、フル機能の本番環境対応ソリューションです。つまり、お客様のチームは AI エージェントが実証済みの基盤上に構築されていることを理解した上で、アイデアからデプロイメントまで自信を持って迅速に進めることができます。 AIエージェントの価値を実現するお客様事例 Cohere Health の規制された医療環境から、Ericsson の複雑でテクニカルなシステム、そしてソニーグループのグローバル規模での変革まで、先進的な組織がAgentCoreを活用して業界を超えた次世代のAIイノベーションを推進しています。AI 時代に成功する組織は、未来を完璧に予測する組織ではなく、進化する柔軟性を維持しながら実証された基盤の上に構築する組織でしょう。AgentCore を基盤とすることで、AI エージェントの展開と運用のための専用サービスにアクセスできるだけでなく、グローバル規模でセキュリティを確保しながら、企業の変革を支援してきた約20年の経験を持つパートナーも得ることになるでしょう。 世界最大の広告会社 Publicis Groupe に所属するEpsilon が、AgentCore を使用して大手ブランドのキャンペーンをパーソナライズし、革新する様子を以下のビデオでご覧ください。同社の Intelligent Campaign Automation ソリューションは、複数のチャネルにわたるキャンペーン設計、オーディエンスターゲティング、リアルタイム最適化を自動化し、実行時間の短縮と顧客ターゲティング精度の向上を大規模に実現しています。 インテリジェントなワークフロー自動化による製造業の変革: Amazon Devices Operations & Supply Chain チームは、AI エージェントを活用した製造アプローチの開発にAgentCoreを使用しています。この新しいアプローチの一環として、AIエージェントは製品仕様を使って協働し、手動プロセスを自動化します。あるAIエージェントは製品要件を読み取り、品質管理のための詳細なテスト手順を作成し、別のエージェントは製造ライン上のロボットが必要とするビジョンシステムをトレーニングします。その結果、従来はエンジニアリング時間に数日を要していたオブジェクト検出モデルの微調整が、高い精度で1時間以内に完了できるようになりました。この実証実験は、AI エージェントが初期製品要件から最終生産までの過程を効率化するスマートな製造へのビジョンの始まりに過ぎません。 AIエージェントによる医療判断の迅速化: 医療現場では、1分1秒が重要です。Cohere Health® は臨床インテリジェンス企業で、保険者(Payer)、医療機関(Provider)の連携を強化し、ケア前後の臨床的意思決定のスピードと正確性を向上させることに焦点を当てています。同社の臨床トレーニングを受けたAIは、患者ケアへのアクセスを加速し、患者のアウトカムを改善し、医療機関の管理負担を軽減し、ケア継続全体にわたって医療サービス提供におけるエコノミクスを改善します。 例えば、Cohere HealthはAgentCoreを利用して、医療保険における医療の必要性審査の精度と効率を最適化するAI搭載コパイロットであるCohere Review Resolve を構築しました。Cohere Review Resolve は、臨床記録、患者メモ、FAX などの構造化データと非構造化データの両方を分析し、要求された治療の医学的必要性を検証するための証拠を迅速に特定して表示します。このコパイロットは、医療保険の審査担当者に事前承認リクエストの審査に向けて必要な臨床コンテキストを提供し、審査担当者の質問にもインテリジェントに対応します。 Cohere Health は、高度に規制された医療業界においてエージェンティックAIを初めて本番環境でデプロイするためのエンタープライズグレードのインフラを求め、AgentCore を選択しました。AgentCore で利用可能な包括的な監査証跡、拡張セッションサポート、複数時間にわたる複雑なワークフローを通じて履歴を維持する機能は、Cohere Health のユースケースに不可欠となっています。 Cohere Health は、Review Resolve が今後レビュー時間を30~40%短縮し、重要な義務付けられた処理時間を満たすのに貢献するだろうと予想しています。より迅速な意思決定は、患者にとりケアへのアクセスを早め、治療への順守を増やし、結果を改善し、コストを削減します。Review Resolve はまた、医療保険が臨床的決定の正確性を約30%向上し、それによって医療費の削減と患者のアウトカム改善に貢献する見込みです。 通 信業界におけるAIエージェント — 複雑なシステムの簡素化: 通信技術における世界的リーダーであるEricssonは、AIエージェントのデプロイにおける課題に取り組むためにAgentCore を使用しています。Ericsson で、ビジネスエリアネットワークにおけるAIと先進テクノロジーを担当する責任者であるDag Lindbo 氏は次のように述べています。「Ericsson において、私たちの3G/4G/5G/6Gシステムは数百万行ものコードで構成され、数千の相互接続されたサブシステムに及んでいます。これは、国レベルの重要インフラストラクチャにおける数十年にわたるエンジニアリングイノベーションを示しています。AgentCore は、データと情報の重要な融合を実現し、実世界のR&Dにおいて前例のない能力を持つAIエージェントを提供し、数万人規模の社員全体で二桁の価値創出につながるでしょう。また、AgentCore は任意のエージェントフレームワークを使用できるため、多くのチームとユースケースにわたって拡張する上で不可欠です」 エンターテインメント業界におけるエージェント活用: セキュリティ、オブザーバビリティとスケーラビリティを両立:世界有数のテクノロジー・エンターテインメント企業であるソニーグループでも、AgentCoreがインパクトを生み出しています。「Agentic AI は、これまでにないレベルでの業務の高度化と効率化を実現するために不可欠な技術です」とソニーグループ株式会社 D&Tプラットフォーム AI Acceleration 部門 部門長の大場 正博氏は述べています。「一方で、エージェンティックAI の活用には、多くの技術的課題があることも事実です。Amazon Bedrock AgentCore を活用することで、グループ全体のAgentic AI Platform を構築し、エンタープライズレベルのセキュリティ、オブザーバビリティそしてスケーラビリティを実現し、さらにクロスプラットフォームでのシームレスな AI リソースへの接続を実現しました。Amazon Bedrock AgentCore を 私たちの AI エコシステムの中核に置くことで、膨大なAIを管理・共有する能力を獲得し、確信と安全性を持ってAIトランスフォーメーションを加速することができます」 AgentCore は現在、アジアパシフィック(ムンバイ)、アジアパシフィック(シンガポール)、アジアパシフィック(シドニー)、アジアパシフィック(東京)、ヨーロッパ(ダブリン)、ヨーロッパ(フランクフルト)、米国東部(バージニア北部)、米国東部(オハイオ)、米国西部(オレゴン)の9つの AWS リージョンで一般提供され、お客様の世界規模での展開をサポートしています。AgentCore上で動作するように予め設計・構築されたAIエージェントとツールを提供する AWS Marketplace を活用することで価値実現までの時間を加速することも可能です。 Amazon Bedrock AgentCoreをご利用の日本のお客様からのコメント (日本語抄訳版における追加記載、五十音順) 株式会社ウェザーニューズ 執行役員 テクノロジー・プロダクト責任者 出羽 秀章氏 ウェザーニューズでは、BtoC 向けの「お天気エージェント」やBtoB 向け SaaS サービスにおいて、AIエージェントの β 版をリリースし、天気に関連するデータやソリューションの提供を開始しています。正式リリース後により多くのユーザーに安心してご利用いただくためには、性能・セキュリティ・ガバナンス・スケーラビリティといった観点が不可欠です。今回、Amazon Bedrock AgentCore のマネージドサービスを活用することで、これらの課題解決に向けて大きく前進できると考えています。新たに提供されるフルマネージドなサービス群と共に、お客様へこれまで以上に大きなビジネス価値をお届けできることを楽しみにしています。 TIS株式会社 IT 基盤技術事業本部 IT基盤ビジネス事業部長 黒田 訓功氏 当社のお客様には、安全性とガバナンスを重視するエンタープライズ企業に加え、AI活用による成長を目指す中堅・中小企業まで、幅広い層が含まれます。Amazon Bedrock AgentCore によるアイデンティティ管理、セッション隔離、運用の透明性の確保は、そうしたお客様にとって“安心して業務を任せられる AI エージェント”の基盤となります。応答の質、対話の一貫性、サービスの稼働安定性が整うと、利用者にとって使いやすく、心地よい体験となります。そのような体験が信頼を育み、選ばれ続けるサービスにつながると考えています。Amazon Bedrock AgentCore があるからこそ、TIS はお客様から信頼される AI エージェントソリューションの提供者として、これからも期待に応え続けられると確信しています。 株式会社ディー・エヌ・エー ML Ops Engineer 外山 寛氏 弊社ディー・エヌ・エーでは AI オールインを掲げ全社で AI 活用を推進していきます。その際に大規模言語モデル(LLM)を業務で安全に活用するためにデータセキュリティに配慮したシステム設計が重要になってきます。 Amazon Bedrock AgentCore ではそのようなシステム設計を支援するための機能が提供されていると感じます。 今後のさらなるきめ細やかなデータセキュリティ機能の発展に期待しています。 株式会社野村総合研究所 AI 担当 経営役 生産革新センター センター長 稲葉 貴彦氏 Amazon Bedrock AgentCore は、企業のデジタル変革を根本的に変える可能性を秘めています。多様なオープンソースフレームワークとの柔軟な連携や、独自の機能を提供する 7 つのサービスの選択肢、完全なセッション分離機能と最大 8 時間の長時間ワークロード対応により、より高度な業務での安定運用が期待できます。プレビュー版からの検証を経て、現在、社内外の複数プロジェクトで利活用を進めており、今後も検証を重ねながら、当社のお客様の競争優位性確保に貢献してまいります。 今すぐAgentCoreを始めましょう – aws.amazon.com/bedrock/agentcore/にアクセスして、エージェントの未来を構築し始めましょう!
2024年4月にエス・エム・エスに入社した田実(たじつ)と申します。 この記事ではエス・エム・エスに入社した理由を経歴を踏まえて振り返りつつ、入社して思ったこと、これからやりたいことを紹介します。 これまでの経歴 1社目はSalesforceの導入・運用支援を行う会社でSalesforceエンジニアとして働いていました。 顧客折衝・要件定義・設計・開発・テスト・リリース・保守と、様々な業界のシステム開発に一気通貫で携わることができました。SalesforceだけではなくAWSやHerokuを使ったWebアプリケーション開発や外部サービス連携などの経験もでき、システム開発エンジニアとしての下地を作ることができました。 働いていく中で、次第に技術自体への興味関心が強くなったことや、腰を据えて自身の技術力やサービスを伸ばしていきたいと思うようになり2社目の会社に転職しました。 2社目は自社サービスを開発・運用している事業開発会社で、ポイント交換やデジタルギフト、ファッションサブスクリプションの新規事業のサービスに携わりました。 GitHubを使った開発フロー、アプリケーション/DB設計、CI/CD、監視、アラート運用、インシデント対応など、自社サービスを運営していく上で必要不可欠な知識を身につけることができました。 施策系の開発以外にもPHPやライブラリのアップグレードや不要コードの削除、静的解析の導入など、大規模アプリケーションの技術的負債を解消する取り組みも行い、技術力を大きく伸ばすことができました。 このように腰を据えて技術力を伸ばしていきたいという当初の目的は満たせたのですが、次第に事業やプロダクト自体にも興味が出てきました。 3社目はノーコードのSaaSを運営する会社です。自分が魅力に思うプロダクトに携わることで、技術力・非技術力をもっと磨けるのではないか、日々の仕事の充実度も上がるのではないかと思い転職に至りました。 SaaS特有の事業的・技術的な難しさは多々ありましたが、好きなプロダクトを技術的にどう伸ばしていくかを考えることは非常に充実した時間でしたし、結果としてエンジニアリング力も上げることができました。 プロダクトの面白さを日々感じていた一方で、「プロダクト・事業が解決する課題・事業領域」に物足りなさを感じたことや、自身のライフステージの変化もあり今回の転職に至ります。 エス・エム・エスに入社を決めた理由 事業領域や課題は実際に聞いてみないと魅力がわからないなと思い、カジュアル面談は40社ほど受けました。カジュアル面談では「ビジネス・事業領域の面白さ」「自分の経験を活かせるか、伸ばせるか」を軸に見ていました。また、これまでの会社では独力で技術的改善を進める経験が多く、独力で進めることの限界を感じていました。そのため、チームで課題を解決する・チームと一緒に成長していく力を伸ばしていきたいという思いもあり、それを実現できそうな環境を探していました。 エス・エム・エスではカジュアル面談や面接を通じて、医療・介護領域における社会課題とそれにどう立ち向かっていこうとしているのかを丁寧に説明してもらいました。話を聞く中で、課題を解決したときのインパクトの大きさや課題の難しさを感じつつもビジネスや事業領域の面白さにワクワクしたのを覚えています。 人材紹介のサービスではPHP・Laravel・Salesforceが利用されていることや、技術面で改善していきたいポイントがあるということを伺い、自身の経験が十分に活かせる環境であることも入社の決め手でした。 エス・エム・エスではチーム間で技術やドメイン知識の共有を強化する動きがあり、人材紹介グループでは技術的な品質意識をチーム全体で上げていく プロダクションレディ の取り組みがあるなど、「チームで」やっていく経験やスキルを伸ばせそうなことも入社した理由の1つです。 また、自分自身もエージェント型の人材紹介サービスにお世話になった経験から、エス・エム・エスが運営している人材紹介サービス自体に対しても好印象でした。そんなこんなで今回ご縁がありエス・エム・エスに入社しました。 入社して思ったエス・エム・エスの良いところ 入社してから現在まで、 保育士人材バンク という保育士向けの人材紹介サービスのシステム開発・運営をしています。 入社前は、「エンジニアが要求・要件から主体的に関わってコーディングだけではなく本質的な課題解決ができそうな環境か」とか「開発環境も含めた改善業に対してネガティブではないか」あたりを気にしていたのですが、そのあたりは特に問題なく楽しく仕事ができています。 前者の懸念に関しては、マーケティングチームとエンジニアチームが協力して各種施策を進めているのですが、いわゆる「考える人」「作る人」といった分断は全くありません。エンジニアの意見が求められることもありますし、表面的な要求をそのまま実装するのではなく、本質的な課題を捉えないといけない場面もあります。 後者の改善に対する姿勢に関しては、前述のプロダクションレディのような技術的な改善の取り組みもあり、改善に対して前向きです。私もいくつか改善に対する相談などをSlackで投げたりしているのですが、いずれも建設的な議論ができています。強めの言葉やネガティブな発言をする人もいないので、心理的にもエンジニアとして働きやすい環境です。 esaを共有して良いリアクションをもらっている図 チーム間のエンジニア同士のつながりや技術的な共有をするような試みも多数行われています。esaで他チームが書いたドキュメントを見れたり #tech #php #ruby #golang のようなSlackの技術系チャンネルもありますし、チーム横断で交流できるようなチームビルディングのイベントも頻繁に行われています。 また、このテックブログの執筆・プロセスもかなり整備されており、編集チームが執筆のサポート・校正を行ってくれたり、公開予定の記事や日付もしっかり管理されています。こちらも継続してチームとして改善し続けている成果だと思いますし、良い感じに改善プロセスを回せている組織なんだろうなぁと思っています。 これからやりたいこと 現在担当している保育士人材バンクをもっと良くしていくためにはエンジニアリングによる施策支援が重要です。この「エンジニアリング」の部分をもっと効率的に、効果的に回していくために守りの改善もしていく必要があります。 トライしやすい環境を作り、不確実性の高いドメイン領域でエンジニアの力を活かせるようにできると良いなと思ってます。そのためにも、大小様々な課題に対して自分の能力だけではなくチームを巻き込んで良い感じな技術基盤を作っていきたいです。 そして自分が担当しているサービス以外のチームにも知見を共有し、人材紹介開発グループ全体のビジネスをより強化するような技術環境、組織を一緒に作っていければと思います。 また、人材紹介開発グループのテックブログの記事が少なめなのでそこも増やしていきたいと思っています。技術的にめちゃくちゃ良いネタをたくさん持っているので、自分も含めてチームとして書く流れを作れると最高ですね…!
Heroku は、開発者が AWS 上でアプリケーションをデプロイ、運用、スケーリングできるようにする完全にマネージドされたプラットフォームサービス( PaaS )ソリューションです。2007 年に設立され、2010 年からは Salesforce の一部となっています。Heroku は、小規模スタートアップから大企業の大規模デプロイメントまで、数百万件のアプリケーションで選ばれているプラットフォームです。これらのアプリケーションをスムーズに運営するには、AWS が提供するビルディングブロックを使って、プラットフォームの基盤となるインフラストラクチャに継続的な投資が必要不可欠です。 このブログ記事では、Heroku が 2023 年に完了した、 アプリケーションメトリクスとアラート機能 のストレージバックエンドを自社管理の Apache Cassandra クラスターから Amazon DynamoDB に移行するインフラアップグレードについて説明します。 Heroku は、この移行を顧客への影響なしに完了することができました。Amazon DynamoDB への移行により、プラットフォームの信頼性が向上すると同時に、運用コストも削減されました。本記事では、システムアーキテクチャ、DynamoDB へ移行した理由、移行の実施方法、そして移行完了後の成果について詳しく説明します。 (本記事は 2024/05/09 に投稿された How Heroku reduced their operational overhead by migrating their 30 TB self-managed database from Amazon EC2 to Amazon DynamoDB を翻訳した記事です。) サービスとしてのメトリクス( MetaaS ) Heroku のアプリケーションメトリクスは、内部のサービスである MetaaS( Metrics as a Service )によって提供されています。MetaaS は、Heroku で稼働しているアプリケーションから様々な観測値を収集します。例えば、特定の HTTP リクエストを処理するのにかかる時間などです。集計された生データに対し、アプリケーション単位、分単位の統計値(中央値、最大値、99 % 応答時間など)が計算されます。この時系列メトリクスデータは、 Heroku ダッシュボード に表示されたり、アラートやオートスケーリングの機能に活用されます。 MetaaS の中核は、高スケールでマルチテナントな時系列データ処理プラットフォームです。毎秒数十万件の観測値が最初に Heroku 上の Apache Kafka に取り込まれます。ストリーム処理ジョブのコレクションが Kafka からこれらの観測値を消費し、Heroku が各顧客アプリケーションについて追跡しているさまざまなメトリクスを計算します。そして、最終的には長期保存とクエリのためデータベース(元々は Amazon EC2 上の Apache Cassandra )に書き込みます。MetaaS の時系列データベースには数 TB ものデータが保存されており、ピーク時には毎秒数万件の新しいデータポイントが作成され、最大秒間に数千件のリードクエリが行われます。 下記の図は従来のアーキテクチャを示しています。 DynamoDB を選択した理由 Cassandra によって構成された MetaaS は、長年 Heroku に良いサービスを提供してきました。しかし 2022 年末頃、Heroku のエンジニアチームはバックエンドストレージを構成する他の方法を探り始めました。MetaaS が使用している Kafka クラスターは、Kafka 運用の経験が豊富なチームによって提供されていますが、Cassandra クラスターは MetaaS 固有のものでした。 Heroku は、データベースインフラを監視するエンジニアチームは非常に小さいため、Kafka クラスターと同様に専門家チームが運用・保守するマネージドサービスに移行することが重要だと考えていました。そこで、大量のデータを高スケールで分散システムに格納しつつ、あらゆるスケールでの高速な書き込みパフォーマンスを維持できる AWS のマネージドデータベースを探しました。結果的に、Heroku の他のチームがデータストレージおよび処理に使用している DynamoDB が、一貫性とパフォーマンスの要件に合っていたため、MetaaS のワークロードにも適していると判断されました。 慎重なマイグレーション 計画を立て、コードを書き換えた後、既存の顧客に影響を与えずに、高スケールで高スループットの分散システムのバックエンドストレージを入れ替えるという作業が残されていました。既存 MetaaS アーキテクチャは Heroku の移行に有利でした。Kafka から時系列データを Cassandra に書き込むためのストリーム処理ジョブがすでに用意されていたので、同じデータを DynamoDB に書き込むための並行したジョブを立ち上げるのが簡単でした。これが移行の最初のステップで、システムの他の部分には何の影響もありませんでした。 Heroku の顧客にとって運用メトリクスは非常に重要です。DynamoDB へのデータ書き込みが正常に行われていることを確認するため、チームは従来の単体テストや統合テストに加えて、既存単体テスト及び統合テストを規範としたテストを実施しました。まずは Cassandra と DynamoDB の両方からデータを読み出すクエリを少量実行し、データの整合性を確認しました。2 つのコードパスで結果が異なるクエリはすべてログに記録されました。プリプロダクションでのテスト後、徐々にクエリの割合を増やし、最終的には 100 % のクエリが両方のコードパスを経由するようになりました。この変更によって、お客様は Cassandra のコードパスでクエリ結果をもらい、あまり影響がありませんでしたが、従来の単体テストや統合テストでは見つからなかった微妙なエッジケースを特定し修正することができました。 スムーズな移行 DynamoDB が Cassandra と同じ結果を一貫して返していることを検証実験で確認できたため、本番稼働の準備が整いました。MetaaS はデータを 30 日以内しか保持しておらず、それ以降は削除されます( DynamoDB では便利な TTL 機能 を使用)。つまり、Cassandra から過去のデータを移行する必要がありませんでした。両方のデータベースに同じデータが書き込まれていることを確認した後は、2 つのデータベースが同期されるのを待つだけでよかったのです。 テスト環境から始め、徐々に DynamoDB からのみ読み出すクエリに切り替えていきました。見落とされていた可能性のある問題のある動作に関する顧客からの報告がないかを慎重に確認しながら進めました。そのような報告はなく、2023 年 5 月以降、MetaaS へのすべてのクエリが DynamoDB から提供されるようになりました。Heroku は、変更を戻す必要がないことを確認するため、数週間待ちました。 以下の図は、更新されたアーキテクチャを示しています。 結果 1 年以上の運用経験を経て、Heroku はマネージドデータベースサービスの採用を正しい判断であったと確信しました。DynamoDB は信頼性と拡張性に優れています。Heroku は、データベースサーバーのパッチ適用とチューニングに必要な運用負荷を 90% 削減し、当初の目標を達成できました。また、DynamoDB はこれまでの Amazon EC2 上の自社運用 Cassandra クラスターよりも高速かつ低コストであることがわかりました。具体的には、クエリの最大レイテンシーを 75% 削減し、コストを約 50% 削減できました。 例えば、以下のグラフに示されているように、18 時までは Cassandra をクエリしていたため、p99 レイテンシーにかなりの変動が見られましたが、18 時以降は DynamoDB をクエリしているため、そのような変動は見られなくなりました。 教訓 Heroku のサービスは VPC エンドポイント を通じて DynamoDB にアクセスしています。 AWS Identity and Access Management ( IAM )ポリシーを設定し、DynamoDB へのトラフィックが VPC エンドポイントを経由するよう要求することで、VPC 内のアプリケーションがインターネットに露出することなく DynamoDB にアクセスできるようになっています。 Heroku は、Heroku ダッシュボードで顧客がメトリクスを見る頻度によってトラフィックが週の中で変動するため、 DynamoDB Auto Scaling を使って MetaaS テーブルのプロビジョンド読み取りキャパシティを管理しています。一方、書き込みパターンはより予測可能なため、自動スケーリングの最大利用率目標の 90 % を上回るようにテーブルの書き込みキャパシティを手動で設定しています。 ピークがある場合は自動スケーリングが費用削減に効果的ですが、予測可能なワークロードの場合は必要なキャパシティを正確に設定することで、コストを節約できます。 DynamoDB への書き込みは常に最低 1 つの書き込みキャパシティユニット( WCU )を消費しますが、書き込むレコードのサイズに応じて、それ以上の WCU を消費する可能性があります( 1 KB 当たり 1 WCU、最大 400 KB まで)。MetaaS が保存するレコードのほとんどは非常に小さいものの、わずかに 400 KB 制限を超えるものがあることがわかりました。Heroku は、これらの大きなレコードを DynamoDB に書き込む前に gzip で圧縮することで、この問題を解決(また、コストも節約)できました。MetaaS データはそれほど頻繁には照会されないため、圧縮と解凍の CPU 時間コストは、WCU の削減と柔軟なスキーマ変更の利便性に比べて無視できます。 最後に、テスト初期の段階で、DynamoDB への書き込みに予期せぬパフォーマンスボトルネックが発生していました。原因は、DynamoDB SDK で使用されている HTTP クライアントの設定不足でした。高スケールのワークロードの場合、デフォルト設定ではなく、チューニングを行うことが重要です。Heroku は、DynamoDB への同時接続数を増やし、再利用のために維持するアイドル接続数を調整し、デフォルトよりも積極的なタイムアウトとリトライ設定を行うことで、大幅な改善を達成しました。 まとめ このブログ記事では、Heroku がセルフマネージドの Cassandra クラスターから DynamoDB へのインフラストラクチャ移行させた方法について説明しました。Heroku はこの移行を顧客への影響なしに完了し、プラットフォームの信頼性を向上させると同時にコストを削減できました。Heroku は、 EC2 上のセルフマネージド Cassandra から DynamoDB に移行したことで、クラウドインフラストラクチャコストを最大 50 % 削減しました。また、パフォーマンスの改善は、DynamoDB のクエリパフォーマンスがはるかに予測可能になったためです。Cassandra では、ピーク時にレイテンシースパイクが最大約 80 ms に達していましたが、DynamoDB では一貫して 20 ms 未満でクエリが実行されるようになり、顧客へのメトリクス提供遅延が大幅に改善されました。 DynamoDB を使ったハイスケールなワークロードの運用について、他にもヒントや質問はありますか? コメントでお知らせください。DynamoDB の使用を始めるには、 開発者ガイド と AWS DynamoDB コンソール をご覧ください。 このブログ記事は、Heroku と AWS の共同作成で、 Herokuブログ ともにクロスポストされています。 元作者情報 Rielah De JesusはAmazon Web Service のプリンシパルソリューションアーキテクトであり、ワシントンDC、メリーランド、バージニアの多くのエンタープライズ級のお客様のクラウド移行を支援し、成功させてきました。現在のロールではカスタマーアドボケイトおよびテクニカルアドバイザーとして、Salesforceを始めとする複数の組織のAWSプラットフォームでの成功の支援をしています。また、Women in ITの熱心な支持者でもあり、テクノロジーとデータを創造的に活用して日常的な課題を解決する方法を見つけることに情熱を注いでいます。 David Murrayは、Salesforceのソフトウェアアーキテクトで、現在Herokulのバックエンド全般を担当しています。過去には、ネットワーク、データベース、セキュリティ、テクニカルライティングなどの分野を経験してきたほか、 愛猫Sammyについてaws reinventで講演 を行いました。コンピューターのことを考えていないときは、ボートこぎ、自転車乗り、ボードゲームなどを楽しんでいます。

動画

該当するコンテンツが見つかりませんでした

書籍