大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理
業界 | オンライン配信事業 |
---|---|
ジャンル | WEBシステム開発、AWSサーバレス |
フレームワーク | React.JS、AWSサーバレス |
開発言語、サービス | React.JS、Laravel、AWS Elastic Load Balance、Cloudfront、ElastiCache for Redis、、API Gateway、Lambda authorizer、Aurora、AppSync、Lambda、DynamoDB、S3、CICD、CloudWatch |
対応範囲 | アーキテクチャー設計、基本設計書、詳細設計、単体テスト、結合テスト、性能テスト、セキュリティーテスト |
対応時期 | 2022年12月 |
大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理
弊社が開発及び保守運営をしているサイトの性能向上させた実績です。
本システムではオンラインセミナーを実施したあとに検定試験を実施します。
オンラインセミナーはライブで行われるためセミナー終了後に参加者が一斉にテストを受けます。
WEB UIコンポーネントで取得したデータを、APIGateway、Lambda、dynamoDBで即時に集計します。
今回の更新で6000人が同時アクセスすることを想定しシステムのパフォーマンスを改善しました。
当初の開発の実績紹介はこちら
AWSサーバレスでオンライン教育ライブ動画配信中のチャットシステム開発
オンラインセミナー検定システム業務フロー
・オンラインセミナー実施前に、検定の内容を作成
・イベントでオンラインコンテンツと検定を紐付け
・オンラインセミナー中に検定を実施
・検定の結果を集計
システムのパフォーマンスを改善
当初は2000人が同時アクセスを想定して設計していました。
しかし今回の更新で6000人が同時アクセスすることを想定した設計に強化しました。
検定ではWEBアプリのUIコンポーネント(react.jS)で情報をインプット、AWSサーバレスでユーザー認証してユーザーごとの検定結果を即時集計。
既存システムのユーザー情報はキャッシュ(redis)され、べアラートークンで認証(Lambda Authorizer)
大量アクセスを捌くため、ApiGatewayでトラフィック管理、認可とアクセスコントロール、モニタリング、APIバージョン管理などAPIコールの受け入れと処理に伴うすべてのタスクを取り扱います。
Lambdaではイベントがコンポーネントで取得し情報をリアルタイムで集計処理をします。
DynamoDBは1 秒あたり数千万の読み込みおよび書き込みリクエストをサポートします。今回はアンケート及びライブアンケートの大量データ処理を実施しました。
フロントエンド開発
React jsはWebサイトやWebアプリのUIコンポーネントを開発する言語です。
WebUIでチャットコンポーネント、アンケートコンポーネント、ライブセミナーコンポーネント、ライブアンケートコンポーネントの情報をLambdaに渡します。
また今回は別システムとの連携もありました。
バックエンド(管理画面)開発
Laravel(PHP)で開発。
ONETECHはLaravelでの管理画面開発は多数の実績があります。
AWSアーキテクチャ(マイクロサービス)
Elastic Load Balance
Cloudfront:アンケートコンテンツキャッシュ、レスポンス時間を省く
Amazon ElastiCache for Redis:既存ユーザー情報を共有処理キャッシュ
API Gateway:セキュリティー、分散処理設定
Lambda authorizer:アクセスを許可または拒否
User database Aurora:アンケート集計、結果などを保存
User database DynamoDB:リアルタイムでアンケート内容を処理
User API GraphQL AppSync:リアルタイムチャット
Lambda Edge Ram :ユーザー認証、集計処理、DynamoDBのアンケート内容をRDSへ集計
S3(Simple storage service):アンケートコンテンツ保存
CICD:ソースコード管理
Monitoring CloudWatch:システム全体の監視
開発期間
開発期間
2022年10月~2022年12月まで
対応範囲
要件定義
クライアント様の方で要件定義
技術的な観点でのサポート
基本設計・詳細設計
要件定義書をもとに、AWSサーバーレスの設計を作成
クライアント側と性能条件をあわせてレビュー
コーディング
全体システムとしてAWSサーバーレスを開発
ウェブ側:React.JS
AWS側:SAM、Node.js
AWSサーバーレス環境
弊社側でAWSサーバーレス構築を実施
AWSサーバーレスイメージ参照
(https://aws.amazon.com/blogs/architecture/liberty-it-adopts-serverless-best-practices-using-aws-cdk/)
実際案件の構成ではありません。
システムテスト
単体、性能テストを実施した。
受入テスト
クライアント側担当
システム保守・運用
システム運用設計書を作成
AWSサーバーレスへAWS CICDを適用
類似実績
Amazon Chime、Lambdaでリモート営業支援アプリの研究開発
Amazon Chime SDKを利用してLambdaでリモート営業支援アプリの研究開発を開発しました。お店に来客したお客様がスタッフを呼び出してオンラインで通話できるシステムです。Amazon Chime SDK、LambdaでWeb会議アプリケーションをAWS上にサーバーレス構成で作成しました。
AWSサーバレスでオンライン教育ライブ配信中にリアルタイムチャットができるシステムを開発しました。配信中に視聴者は主催者へ質問などをリアルタイムで交換できます。アーキテクチャはAWSサーバレス構成でLambdaやApp Syncなどで構築しました。
AWSサーバレス関連記事
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
AWS DMSを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する