こんにちは!エンジニアの瀬尾です。
今回は私達がどのようなやり方でプロタクトを開発しているのか
実際のリアルタイム解析基盤サービスのアーキテクチャを交えて紹介します。
構成図
今回のインフラはすべてAWSのサービスを利用して構築しました。
IaaSとマネージドなサービスの組み合わせにより開発・運用コストを削減しています。
各レイヤやサービス構成は
management
- UI:S3 + CloudFront
- Job:SQS
- ストレージ:RDS(MySQL)
サービス利用者の管理画面レイヤです。
UIはAngulerJSのSPAがS3に配備されていて、CloudFrontにより配信されています。
Rename Distributionパターンによってエッジサーバーのキャッシュタイムアウトにかかわらずデプロイ時に最新のUIが配信される仕組みになってます。
UI背後のアプリケーションおよびJob(SQS Worker)はRuby on Railsアプリケーションで、利用者の情報などをRDSに格納しています。
context aware services
- トラッキング:S3 + CloudFront
- データ処理:Kinesis + KCL(Java)
- ストレージ:S3 + DynamoDB + Dynamic DynamoDB
Audienceデータをリアルタイムに収集・処理するサービスです。
S3に配備された収集タグ(JavaScript)がCloudFrontによって配信されています。
収集されたデータは全てKinesisのStreamにput recordされていて、StreamのデータをConsumerが並行処理で用途に応じた加工を施してストレージに格納しています。
Streamに全てのデータを1回入力しているので、用途に応じて機能ではなく、アプリケーションを追加していくAgilityが高い拡張が可能になってます。
また、DynamoDBはDynamic DynamoDBを用いることによってリクエストの増減に自動で対応しています。
Dynamic DynamoDBは、AutoScalingを用いたSelf Healな構成です。
banshee
OAuth2.0による認証を行うサービスです。
ELB + WEB + RDS(MySQL)の構成です。
モニタリング
- nagios + mackerel
- bugsnag
モニタリングに問わずSaasのサービスを選択することが多いです。
各種アラートは全てHipChatに集約されています。
マイクロサービス(Microservices)
モノリシックではなく、複数の軽量なサービスによって連携されたアーキテクチャによるアプローチを採用しています。
構成図には記載してませんが、メール配信などの自社サービスともAPIで連携されてます。
各サービスはHTTP API経由で呼び出しされており、データ管理も言語もサービスごとで統合されてません。
HTTP APIはREST LEVEL3の設計レベルを採用していて、利用する言語ごとにSDKを提供しています。
また、サービス毎に独立した開発・デプロイサイクルを確立しているので、各サービス毎にビルドパイプラインが構築されていて継続的デリバリを実現しています。
チーム構成
エンジニアは1つの部署に所属していますが、サービス毎に複数の役割が混在したチームで構成されています(コンウェイの法則)。
エンジニアのナレッジ共有や継続的なワークフロー改善・自動化などをミッションとするチームも存在します。
まとめ
今回は簡単にですが私達がどのようにプロダクトを開発しているのか、紹介させて頂きました。
マネージドなサービスやマイクロサービスといったアプローチを積極的に推進することによって、良いプロダクトを生み出すというモチベーションにフォーカスできるよう考えています。
なお、e-Agencyでは私達と一緒にプロダクト開発を推進していく仲間を募集しています。
このエントリを読んで少しでもご興味をお持ちいただけた方は、ぜひともご応募ください!
PICK UP
-
タグ: Cloud Shell構築, GA4, GA分析自動化, Gemini CLI, Google アナリティクスMCP, LLM連携, コラム, データ対話型分析, モデルコンテキストプロトコル, 自然言語分析
2025年7月発表!自然言語でGA4を分析できる「Google アナリティクスMCPサーバー」を構築する方法 -
タグ: AIエージェント, GA360, Gemini in Looker, Google Cloud Next, Next Tokyo, Vertex AI Search, イベントレポート, コラム, データ分析高度化, データ利活用, 検索体験向上, 生成AI活用
【Next Tokyoレポート】主役は生成AI!GA360×生成AIの最新活用法を紹介 -
タグ: ASEAN展開, Direct Engine, インドネシア, オフショア開発, グローバル協業, コラム, ジャカルタ, スラバヤ, ビジネス熱気, ファンデザイン室, 出張レポート, 文化共存
【出張レポート】インドネシアで見た、熱気と未来への可能性|株式会社イー・エージェンシー公式note -
タグ: AI実証実験, AI高速処理, ECサイトパーソナライズ, Groq API, HTML自動生成, UX最適化, Web制作, コラム, リアルタイムAIパーソナライズ, 技術進化
【ウェブ制作】AIを使ってウェブサイトをリアルタイムにパーソナライズしてみたい!|株式会社イー・エージェンシー公式note -
タグ: GA4トレーニング, GA4初心者, Udemy講座, gmpプレミアムサロン, アクセス解析学習, コラム, スマホ学習, データ活用, 探索レポート, 解析スキルアップ
プロに学ぶ、夏のGA4スキルアップ。アクセス解析の基本講座が1,500円【8/31まで】 -
タグ: AIと人の協業, AI活用事例, Google Gemini, gemini, カスタム議事録, コラム, プロンプト設計, 会議効率化, 文字起こし, 業務効率化, 議事録効率化
【もう議事録は書かない】Geminiを使って、文字起こしからカスタム議事録を作成|株式会社イー・エージェンシー公式note