株式会社ハートビーツ / Webエンジニア
社内向けドキュメント生成システムの構築
## プロジェクトの目的・背景 - お客様向け各種ドキュメントの生成自動化システムの要望 - 頻繁には利用しないため低コストなシステムが求められる ## プロジェクト規模・体制 - エンジニア3名での開発チームでインフラ・CI/CD構築を担当 ## 担当業務・役割 - AWSインフラのTerraform実装 - コンテナ環境の構築 - CI/CDパイプラインの整備 - サーバレスアーキテクチャへの移行設計・実装 - 開発環境の整備 ## 使用技術 - アプリケーション - Golang 1.16 - AWS(ECS/Fargate・Lambda・SNS・SQS・CloudWatch Alarm) - Terraform 0.13.6 - GitLab CI - localstack ## 具体的な取り組み プロダクトの企画・設計・実装を担当しました。 その中でも主にインフラ・CI/CD の構築を行いました。 当初の設計では、ドキュメントの生成ロジックを持つバックエンドを AWS Fargate で動かしていましたが、処理の実行時間や実行頻度を考慮して、プロジェクトの途中で AWS Lambda を使ったサーバレス構成への移行を提案・実装を行い、コスト削減に大きく貢献しました。(ランニングコストがほぼ 0 円になりました) また、サーバレス化を行いキューイングやリトライ処理を AWS のリソースに任せることで、バックエンドのコードをシンプルに保つことができ、保守性の向上に貢献しました。 サーバレスなシステム開発を行ったのはこれが初めてでしたが、AWS の各サービスのドキュメントを読み、動作確認を行い事を通してサービスの理解に務めました。 ## 得られた知見・教訓 - アーキテクチャ選定の重要性 サーバレス構成にすることで低コストなシステムを構築することができたが、その分開発環境などは複雑化してしまったので、コストと保守性のバランスを取ることの重要性を学びました。