ü ビジネス/システム両⾯の改善項⽬が多すぎる ü 優先順位がつけられない ü まずは「問い合わせ数」 を伸ばせるか検証することにした ü 数値で成否を計測することができる ü ⼩さく勝って、次の投資判断を加速させる “実験場” でもあった ü 成功すれば、⼤規模投資(AWS移⾏)の説得材料になる 1 2 3
ü ボタン1つでアカウント構築が可能 ü Amazon EventBridge と連携し、デフォルトVPCなど不要リソース⾃動削 除 ü AWS IAM Identity Center でシングルサインオン環境を構築 ü チームや役割に応じてアクセスユーザーと権限を⼀元管理 ü デフォルトで監査ログを取得(Audit, Log Archive) ü デフォルトでガードレールが設定される ü AWS CloudFormation StackSets を利⽤して共通インフラリソース配布 アカウント作成 アクセス権限管理 アカウント管理・統制
ü 新旧システムの前段にファサードを配置し、 リクエストを振り分けられるようにする ü 段階的に新システムにリクエストを振り分ける ü 新システムへの切り替えが完了したら、 旧システムを廃⽌する 24 参考)ストラングラーパターンとは 既存の⼤樹にからみついて、徐々に成⻑する植物 https://martinfowler.com/bliki/StranglerFigApplication.html
オンプレミス撤去 オンプレミス AWS オンプレミス AWS オンプレミス AWS CDN Web サーバー 旧アプリ DB リバース プロキシ 新アプリ Web サーバー 旧アプリ DB リバース プロキシ 新アプリ CDN Web サーバー 旧アプリ DB リバース プロキシ 新アプリ CDN DB 撤去 専⽤線接続 専⽤線接続
Control Tower によって、ガバナンスを効かせながら運⽤できている • ビジネスの改善を⽌めずに移⾏も同時に進めることができた ü ストラングラーパターンを採⽤することで、"いいとこどり" ができた ü スモールスタート時に⼤切にした「細かく改善」という考え⽅は、AWS 移⾏でも活かせた 29 ベストプラクティスや先⾏事例を取り⼊れながら移⾏プロセスを構築 移⾏もビジネスの改善も両⽅をやりながら移⾏することに成功
リニューアルも⾏う • 現⾏DB(Oracle)の移⾏も⾏う 32 アプリケーションの刷新に必要な要件とは(1/2) ①スモールスタートで気づいた課題 ②未来の要件 ①現在直⾯している課題の解決 と ②未来の要件を満たすこと この2つが重要であると考え、要件を整理した ①の整理: ü ⾼頻度リリースに耐えられる ü CDN のフル活⽤ができる ü 画⾯ごとに疎になるような作り ②の整理: ü Web とネイティブアプリで基盤を共通化 ü DB に依存しすぎない作り +
(Redis) Oracle DB オンプレミス Proxy ECS リバースプロキシ Front ECS API ECS Nginx Next.js Apollo GraphQL Proxy ECS リバースプロキシ Front ECS API ECS Nginx Next.js Apollo GraphQL
インフラコストも年々増加する⼀⽅だったため、Oracle の移⾏を決めた ü AWS 移⾏が進んでサイトが⼤きくなるにつれ、DB ボトルネックが顕在化 ü SQL チューニングを実施してもスロークエリアラートが常態化 ü 年間数千万のコストがかかっていた ü 保守費⽤が、毎年必ず10%程度あがる ü いい部屋ネット含め複数のシステムが参照しており、⻑時間停⽌できない ü 古いバージョンを使い続けており、サポートやモニタリングツールも 有効活⽤できない 右肩上がりのコスト 打つ⼿がない 鳴り⽌まない スロークエリアラート
利⽤時の 1/8 以下 ü 年間数千万のコストが、年間数百万になった(桁が1つ落ちた) ü 移⾏前と⽐べて、2倍以上のスループットを達成 ※ 移⾏に伴うクエリのチューニングによるもの ü 繁忙期のトラフィックであっても余裕で捌ける ü ストアド、シノニム、インデックス、テーブルなど 合計1,000以上の DB オブジェクト群を断捨離 ü DB 移⾏の際も聖域を作らず 脱・現⾏踏襲 で臨んだことで、 上記のような成果を得られた(ただし、腕⼒が必要) コスト 性能 その他
ü セオリーが⾃分たちにも当てはまるかどうかはわからない • 聖域を作らず、削除すべきものは削除する ü 移⾏時に不要な DB オブジェクトを精査し、可能な限り削除していく ü こうした移⾏時にしかできないチャンスが巡ってきたと思って取り組むことが⼤事(精神論) 64 DB 移⾏に銀の弾丸は、ない 製品選定や現新⽐較、性能検証などを1つ1つ愚直に進めるしかない
⽬の前の課題を1つずつ対処した結果が、4年間でのAWS完全移⾏ • 後発優位性 ü 他社先⾏事例や蓄積されたベストプラクティスを最⼤限活⽤する ü 後発はデメリットではなく、むしろメリットである 68 ビジネスを伸ばすための移⾏が、⾮連続な成⻑につながった ⼩さくはじめる・細かく進める・後発の強みをフル活⽤