Slide 1

Slide 1 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Amazon EKSで構築する社内PaaS ج൫νʔϜ Ryo AWS Summit Tokyo 2019 ɹɹ Startup Central BtoB SaaS Day 2019/6/12

Slide 2

Slide 2 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. #AWSJP_Startup イベントハッシュタグ

Slide 3

Slide 3 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Ryo / @3s_hv ➤ 株式会社マツリカ 
  基盤チーム / Engineer PR ➤ 最近の流⾏ → キャッシュレス ➤ 技術書典 → 累計1千部
  “物語でわかる○○” ➤ 転職系勉強会の主催etc https://blog.vtryo.me illustration by 湊川あい

Slide 4

Slide 4 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. スライドは後で公開します @3s_hv Twitterにて

Slide 5

Slide 5 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 株式会社マツリカ

Slide 6

Slide 6 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 世界を祭り化する 私達が⽬指す"祭り化"とは 「⼈々が夢中になり、充実感や達成感に満ち満ちた」状態だ。

Slide 7

Slide 7 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。

Slide 8

Slide 8 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。

Slide 9

Slide 9 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。

Slide 10

Slide 10 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。

Slide 11

Slide 11 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 営業をもっと⾃由に、もっと創造的に。

Slide 12

Slide 12 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Agenda ➤ Sensesを⽀える技術 ➤ わたしたち基盤チームが実現したい世界観 ➤ なぜAmazon EKSを採⽤したのか ➤ 社内PaaSの構成 ➤ Tips ➤ 今後の展望

Slide 13

Slide 13 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Sensesを⽀える技術

Slide 14

Slide 14 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Sensesを⽀える技術

Slide 15

Slide 15 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Sensesを⽀える技術

Slide 16

Slide 16 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. わたしたち基盤チームには 実現したい世界観がある

Slide 17

Slide 17 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ビジネスの意思決定者が
 Sensesの機能リリースを実施する

Slide 18

Slide 18 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤営業⽀援ツールのため、⾃社メンバーが実際に営業 活動をしながらドッグフーディングしている ➤顧客へ届けるレベル感かどうかは、彼らが⼀番知っ ている ビジネスの意思決定者が
  Sensesの機能リリースを実施してもらいたい理由

Slide 19

Slide 19 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ビジネスの意思決定者が
 Sensesの機能リリースを実施する

Slide 20

Slide 20 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. どうやって実現するのか

Slide 21

Slide 21 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤低リスクでリリースできる環境 ➤開発成果物を継続的にデリバリする環境 ➤開発者がより⾼速に開発できる環境 ビジネスの意思決定者が  Sensesの機能リリース可能になるための最初の⼀歩

Slide 22

Slide 22 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤低リスクでリリースできる環境 ➤開発成果物を継続的にデリバリする環境 ➤開発者がより⾼速に開発できる環境 改善の余地あり ビジネスの意思決定者が  Sensesの機能リリース可能になるための最初の⼀歩

Slide 23

Slide 23 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. MutableからImutableへ

Slide 24

Slide 24 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ “AWS Opsworks スタック” に依存している ➤ Mutable Infrastructure ➤ 事業拡⼤→⼈材増加→開発環境の不⾜(使⽤者希望が競合する) ➤ (それでも⾜りないエンジニア) ボトルネック

Slide 25

Slide 25 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 簡易構成図 ➤ Opsworksによる構築、Deploy ➤ そもそも5年前の創業期から
 変更されていない ➤ Stackによって失敗したりする ➤ 詳細なログを出してくれない… ➤ 構成変更に時間がかかる(停⽌も⻑い) ➤ Chef ➤ 毎回Setupコマンド待ち ➤ ローカル開発環境はDockerなんだけど…


Slide 26

Slide 26 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 簡易構成図 ➤ Opsworksによる構築、Deploy ➤ そもそも5年前の創業期から
 変更されていない ➤ Stackによって失敗したりする ➤ 詳細なログを出してくれない… ➤ 構成変更に時間がかかる(停⽌も⻑い) ➤ Chef ➤ 毎回Setupコマンド待ち ➤ ローカル開発環境はDockerなんだけど…
 つらい AWSさんごめんなさい

Slide 27

Slide 27 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 簡易構成図 ➤ Opsworksによる構築、Deploy ➤ そもそも5年前の創業期から
 変更されていない ➤ Stackによって失敗したりする ➤ 詳細なログを出してくれない… ➤ 構成変更に時間がかかる(停⽌も⻑い) ➤ Chef ➤ 毎回Setupコマンド待ち ➤ ローカル開発環境はDockerなんだけど…
 どんなシステムも アップデートしなければ古くなるもの

Slide 28

Slide 28 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 簡易構成図 ➤ Opsworksによる構築、Deploy ➤ そもそも5年前の創業期から
 変更されていない ➤ Stackによって失敗したりする ➤ 詳細なログを出してくれない… ➤ 構成変更に時間がかかる(停⽌も⻑い) ➤ Chef ➤ 毎回Setupコマンド待ち ➤ ローカル開発環境はDockerなんだけど…
 今がそのとき

