AWS Summit Tokyo 2019 Startup Central 2019/6/12
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Amazon EKSで構築する社内PaaSج൫νʔϜ RyoAWS Summit Tokyo 2019ɹɹ Startup Central BtoB SaaS Day 2019/6/12
View Slide
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.#AWSJP_Startupイベントハッシュタグ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Ryo / @3s_hv➤ 株式会社マツリカ 基盤チーム / Engineer PR➤ 最近の流⾏ → キャッシュレス➤ 技術書典 → 累計1千部 “物語でわかる○○”➤ 転職系勉強会の主催etchttps://blog.vtryo.meillustration by 湊川あい
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.スライドは後で公開します@3s_hv Twitterにて
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.株式会社マツリカ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.世界を祭り化する私達が⽬指す"祭り化"とは「⼈々が夢中になり、充実感や達成感に満ち満ちた」状態だ。
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.営業をもっと⾃由に、もっと創造的に。
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Agenda➤ Sensesを⽀える技術➤ わたしたち基盤チームが実現したい世界観➤ なぜAmazon EKSを採⽤したのか➤ 社内PaaSの構成➤ Tips➤ 今後の展望
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Sensesを⽀える技術
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.わたしたち基盤チームには実現したい世界観がある
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.ビジネスの意思決定者が Sensesの機能リリースを実施する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤営業⽀援ツールのため、⾃社メンバーが実際に営業活動をしながらドッグフーディングしている➤顧客へ届けるレベル感かどうかは、彼らが⼀番知っているビジネスの意思決定者が Sensesの機能リリースを実施してもらいたい理由
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.どうやって実現するのか
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤低リスクでリリースできる環境➤開発成果物を継続的にデリバリする環境➤開発者がより⾼速に開発できる環境ビジネスの意思決定者が Sensesの機能リリース可能になるための最初の⼀歩
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤低リスクでリリースできる環境➤開発成果物を継続的にデリバリする環境➤開発者がより⾼速に開発できる環境改善の余地ありビジネスの意思決定者が Sensesの機能リリース可能になるための最初の⼀歩
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.MutableからImutableへ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ “AWS Opsworks スタック” に依存している➤ Mutable Infrastructure➤ 事業拡⼤→⼈材増加→開発環境の不⾜(使⽤者希望が競合する)➤ (それでも⾜りないエンジニア)ボトルネック
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.簡易構成図➤ Opsworksによる構築、Deploy➤ そもそも5年前の創業期から 変更されていない➤ Stackによって失敗したりする➤ 詳細なログを出してくれない…➤ 構成変更に時間がかかる(停⽌も⻑い)➤ Chef➤ 毎回Setupコマンド待ち➤ ローカル開発環境はDockerなんだけど…
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.簡易構成図➤ Opsworksによる構築、Deploy➤ そもそも5年前の創業期から 変更されていない➤ Stackによって失敗したりする➤ 詳細なログを出してくれない…➤ 構成変更に時間がかかる(停⽌も⻑い)➤ Chef➤ 毎回Setupコマンド待ち➤ ローカル開発環境はDockerなんだけど… つらいAWSさんごめんなさい
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.簡易構成図➤ Opsworksによる構築、Deploy➤ そもそも5年前の創業期から 変更されていない➤ Stackによって失敗したりする➤ 詳細なログを出してくれない…➤ 構成変更に時間がかかる(停⽌も⻑い)➤ Chef➤ 毎回Setupコマンド待ち➤ ローカル開発環境はDockerなんだけど… どんなシステムもアップデートしなければ古くなるもの
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.簡易構成図➤ Opsworksによる構築、Deploy➤ そもそも5年前の創業期から 変更されていない➤ Stackによって失敗したりする➤ 詳細なログを出してくれない…➤ 構成変更に時間がかかる(停⽌も⻑い)➤ Chef➤ 毎回Setupコマンド待ち➤ ローカル開発環境はDockerなんだけど… 今がそのとき
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Imutableへ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.わたしたちはAmazon EKSを採⽤した
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Amazon EKSは理想実現への1st Step
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Amazon EKSは現在のボトルネックを解消できる
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Opsworksから脱却し開発環境を増強する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境を かんたんに・すぐに・⾃分で 構築できる➤ エンジニアだけでなく、Notエンジニアメンバー(QAチーム)も➤ よりカジュアルに・柔軟に 開発環境を増やせるAmazon EKSで創るこれからのSenses基盤
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境を かんたんに・すぐに・⾃分で 構築できる➤ エンジニアだけでなく、Notエンジニアメンバー(QAチーム)も➤ よりカジュアルに・柔軟に 開発環境を増やせるAmazon EKSで創るこれからのSenses基盤継続的リリース継続的デリバリ⾼速開発柔軟な開発環境
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.開発環境は社内PaaSで提供する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境の使⽤者がやること➤ Githubにブランチを作成してPushする➤ CircleCIで起動したい環境番号を選択する開発環境は社内PaaSで提供する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境の使⽤者がやること➤Githubにブランチを作成してPushする➤CircleCIで起動したい環境番号を選択する開発環境は社内PaaSで提供する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境の使⽤者がやること➤ Githubにブランチを作成してPushする➤ CircleCIで起動したい環境を選択する開発環境は社内PaaSで提供する以上
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 開発環境の使⽤者がやること➤ Githubにブランチを作成してPushする➤ CircleCIで起動したい環境を選択する開発環境は社内PaaSで提供するソースコードをPushするだけで検証⽤の開発環境が起動する
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.何が起こっているのか?
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Amazon EKSの構成図
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.簡易構成図
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ AWS上には構成図通りのリソースが構築されている➤ 開発者がソースコードをPushすると…➤ CircleCIがDocker Buildを開始➤ ECRにPush➤ 定義されたkubernetesテンプレートが 環境を構築する何が起こっているのか?
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ AWS上には構成図通りのリソースが構築されている➤ 開発者がソースコードをPushすると…➤ CircleCIがDocker Buildを開始➤ ECRにPush➤ 定義されたkubernetesテンプレートが 環境を構築する何が起こっているのか?想像よりも簡単ではないですか?
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.⼀⽅でつらいこともやはりある
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ ローカルで使⽤していたDockerfileはそのまま使えなかった➤ FQDNʹґଘͨ͠ϦιʔεʢreCAPTCHAͳͲʣϋʔυίʔτ͞Ε͍ͯΔ➤ DBͰRDSΛ༻͍ͯ͠ΔͨΊɺ·ͩ͜͜Mutableͷ··➤ CircleCIでECRやEKSを扱うためのJob設定➤ 作成したブランチでDocker Tagを付与し、そのタグ名でPullするひと⼿間社内PaaS構築までのつらみ
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.しかし、もたらすものは⼤きい
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤ 迅速に開発環境を提供できる➤ コスト最適化➤ 開発環境は増えたが、 ⺟体となるEC2インスタンスの数は既存よりも減った➤ 開発環境の操作をCircleCIによる制御に限定することで開発に集中できる社内PaaSがもたらすもの
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.➤Amazon EKSの本番環境適⽤➤開発者の増員今後の展開
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.We are hiring!!➤ 株式会社マツリカはあなたが最も⽣産性を発揮できる場所・時間を尊重します➤ フルリモートワーカー在籍 (北海道、栃⽊、岐⾩、⼤阪、兵庫、⾹川、沖縄、ベトナム)➤ フレックスコアタイムなし
© 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved.Amazon EKSで構築する社内PaaSج൫νʔϜ RyoAWS Summit Tokyo 2019ɹɹ Startup Central BtoB SaaS Day 2019/6/12