## プロジェクト概要
LINE Botのバックエンド開発およびk8sを用いたプライベートクラウド環境の構築・運用改善を推進しました。
## 役割・体制
### 自身のポジションと役割
- バックエンドエンジニア兼DevOpsエンジニアとして、JavaおよびKotlinを用いたサーバーサイドアプリケーションの設計、コーディング、テスト、運用保守を担当しました。
- Kubernetesクラスターを利用した環境構築とVMで稼働していたアプリケーションのk8sへの移行を推進しました。
### チーム規模と構成
- エンジニア10名のチームで、バックエンド開発とインフラ構築を分担しながら開発を進めました。
## 背景・課題
- 新世代のプライベートクラウドを利用したDisaster Recovery環境の構築がプロジェクトの重要ミッションであり、社内での利用方法が確立されていないため、手探りでの開発が求められました。
- VM環境で稼働していた高負荷で重要度の高い既存サーバーサイドアプリケーションをKubernetes環境に移行する必要があり、移行作業時の安定稼働と性能確保が課題となりました。
## 実際の取り組み
### 開発環境
- Kubernetes(k8s)を中心としたクラウド環境を構築し、JavaおよびKotlinで開発したサーバーサイドアプリケーションをデプロイ、運用しました。
- Disaster Recovery 環境を構築し、開発、Deploy、log, metrics の収集といったサイクルを回せる環境を作りました。
- VM 上で稼働していた API や Message Queue の Consumer / Produce などのアプリケーションを、リソース調整を行いながら Kubernetes へ段階的に移行し、運用に柔軟性を持たせインフラ費用の削減を実現しました。
### 設計・改善内容
- Disaster Recovery環境の構築にあたり、社内新世代プライベートクラウドの特性を調査し、仮説を立てて検証を繰り返しながら技術的課題を解決しました。
- 開発チームと密にコミュニケーションを取り、データを基にした意思決定を促進し、最適な設計・運用方法を確立しました。
- Kubernetes環境へのアプリケーション移行に伴い、コンテナのリソース管理やスケーラビリティを考慮した設計改善を実施しました。
### その他アピールポイント
- 新プラットフォームの知見を社内で共有し、他メンバーが活用しやすいよう相談対応やドキュメント整備を行い、利用促進に貢献しました。
## 成果・価値
- Disaster Recovery環境の構築により、災害発生時でも安定したサービス提供が可能となり、システムの信頼性が大幅に向上しました。
- Kubernetes環境へのアプリケーション移行に伴い、運用効率が改善され、インフラのスケーラビリティと柔軟性を確保しました。