Slide 29

Slide 29 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Imutableへ

Slide 30

Slide 30 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. わたしたちはAmazon EKSを採⽤した

Slide 31

Slide 31 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Amazon EKSは理想実現への1st Step

Slide 32

Slide 32 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Amazon EKSは現在のボトルネックを解消できる

Slide 33

Slide 33 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Opsworksから脱却し 開発環境を増強する

Slide 34

Slide 34 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境を かんたんに・すぐに・⾃分で 構築できる ➤ エンジニアだけでなく、Notエンジニアメンバー(QAチーム)も ➤ よりカジュアルに・柔軟に 開発環境を増やせる Amazon EKSで創るこれからのSenses基盤

Slide 35

Slide 35 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境を かんたんに・すぐに・⾃分で 構築できる ➤ エンジニアだけでなく、Notエンジニアメンバー(QAチーム)も ➤ よりカジュアルに・柔軟に 開発環境を増やせる Amazon EKSで創るこれからのSenses基盤 継続的リリース 継続的デリバリ ⾼速開発 柔軟な開発環境

Slide 36

Slide 36 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 開発環境は社内PaaSで提供する

Slide 37

Slide 37 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境の使⽤者がやること ➤ Githubにブランチを作成してPushする ➤ CircleCIで起動したい環境番号を選択する 開発環境は社内PaaSで提供する

Slide 38

Slide 38 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境の使⽤者がやること ➤Githubにブランチを作成してPushする ➤CircleCIで起動したい環境番号を選択する 開発環境は社内PaaSで提供する

Slide 39

Slide 39 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境の使⽤者がやること ➤ Githubにブランチを作成してPushする ➤ CircleCIで起動したい環境を選択する 開発環境は社内PaaSで提供する 以上

Slide 40

Slide 40 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 開発環境の使⽤者がやること ➤ Githubにブランチを作成してPushする ➤ CircleCIで起動したい環境を選択する 開発環境は社内PaaSで提供する ソースコードをPushするだけで 検証⽤の開発環境が起動する

Slide 41

Slide 41 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 開発環境は社内PaaSで提供する

Slide 42

Slide 42 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 何が起こっているのか?

Slide 43

Slide 43 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Amazon EKSの構成図

Slide 44

Slide 44 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. 簡易構成図

Slide 45

Slide 45 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ AWS上には構成図通りのリソースが構築されている ➤ 開発者がソースコードをPushすると… ➤ CircleCIがDocker Buildを開始 ➤ ECRにPush ➤ 定義されたkubernetesテンプレートが
 環境を構築する 何が起こっているのか?

Slide 46

Slide 46 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ AWS上には構成図通りのリソースが構築されている ➤ 開発者がソースコードをPushすると… ➤ CircleCIがDocker Buildを開始 ➤ ECRにPush ➤ 定義されたkubernetesテンプレートが
 環境を構築する 何が起こっているのか? 想像よりも簡単ではないですか?

Slide 47

Slide 47 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ⼀⽅でつらいこともやはりある

Slide 48

Slide 48 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ ローカルで使⽤していたDockerfileはそのまま使えなかった ➤ FQDNʹґଘͨ͠ϦιʔεʢreCAPTCHAͳͲʣ͸ϋʔυίʔτ͞Ε͍ͯΔ ➤ DBͰRDSΛ࢖༻͍ͯ͠ΔͨΊɺ·ͩ͜͜͸Mutableͷ·· ➤ CircleCIでECRやEKSを扱うためのJob設定 ➤ 作成したブランチでDocker Tagを付与し、そのタグ名でPullするひと⼿間 社内PaaS構築までのつらみ

Slide 49

Slide 49 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. しかし、もたらすものは⼤きい

Slide 50

Slide 50 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤ 迅速に開発環境を提供できる ➤ コスト最適化 ➤ 開発環境は増えたが、
 ⺟体となるEC2インスタンスの数は既存よりも減った ➤ 開発環境の操作をCircleCIによる制御に限定することで開発に集中できる 社内PaaSがもたらすもの

Slide 51

Slide 51 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤Amazon EKSの本番環境適⽤ ➤開発者の増員 今後の展開

Slide 52

Slide 52 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. ➤Amazon EKSの本番環境適⽤ ➤開発者の増員 今後の展開

Slide 53

Slide 53 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. We are hiring!! ➤ 株式会社マツリカはあなたが最も⽣産性 を発揮できる場所・時間を尊重します ➤ フルリモートワーカー在籍
 (北海道、栃⽊、岐⾩、⼤阪、兵庫、 ⾹川、沖縄、ベトナム) ➤ フレックスコアタイムなし

Slide 54

Slide 54 text

 © 株式会社マツリカ ∕ mazrica, inc. - All Rights Reserved. Amazon EKSで構築する社内PaaS ج൫νʔϜ Ryo AWS Summit Tokyo 2019 ɹɹ Startup Central BtoB SaaS Day 2019/6/12 ׬