## プロジェクト概要
マークシートテストの集計・採点を高速化するWebアプリの処理性能をAWS Lambdaによる並列化で大幅に向上させました。
## 役割・体制
### 自身のポジションと役割
- バックエンドエンジニアとして、AWS Lambdaを活用したマークシート読み取り機能の設計・実装・性能チューニングを担当しました。
- 既存のASP.NETベースのWebアプリ機能をAWS Lambdaに移行し、処理の並列化とスケーラビリティを確保しました。
- 運用保守フェーズにおいても、システムの安定稼働と性能維持のための監視と改善作業を継続的に実施しました。
### チーム規模と構成
- エンジニア5名で構成され、プロジェクトマネージャーやフロントエンドエンジニアを含むチーム体制でした。
- バックエンド担当として、設計から運用保守まで一貫して携わりました。
## 背景・課題
- 全国の各所で同時に行われるマークシートテストにおいて、従来のWebアプリの処理性能がボトルネックとなり、集計・採点に時間がかかっていました。
- AWS Lambdaを用いたサーバレスアーキテクチャの導入は社内初の試みであり、技術調査や実装段階で未知の課題が多発しました。
- 新技術導入に伴うリスク管理と、開発工程のスムーズな推進が最大の課題でした。
## 実際の取り組み
### 開発環境
- バックエンドはC#、ASP.NETを基盤とし、MySQLをデータベースとして利用しました。
- AWSのEC2を既存のインフラとして使用し、AWS LambdaとAmazon SQSを組み合わせて処理の並列化と非同期化を実現しました。
- ウォーターフォール型の開発手法に基づき、計画的な要件定義から設計、実装、テスト、運用保守まで進めました。
### 設計・改善内容
- AWS Lambdaの調査からスタートし、Lambdaの特性を踏まえた設計により、マークシート読み取り処理を細分化して並列化を実現しました。
- Amazon SQSを利用し、処理分散とメッセージングの非同期化を行うことで、負荷分散と処理効率を大幅に向上させました。
- 実装中に発生した課題を上長と密に連携し共有することで、余計な手戻りや工程ミスを防ぎ、効率的に開発を進めました。
- パフォーマンスチューニングを継続的に実施し、AWS Lambdaのリソース制御やタイムアウト設定を最適化しました。
### その他アピールポイント
- AWS Lambdaを活用したWebアプリ開発のノウハウを社内に初めて蓄積し、チーム内外で共有しました。
## 成果・価値
- AWS Lambdaによる並列処理の導入により、マークシート読み取り機能の処理速度を30倍以上に高速化しました。
- 処理速度の大幅な向上により、より大規模なテスト実施が可能となり、学校や企業への導入拡大に貢献しました。
- 新技術導入の成功により、社内のサーバレス技術の理解と適用範囲が拡大し、今後のプロジェクト展開に向けた基盤を構築しました。