![Page 1: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/1.jpg)
On-Premise to AWS6年物のレガシーインフラをいかに移行したか?
![Page 2: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/2.jpg)
Who are we ?
![Page 3: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/3.jpg)
Persol Group Intelligence
Innovation lab. SEEDS Company
![Page 4: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/4.jpg)
千家 啓陽
keiyo senge
• DevOps Team • Team Leader • Certified Scrum Master
![Page 5: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/5.jpg)
HITO Manager• アルバイト・パート採用支援/管理システム
(ATS; Applicant Tracking System)
• since 2010
• 採用HP作成
• 応募者情報管理
![Page 6: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/6.jpg)
![Page 7: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/7.jpg)
こんな話をします• なぜ AWS へ移行したのか?
• どのように移行したのか?
• 実際に移行してどうだったのか?
![Page 8: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/8.jpg)
なぜ AWS に移行したのか?
![Page 9: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/9.jpg)
ビジネス背景• HR x Tech 業界の競争激化
• スピードアップの必要性が高まる
![Page 10: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/10.jpg)
2016年4月以前の課題• 子会社におまかせ
• レガシーインフラ
• 大量の技術的負債
• CentOS 5.x の EOL が2017年3月31日
➡ 変化に対応できない
![Page 11: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/11.jpg)
2016年4月 DevOps チーム成立
脱・子会社 ➡ 内製化
• もっと素早いデリバリーを
• もっと高品質なサービスを
• もっと頻繁に価値検証できる環境を
➡ レガシーインフラからの脱却は必然
![Page 12: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/12.jpg)
レガシーインフラ?• 設定がブラックボックス化
• 構成変更申請が面倒かつ遅い
• トラブルの原因追求が打ち切られる
グループ共通のオンプレ基盤のため、改善が困難
![Page 13: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/13.jpg)
脱・レガシーインフラ• 設計を透明に
• 構成変更を柔軟かつ高速に
• トラブルの原因調査を詳細に
➡ 自己管理できるAWSへ
![Page 14: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/14.jpg)
Struggle
![Page 15: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/15.jpg)
人的リソース不足• DevOps チーム4名
• 阻害要因
• 通常運用
• 障害対応
• タスク割り込み
• AWS移行に使えるリソースはせいぜい 30%
![Page 16: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/16.jpg)
どう戦う?トレードオフによる取捨選択 ➡ 割り込みの極小化
• 定型作業をテクニカルサポートチームへ移譲
• 移行後でも直せるものや改善タスクは後回し
• 組織からの依頼を減らしてもらう
• 週2日 AWS専念デー
![Page 17: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/17.jpg)
Mind Set• 小さく素早く始める
• レガシー = ブラックボックス = リスク
• ゼロにはできない
• 進めながら潰す
• ✕ エンジニアの自己満足
• ◯ ビジネス要求に対応できる
![Page 18: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/18.jpg)
Timeline• 2016年11月 移行プロジェクト開始
• 2016年12月 ステージング環境構築
• 2017年2月 第1次移行
• 2017年3月 完全移行完了
![Page 19: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/19.jpg)
どのように移行したのか?
![Page 20: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/20.jpg)
浅野 潤jun asano
• X Team • Tech Lead • 2男児父
![Page 21: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/21.jpg)
Architecture Overview of On-Premise
![Page 22: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/22.jpg)
![Page 23: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/23.jpg)
Architecture Overview of AWS
![Page 24: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/24.jpg)
![Page 25: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/25.jpg)
用途 On-Premise AWS
Provisioning なし Terraform
Load Balancer BIG-IP AWS ALB & nginx with Amazon ECS
Database MySQL Amazon Aurora
Alert / Monitoring Hinemos fluentd / mackerel & slack
NFS NAS Amazon S3 + Goofys
![Page 26: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/26.jpg)
Provisioning
![Page 27: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/27.jpg)
Before• 構成管理、なし
• インフラ設計書は稼働当初(2010年)のものが残っているだけ…
• ブラックボックス &「秘伝のタレ」化
• インフラチームと古参メンバーに聞かないと詳細が分からない
![Page 28: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/28.jpg)
![Page 29: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/29.jpg)
Infrastructure as Code• 構築対象のAWSリソースをひたすらコード化
• stagingに適用後、問題なければproductionへ
• Terraformのmodule機能を活用
• stagingとproductionで異なる部分のみ変数化
• 例: staging -> t2.micro, production -> m4.large
![Page 30: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/30.jpg)
Terraform 所感つらみ
• Version Up 頻度が高く、追いつくのが大変
• plan (aka dry-run)とapplyで結果が異なる場合があり、apply恐怖症になる
よさ
• 簡易なDSL なので、とっつきやすい
• 入り組んだAWSリソースが可視化される
![Page 31: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/31.jpg)
Load Balancer
![Page 32: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/32.jpg)
Before• インフラチーム管轄のBIG-IP
• 負荷分散ができてない
• 接続元IPで振分け先が固定されてしまう
• 煩雑なiRule定義
• url上の顧客コードからAPサーバーへの振分けをiRuleで定義
• 導入顧客数分の設定量に…(大量のif分岐)
![Page 33: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/33.jpg)
AWS ALB & nginx with
Amazon ECS
![Page 34: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/34.jpg)
AWS ALB• Application Load Balancer
• Amazon ECS との親和性が高かったため採用
![Page 35: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/35.jpg)
nginx as reverse proxy• 顧客コード毎のAPサーバ振分けのiRule定義が 多すぎてAWS ALB のpath based routingで 賄いきれない
• そもそも顧客追加・変更の頻度が多いため、AWS ALB をあまりカジュアルにいじりたくない
![Page 36: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/36.jpg)
Why Container ?
http://techblog.inte.co.jp/
![Page 37: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/37.jpg)
Why Container ?• Containerよさ
• 依存関係分離
• 開発/本番一致
![Page 38: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/38.jpg)
Amazon ECS• サービスを安定・継続的に提供する上で魅力的なしくみが揃っていたことが決め手
• app auto scaling
• container auto recovery
• blue green deployment
![Page 39: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/39.jpg)
blue green deployment
https://martinfowler.com/bliki/BlueGreenDeployment.html
![Page 40: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/40.jpg)
3 steps for blue green deployment on Amazon ECSdocker push url.to.ecr.region.amazonaws.com/your-repos
aws ecs register-task-definition \ --cli-input-json file://path/to/task-definition.json
aws ecs update-service \ --cli-input-json file://path/to/update-service.json
safe & easy !
![Page 41: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/41.jpg)
blue green deployment step 1
![Page 42: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/42.jpg)
blue green deployment step 2
• task-definition: rp:v2
• drain connection of v1 (50%)
![Page 43: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/43.jpg)
blue green deployment step 3
• start v2 service
• connect to v2
• drain connection of v1 (50%)
![Page 44: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/44.jpg)
blue green deployment step 4
• task-definition: rp:v2 100% !
![Page 45: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/45.jpg)
Database
![Page 46: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/46.jpg)
Before• 無意味なデータベース分割
• サービス拡大に応じてデータベースが増加
• 運用負荷を招く
• Trouble
• レプリカが機能してないことが度々あった
• そしてそれに誰も気づいていなかった…
![Page 47: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/47.jpg)
Amazon Aurora
![Page 48: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/48.jpg)
Amazon Aurora• 機能単位でDBを整理し、cluster構築
staging 構築時は Amazon RDS MySQL 5.6だった
• 構築後にAmazon Auroraが監査ログに対応したため急遽Auroraに変更
• 性能とメンテナンス性が決め手
![Page 49: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/49.jpg)
DB移行をどうしたか• セキュリティポリシー上、
On-Premiseからのレプリケーションは不可
• Downtimeは深夜のみ可
• 小さいDBはフルダンプ&レストア
• 作業に数時間かかるDBのみ差分インポートで対応
![Page 50: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/50.jpg)
Amazon Support
![Page 51: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/51.jpg)
手厚い Support• Auroraに限らず、MySQLのダンプ&リストア時間 の節約方法などもアドバイスいただく
いつも助かってます!
![Page 52: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/52.jpg)
Alert / Monitoring
![Page 53: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/53.jpg)
Before• Hinemosがオオカミ少年化
• 重要なアラートが埋もれてしまう
• 監視されるべきプロセスが漏れている
• GUIベースであるため、設定変更が手間
• Windows Server が必要
![Page 54: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/54.jpg)
mackerel / fluentd & slack
![Page 55: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/55.jpg)
mackerel / fluentd & slack• 必要なAlert・Monitoringを精査、設定
• process監視は mackerel
• log監視は fluentd
• slack通知し、すぐ検知できるように
![Page 56: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/56.jpg)
NFS
![Page 57: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/57.jpg)
Before• 全サーバーに同じNASをマウント
• 運用作業で頻繁に利用
• 設定・管理はインフラチーム任せ…
![Page 58: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/58.jpg)
Amazon EFS
![Page 59: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/59.jpg)
Amazon EFS• …
• 東京リージョン未対応 …
![Page 60: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/60.jpg)
Amazon S3 + Goofys• NFSを使わない運用を検討する時間はなかった
• NASの代替策を検討
• Goofys : Amazon S3をNFSとして扱える golang製tool
![Page 61: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/61.jpg)
実際に移行してどうだったのか?
![Page 62: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/62.jpg)
Timeline• 2016年11月 移行プロジェクト開始
• 2016年12月 ステージング環境構築
• 2017年2月 第1次移行
• 2017年3月 完全移行完了
![Page 63: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/63.jpg)
Mind Set
![Page 64: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/64.jpg)
小さく素早く始める• とにかく手早くstaging環境を
• すぐ立て・捨てられるクラウドの利点を活かす
• 環境構築する過程でブラックボックスがクリアになり、問題点が見えてくる
• 移行の実現可能性を早期に判断するためにも必須
• 環境構築したらテストを回す
• E2Eテスト、負荷テスト
![Page 65: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/65.jpg)
段階的な移行• 1回で全て移行するのではなく段階的に移行
• 並行稼動の設計コストは高い…
• 一方で下記の問題を検出できた
• 移行手順の過不足
• 移行後の運用課題
• DevOps以外のチームがAWSに慣れる
![Page 66: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/66.jpg)
1次移行• Domainを Amazon Route53 に移行
• nginxが顧客コードに応じてAWSとOn-Premise環境へ振分け
![Page 67: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/67.jpg)
![Page 68: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/68.jpg)
2次移行• 移行漏れが発覚し、一度失敗
• 切り戻しラインを定めておいたため、中断に伴うトラブルは無し
• 1週間後にリトライし、移行成功
![Page 69: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/69.jpg)
移行で良くなった?➡ YES
• ブラックボックス : 解消 (コード化)
• 不具合調査 : チーム内で完結、スピードアップ
• サーバー追加 : 45日 ➡ 1日
• 構成変更: スケールアップ/アウトも即時対応
➡ チームが自律的に活動できるように
![Page 70: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/70.jpg)
Summary
![Page 71: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/71.jpg)
レガシーインフラにAWS移行は有効、ただし...
• スキルとリソースが必要
• 組織の協力も必要
• 多くのリスクやトレードオフと戦う覚悟も必要
• ブラックボックス ≒ 地雷
![Page 72: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/72.jpg)
Mind Set• 小さく素早く始める
• レガシー = ブラックボックス = リスク
• ゼロにはできない
• 進めながら潰す
• ✕ エンジニアの自己満足
• ◯ ビジネス要求に対応できる
![Page 73: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/73.jpg)
移行できれば• 全てが透明になる
• ハンドリング可能になる
• 市場変化に対応できるようになる
![Page 74: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/74.jpg)
We are hiring! @ Intelligence
SEEDS company
![Page 75: On-Premise to AWS...Timeline • 2016年11 月 移行プロジェクト開始 • 2016年12月 ステージング環境構築 ... • 2017年3月 完全移行完了 どのように移行したのか?浅野](https://reader034.vdocuments.mx/reader034/viewer/2022043012/5faabc4628aedb265a4143b8/html5/thumbnails/75.jpg)
Thank You !