AWS Summit 2018 「PlayStation(TM) Network での Container 導入事例」まとめ

0
そば太郎 @_sobataro

14時からは「PlayStation™ Network での Container 導入事例」を見ます。本当は「AWS Media Services と機械学習ソリューションを利用した動画コンテンツの価値向上」もおもしろそうだけど、飛天会場がちょっとつらい…… #awssummit

2018-06-01 13:48:17
そば太郎 @_sobataro

はじめに: 今年からはスライドを公開予定! そのかわり2〜3スライド/分の速度で内容多い #awssummit

2018-06-01 14:01:13
そば太郎 @_sobataro

PS4 は1週あたり8億時間以上ゲームがプレイされている! #awssummit

2018-06-01 14:02:51
そば太郎 @_sobataro

企画〜導入〜運用まで、何をどう考えて判断したかの話。教科書的な話は web にいっぱいある #awssummit

2018-06-01 14:03:36
そば太郎 @_sobataro

東京拠点: 100近いサービス、数千インスタンスがあり、 Dev, Ops, Sec の各組織が分かれている。サービスデリバリの高速化が必要となり、専門の部署が Dev に発足 #awssummit

2018-06-01 14:05:36
kota ishimoto @ishimotty2net

ソニーのプレゼンターの人、癒し系ですね #AWSSummit

2018-06-01 14:06:22
そば太郎 @_sobataro

安心して遊べるようにするためセキュリティも重要。方針として、本当に必要なものだけを作り、極力 AWS のサービスを活用。迷ったら目標に立ち返りつつまずはやってみるスタンスで。 #awssummit

2018-06-01 14:08:28
そば太郎 @_sobataro

インスタンスは分単位の課金、ファンクションは機能が限定的なのでコンテナを採用。2016年時点での判断として、 ECS や k8s などでなく、まずは Docker 化。ログは serverless で収集。 CICD は GitHub の裏で動く、 CodePipeline を中心としたフレームワークを用意 #awssummit

2018-06-01 14:11:09
そば太郎 @_sobataro

アーキテクチャ面は SA からおすすめされて Well-Architected Framework に従う。環境構成の注意として、ステージング環境と本番環境の違いをインスタンス数のみにした。これいいですね。 #awssummit

2018-06-01 14:12:41
そば太郎 @_sobataro

サブネット設計はコンテナを考慮すべき。 IP アドレスが大量に必要になるが、雑にサブネットを大きくすると NAT Gateway 側のぶんさんができなくなる。 #awssummit

2018-06-01 14:13:53
そば太郎 @_sobataro

ホストは AmazonLinux を利用し、単一の ECS クラスタにまとめる。 ECS Task は全サービスでリソース設定を共通化して管理を容易に。ミドルウェアのスレッド数やコネクション数など、細かいメトリクスもとって CloudWatch で収集 #awssummit

2018-06-01 14:15:43
そば太郎 @_sobataro

CICD: Pull Request, Push, Release の3種類のパイプラインを用意。 Git flow でうまく動くように、主要ブランチごとにパイプラインを作成。 #awssummit

2018-06-01 14:16:51
Typhon(テポ)/ShunYoshie✡0302jawsdays @Typhon666_death

ソニーの人「awsさん、ちょっとUIよわいんじゃないですか」 なんかわかりみ #awssummit

2018-06-01 14:18:01
そば太郎 @_sobataro

サービスデリバリについて。 Dev の人と Ops の人はニーズが異なるので、ステージング環境と本番環境で別々のデプロイツールを利用。本番では独自実装の、信頼性・ガバナンス重視のツールを開発。 #awssummit

2018-06-01 14:18:13
そば太郎 @_sobataro

進め方としては、はじめに Haste 本体を開発したのち、 Test Bed で社内向けサービスを移行して検証。つづいて本番環境のすでに動いている環境を移行し、最後に新規開発を Haste native に切り替え。 native が最後なのは、既存環境の切り替えであれば切り戻しも容易なため。 #awssummit

2018-06-01 14:19:40
そば太郎 @_sobataro

DevOpsSec の役割分担について、最初は Dev から用意したが、じょじょに Ops の人にも入ってもらった。とくに Docker 導入により Dev と Ops の境界が複雑・曖昧になるので、多くの人を巻き込んで議論した。 #awssummit

2018-06-01 14:20:58
MIYA @kmiya_bbm

ソニーさんのセッション、まずはコンテナ化してそれからコンテナ運用の最適化、とか、本番をコンテナに切り替えてからネイティブ開発コンテナ化、みたいな進め方本当に参考になる。 話し方も上手いなぁ #awssummit

2018-06-01 14:21:04
そば太郎 @_sobataro

セキュリティ面は難しいが、 DevOpsSec + AWS の人すべてを最初から巻き込んだおかげでうまくいった。 #awssummit

2018-06-01 14:24:27
そば太郎 @_sobataro

スクラムチーム向けの学習コストを下げるツール開発やハンズオンを実施したり。 #awssummit

2018-06-01 14:26:15
そば太郎 @_sobataro

移行について。ステージングからはじめて本番環境へ。本番環境については、移行手順の準備とレビュー、余裕のあるサイジング、エラー監視・性能監視、切り戻し手順の整備など。トラブルはあったがユーザに影響のある問題はなかった #awssummit

2018-06-01 14:28:23
kota ishimoto @ishimotty2net

淡々と喋ってるけどプレイステーションネットワークぐらいの規模で基盤変更は胃がやられるぐらいのプレッシャーじゃないだろうか。。すごい。。 #awssummit

2018-06-01 14:30:04
そば太郎 @_sobataro

以上により、ステージング環境へのデプロイが1日から20分に短縮。本番環境のデプロイも従来比2.5倍速に。サービスの起動も分単位→秒単位に。とくにステージング環境の高速化は Dev にとってめちゃくちゃ大きな変化ですね。 #awssummit

2018-06-01 14:30:09
そば太郎 @_sobataro

Docker やコンテナへの取り組みで、エンジニアの輪が広がり、楽しんだり、面倒な部分を自動化するツールを作ってくれたり。 #awssummit

2018-06-01 14:31:09