Home / 開発実績 / Webシステム開発 / 大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理

大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理

大量の同時アクセスをWEBUIコンポーネントとAWS APIGateway、Lambda、DynamoDBで処理
data
内容

大量の同時アクセスを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サーバレス関連記事

そして、データ処理を効率的に行うために活用されるサービスの一つに、Amazon DynamoDBが挙げられます。 今回はサービス概要だけでなく、その特徴や他サービスとの違いについてご紹介します。
近年、ソフトウェア開発がより大規模に行われるようになり、それに伴ってソースコードの管理や品質維持が非常に困難になりました。 このような問題を解決するツールの一つが、CI/CDサービスです。 今回はAWSのCI/CDを中心にお伝えし、なぜCI/CDが近年必要とされているのかについてご紹介します。
Amazon Web Service(AWS)では、開発者に向けて様々なサービスがクラウド経由で提供されています。 中でも近年注目を集めているのが、2014年より提供されている「Lambda(ラムダ)」です。同サービスは「EC2」と比較されることも多いのですが、両者にはどのような違いがあるのでしょうか。 今回は、AWSの「Lambda」と「EC2」の違いについて、特徴をご紹介します。
今後もAWSサーバーレス開発に注目していきたいと思います。

ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー

もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。

ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。

  • インターネットサービスの企画はあるがどうしたら良いか
  • どのようにクラウドを利用したら良いかわからない
  • クラウドを利用するためのコストやポイントを知りたい
  • 保守運用まで考慮した設計をしたい

AWS DMSを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。
AWS導入について相談する

AWS構築サービス

AWS移行サービス

AWS保守運用サービス

ONETECH AWS構築実績

実績一覧

オンライン授業が進む集団塾向けのeラーニングシステムの性能改善をしました。講師と生徒はタブレットで授業をします。最大40人が使うシステムです。画像データをbase64へエンコードすることでデータ量を改善して読み込みスピードを改善しました。

先日対応したLPを生成できるWebアプリケーションを追加対応としてセキュリティを実装しました。 セキュリティシートを元にセキュリティ診断を行い、対応が不足している箇所を実装提案を行いシステムのセキュリティを強化しました。

業務効率化と意識改革のための複数の店舗を管理できるWebシステム開発 小売業向けに店舗の従業員のスケジュール管理や本社連絡チャット機能で業務効率化と従業員全体の数字に対する意識改革に特化した店舗マネージメントシステムを開発しました。

「中堅印刷会社向けに、注文から請求、さらには消費者向け販売機能を備えた汎用的なB2B Eコマースサイトを開発。カタログとの連携や在庫・倉庫管理システムとの連携、AWSやXserverにも対応した拡張性の高いプラットフォームで新たなビジネスチャンスを創出。」

ECサイト構築プラットフォームで有名な「STORES(ストアーズ)」のCSVファイルを 自動変換するシステムを開発しました。 基幹システムにアップロード可能な注文ファイルに自動変換、 新しいCSVファイルを自動生成しアップロード用のFTPサーバーに送信する中間システムを構築しました。

無料相談
お問い合わせ