## プロジェクト概要
海外向け新規サービスの立ち上げに伴い、AWSを活用したインフラ設計・構築を担当し、IaCの標準化と効率化を実現しました。
## 役割・体制
### 自身のポジションと役割
- インフラエンジニア(SRE)として、AWSを用いたインフラの設計・構築をリードしました。
- 特に、Infrastructure as Code(IaC)の一環としてAWS CDKを用いたインフラ構築に従事し、コードの設計と実装を担当しました。
- 開発チームの一員として、アジャイル開発の一環でインフラ面の要件定義と実装を行い、サービスの安定稼働とスケーラビリティ確保に寄与しました。
- 自身の構築したインフラテンプレートのドキュメント化と、コードの品質管理(linter・formatterの導入)も担当し、チーム全体のコーディング規約の標準化を推進しました。
### チーム規模と構成
- アプリエンジニア10名、SRE(インフラ)エンジニア2名の合計12名のチームの一員として活動し、インフラ担当のエンジニアとして、他のメンバーと協力しながらインフラの設計・構築を担当しました。
## 背景・課題
- 海外展開に向けた新規サービスの立ち上げに伴い、迅速かつ安定したインフラ構築が必要となったものの、AWS CDKを用いたインフラ構築は社内に実績がなく、技術的な不確実性と学習コストが高い状況でした。
- プロジェクトの最大の課題は、未経験のツール(CDK)を用いたインフラ構築を0から行う必要性と、短期間でのスケールアップを可能にするための効率的なナレッジ蓄積と運用体制の確立でした。
- この課題は、技術的な習熟度不足による設計ミスや、運用時のトラブル発生リスクを高めるため、事前学習とドキュメント整備を徹底する必要がありました。
## 実際の取り組み
### 開発環境
- AWSをベースとし、IaCにはAWS CDK(TypeScript)を採用。これにより、インフラの定義をプログラムコードとして管理し、バージョン管理や再現性を高めました。
- 開発環境の整備として、linterやformatterを導入し、コードの見通しと統一性を確保し、チーム内のコーディングルールの徹底を推進しました。
### 設計・改善内容
- CDKでのインフラ構築にあたり、抽象的なリソース定義を可能にするCDKの特性を生かし、複雑なインフラ構成を効率的に構築しました。
- 既存のインフラコードに対して、リントツールやフォーマッタを導入し、コード品質を高めるとともに、変更の追跡と管理を容易にしました。
- また、複数環境(開発・ステージング・本番)において、同一のコードベースを使いながら環境差異を吸収するための仕組みを設計・実装し、運用負荷を軽減し、スケーラブルなインフラ運用体制を確立しました。
- 過去のアーカイブ資料や勉強会参加を通じて、CDKのベストプラクティスを学び、社内におけるノウハウ蓄積と共有を図りました。
### その他アピールポイント
- 自身が設計・構築したインフラテンプレートを再利用可能な形で整備し、新規サービス立ち上げ時の工数を約80%削減しました。
- チーム内での知識共有と標準化を促進し、CDKコードのレビューやプルリクエストを積極的に行い、品質向上とルール徹底に努めました。
## 成果・価値
- AWS CDKを用いたインフラ設計・構築により、従来の手作業に比べて、構築時間を短縮し、スピードと正確性を両立させました。
- コードの抽象化と自動化により、インフラ変更時のエラー率を大幅に低減し、インフラの安定稼働率を向上させることに成功しました。
- IaCの標準化とルール整備により、チームメンバー間の協調性と品質向上を実現しました。
- これらの取り組みにより、海外サービスのスケールアップと安定運用を実現し、ビジネスのグローバル展開を加速させる基盤を築きました。