大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理
弊社が開発及び保守運営をしているサイトの性能向上させた実績です。 本システムではオンラインセミナーを実施したあとに検定試験を実施します。 オンラインセミナーはライブで行われるためセミナー終了後に参加者が一斉にテストを受けます。 WEB UIコンポーネントで取得したデータを、APIGateway、Lambda、nosql-amazon-dynamodb-12751" target="_blank" rel="noopener noreferrer">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サーバレスでオンライン教育rtmp-adobe-live-distribution-protocol-8890" target="_blank" rel="noopener noreferrer">ライブ配信中にリアルタイムチャットができるシステムを開発しました。配信中に視聴者は主催者へ質問などをリアルタイムで交換できます。アーキテクチャはAWSサーバレス構成でLambdaやApp Syncなどで構築しました。
AWSサーバレス関連記事今後もAWSサーバーレス開発に注目していきたいと思います。
ベトナムオフショア開発会社 ONETECHは PROT10
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。 ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。 ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい

