$30 off During Our Annual Pro Sale. View Details »

株式会社gecogeco_プロジェクト事例

Gecogeco
November 17, 2022

 株式会社gecogeco_プロジェクト事例

Gecogeco

November 17, 2022
Tweet

More Decks by Gecogeco

Other Decks in Technology

Transcript

  1. © 2022 gecogeco Co., Ltd LINE連携マーケティングプラットフォーム プロジェクト事例 1 疎結合 パフォーマンス

    内製化 プラットフォーム規模が大きく なっても迅速にエンハンスサイク ルをまわしていけるようにしたい ピーク時に数百万件のLINE配信 が見込まれるため、配信トラブル や処理速度の懸念がある いずれ内製化をしていきたい。た だし、今は技術者が1人もいない 状態(´・ω・`)ショボーン.. 認証基盤と各サブシステムをイン フラからアプリケーションレイヤー まで疎結合な構成で設計 サーバレス/イベント駆動型での 大量メッセージ配信処理の採用と 負荷検証の実施 技術組織統括人材の採用活動の 支援、および、内製化移管を見据 えたドキュメント整備 • 各機能開発を複数ベンダーが同時 並行で進められる疎結合なアーキ テクチャを実現! • 安定してクライアント数拡大を行っ ていける信頼性とコスパが高い LINE配信アーキテクチャを実現! • 技術組織統括人材の採用達成! 移管向けプロジェクト成果物に ついても好評をいただく! ミロゴス株式会社様 デジタルマーケティング支援に特化した企業様 マーケティングソリューションの安定化・拡充のためにプラットフォームの刷新をご検討 CLIENT ニーズ 打ち手 リリース後評価
  2. © 2022 gecogeco Co., Ltd LINE連携マーケティングプラットフォーム プロジェクト事例 1 サブシステムA -

    全体 ※ 公開用に簡略化しているため、実際の構成とは厳密には異なります。 管理画面 : SPA構成 - React(フロントエンド)+ Java/Springboot(バックエンド) LINE配信 : フルマネージドサービス群を利用 - Lambda, S3, SQS, DynamoDB, CloudWatch Events 各種セキュリティ設計・構築 - CloudFront, WAF, AWS Shield, GuardDuty, Amazon Inspector, Security Group..etc - IPA 「安全なウェブサイトの作り方 改訂第7版」準拠 - 外部セキュリティ診断ツール「ScoutSuite」活用
  3. © 2022 gecogeco Co., Ltd LINE連携マーケティングプラットフォーム プロジェクト事例 1 サブシステムA -

    バッチシーケンス ※ 公開用に簡略化しているため、実際の構成とは厳密には異なります。 LINE連携 - LINE Messaging APIを利用したリッチメニュー作成、削除、 ユーザ紐付け等 パフォーマンス - 1,000万件の配信が5分以内に完了し、サーバレスであるため 拡張性も高い状態を実現 コスト - クライアントあたり~1$/月程度で配信対応ができ、スケールしやすい コスト構造を達成 - ファイル読み込みや非同期処理のチューニングにより、サーバレス構成 の実行時間とメモリ量を大幅改善
  4. © 2022 gecogeco Co., Ltd • 分間200~300件のバッチ処理 を無停止でこなし、リリースから約 3年間継続して安定運用を実現! •

    データ収集頻度はこれまでの30分 → 30秒程度に大幅に改善!歩留 まり改善に貢献! • Salesforceと各種マスタデータを 自動同期することで、業務部門主体 での安定したマスタ運用を実現! データ 収集頻度 Salesforce 連携 信頼性 安定した応募データの収集が実 現できず、度々障害が発生し、 応募の取り逃しが発生 応募者への即時対応が求められ る中、データ収集に30分以上要 することで歩留まり悪化要因に 新採用管理システムとなる Salesforceに対して、要求を満た せるパッケージ製品が存在しない ・ 各データ収集プロセスの独立化 ・ 各プロセスに対する動的な 異常検知閾値の実施 スケーラブルで並列処理可能な アーキテクチャの採用 SalesforceのSOAP/REST APIを用い、要求に合わせた連携 処理の個別作り込みを実施 製造業に対する人材派遣業を中心に事業規模を急拡大されている企業様 月間採用1,000名、数十求人媒体、複数関連会社等を一括管理する採用管理システム群の刷新を実施 大手上場人材企業様 求人応募データ自動収集処理基盤 プロジェクト事例 2 CLIENT ニーズ 打ち手 リリース後評価
  5. © 2022 gecogeco Co., Ltd クローリングバッチ処理基盤全体像 ※ 公開用に簡略化しているため、実際の構成とは厳密には異なります。 求人応募データ自動収集処理基盤 プロジェクト事例

    2 主な利用技術 - AWS : Beanstalk、SQS、S3..etc - アプリケーション : Node.js(PhantomJS), Java/Spring スケーリングと並列処理 - Beanstalk(Worker)とS3、SQSを用いイベント駆動型で処理 フローを構築 - Beanstalkの.ebextensions (イベントフックでのカスタマイズ スクリプト)を利用し、キュー生成や監視設定を各求人媒体・アカウ ント毎にデプロイ内で自動初期化 Salesforce連携 - 応募データやマスタデータの安定的な連携をREST、SOAP API群を用いて実現
  6. © 2022 gecogeco Co., Ltd • レコメンドおよび検索結果の組織 内での利活用が進み、さらなる機 能拡充やAI学習を促進中! •

    当該案件のセキュリティとガバナン ス事例を基に、後続プロジェクトの クラウド活用検討にも貢献! • 疎結合のサーバレス構成を採用し たことで、エンハンス対応も安定し て推進できる状態を実現! レコメンド 計算 セキュリティ 拡張性 既存データ基盤のSalesforce では実現が困難な機械学習を 用いたレコメンドを導入したい 機密性の高いデータを扱うため、 外部からのアクセスやデータIF も厳密に対象を管理したい 今後のデータ利活用を見据え、 拡張性の高いアーキテクチャと データ構造を実現したい SageMakerを用いたレコメンド アルゴリズムの導入 ・ S3データレイクと Athena/Lambdaでのデータ活用 ・ 疎結合のシステムアーキテクチャで 拡張性を担保 ・ セキュリティとガバナンス向け 各AWSサービスの活用 ・ 通信経路の厳格管理と不要な アクセス経路の遮断 中堅中小企業を対象としたM&Aを仲介する企業様 買い手と売り手企業のマッチング業務向けに、レコメンドや検索観点でのITソリューション導入をご検討 株式会社日本M&Aセンター様 Salesforceデータ活用基盤 プロジェクト事例 3 CLIENT ニーズ 打ち手 リリース後評価
  7. © 2022 gecogeco Co., Ltd ※ 公開用に簡略化しているため、実際の構成とは厳密には異なります。 Salesforceデータ活用基盤 プロジェクト事例 3

    SageMakerを用いたレコメンド処理 - 株式会社nehanによるデータ分析とAIアルゴリズムの導入 - notebookとバッチ推論でスムースなAI改善サイクルの確立 データレイクとクエリ処理 - S3上に過去データ及び日次最新データセットの蓄積 - Athenaを用いた整形・日次対象データ抽出処理 セキュリティとガバナンス - Security Group上Inbound通信を完全に遮断 - CloudTrail, AWS Config, GuardDutyを用いたロギングと検知 - SSHログインを廃した構成設計 - その他ベストプラクティス/Well-Architected指針に則った対応 サーバレス - Lambda、S3、SQSを中心としたサーバレス構成 - 異常検知とリトライ、エンハンスが容易な疎結合な構成を実現 - Salesforce 標準APIを駆使し、ノンカスタマイズでの連携を実現
  8. © 2022 gecogeco Co., Ltd その他の事例 プロジェクト事例 WordPress移管(VPS→AWS) • 「WordPress

    : Best Practices on AWS」のホワイトペーパーに準拠した構成へ • 既存VPS環境分析、EFSを用いたデータ永続化、CloudFrontを用いたキャッシュ導入等 エンタメモバイルアプリのバックエンドAPI構築 脆弱性検査とパッチ適用業務自動化 • Java/SpringbootベースのAPIアプリケーションとそのAWS環境の構築 • 負荷検証とアプリケーションチューニング、Swagger APIリファレンス提供、保守ベンダーへの引き継ぎ等 • AWS InspectorとSSM Patch Managerを組み合わせたEC2に対するソリューションの適用 • 3rdパーティソリューション(FutureVuls, TrendMicro Workload Security)の活用