64ヶ月オンプレ運用したシステムを aws移行した話
TRANSCRIPT
64ヶ月オンプレ運用したシステムをAWS移行した話
CrossTechTalk #12017-03-09
CyberZ 黒木亮太
黒木亮太@CyberZ
❏ F.O.X プロダクトマネージャー
❏ サーバーサイドエンジニア
❏ Twitter @champ_melon
Force Operaton X
スマホアプリの広告効果を計測するトラッキングツール
アンケート
システム基盤は何を利用していますか?
❏ AWS
❏ GCP
❏ Azure
❏ クラウド+データセンター
❏ データセンター
システム基盤は何を利用していますか?
❏ AWS
❏ GCP
❏ Azure
❏ クラウド+データセンター
❏ データセンター ← 1ヶ月目の F.O.X
DCでどんな運用が行われているか?
❏環境: dev/stg環境がバラバラ❏ dev環境が VPS、 stg環境が自社内マシンルーム❏ 色んな環境が混在していて、どこで何が動いているのか把握できない状態
❏データベース:シャーディングによるスケールアウト❏ マスタテーブルで利用する DBを管理して、シャーディング❏ データ量の増加により、毎年 1系統のペースで増加している状態
❏ Webサーバ /データベース:カリッカリのチューニング
❏ 少ない台数で大量トラフィックを処理させるために極限まで利用する
❏ max_connectionなどのパラメータも用意に増やせない状態
2015年 12月
クラウド移行計画始動
なぜクラウドに行くのか?
❏開発のスピードアップ❏ 今までは、インフラ作業はインフラエンジニア、アプリケーション開発は開発エンジニアと住み分けされていて、お互いに作業依存してしまう
❏グローバル対応❏ 海外配信でのレイテンシーなどの問題❏ EU圏のセーフハーバー問題
なぜクラウドに行くのか?
❏開発のスピードアップ❏ 今までは、インフラ作業はインフラエンジニア、アプリケーション開発は開発エンジニアと住み分けされていて、お互いに作業依存してしまう
❏グローバル対応❏ 海外配信でのレイテンシーなどの問題❏ EU圏のセーフハーバー問題
グローバルで勝っていくために、クラウド化は必須
しかし、
移行に向けての課題も。
クラウド移行への課題
1. クラウド環境の管理
2. マネージドサービスの利用
3. サービス無停止での移行
クラウド環境の管理
<課題>
アプリケーションエンジニアのインフラ能力が低い
クラウド環境の管理
<解決方法>
インフラ向上 PJを発足し、アプリケーションエンジニアのインフラ力を向上させる
インフラ業務を開発エンジニアへ移譲して (CyberZ 茂木高宏 ): https://www.slideshare.net/tkmoteki/ss-72529117
インフラエンジニアの教育下で、基本的な AWSの設計思想や基本操作を学習する機会を作る。
【対象サービス】
❏ EC2
❏ ELB
❏ RDS
❏ その他マネージドサービス
マネージドサービスの利用
<課題>
マネージドサービスでの開発 /運用の経験がない
マネージドサービスの利用
<解決方法>
利用した事のないサービスは、機能検証 / 性能検証 / 運用検証を実施する
機能 /性能 /運用検証項目を洗い出し、 1〜 2人チームで検証を実施
【検証を実施したサービス】
❏ RDS for Aurora
❏ ElasticCache
❏ ALB
❏ EMR
❏ ClouderaDirector
サービス無停止での移行
<課題>
24時間 365日稼働しているシステムのため、システム移行、データ移行を無停止で行う必要がある。
サービス無停止での移行
<解決方法>
考える!!
例えば、
❏Webサーバ
❏ AWSに 1セット環境を用意し、 DNSを切り替える。
❏KVS
❏ AWSに 1セット環境を用意し、ダブルWriteしつつ切り替える。
❏データベース❏ アプリケーション側でメンテナンスモードを実装し、Write処理を止めれる仕組みにして切り替える。
クラウド化の副次的なメリット
❏ プロジェクト単位でコスト意識をするようになった❏ re:Inventの機会でアーキテクチャの見直しを議論するようになった
❏ re:Invent 2016への参加
システム基盤は何を利用していますか?
❏ AWS
❏ GCP
❏ Azure
❏ クラウド+データセンター ← 64ヶ月目の F.O.X
❏ データセンター
64ヶ月運用したシステムの移行との戦いはまだ道半ば。
移行が完全完了したら Part.2で話します。
ご清聴ありがとうございました