Slide 1

Slide 1 text

少⼈人数でスケールしたいがための 技術選択にまつわるエトセトラ Gunosy  Inc. 2016.03 @y_̲matsuwitter

Slide 2

Slide 2 text

2 ©Gunosy Inc. ⾃自⼰己紹介 n  Gunosy  Inc. –  開発本部執⾏行行役員 n  業務 –  開発全般のマネジメント –  Go⾔言語布教係 n  担当 –  右⼿手でiOS、左⼿手でAndroid –  Web –  Infrastructure(AWSのみ) n  最近の興味 –  ViveとOculus製品版買いました 松本  勇気  @y_̲matsuwitter

Slide 3

Slide 3 text

3 ©Gunosy Inc. 今⽇日の話 n  背景 –  直⾯面している問題 n  システムをホスティングしない –  サーバレスアーキテクチャの話 –  アプリエンジニアとサーバレス n  ビジネスドメインごとにサービスを分ける –  マイクロサービスの採⽤用 –  ⾔言語は障壁にならない 現在の新規プロジェクトで少⼈人数でスケールするために気をつけていること

Slide 4

Slide 4 text

4 ©Gunosy Inc. 背景 時間も⼈人も少ない中で⼯工夫していく必要がある n  2016年年夏にはサービスインの予定 –  プロジェクトとしては⽐比較的⼤大規模 n  開発のコアチームは5名 –  全員が領領域超えて開発 KDDIさんとの連携で新規にサービス開発を開始

Slide 5

Slide 5 text

5 ©Gunosy Inc. サーバを可能な限り持たない 1 ロジックもコアロジック以外は極⼒力力作らない 3 並⾏行行して開発できるようドメインごとにシステム分割 2 少⼈人数でスケールするために n  サーバレスアーキテクチャ –  サーバ運⽤用には⼈人⼿手がかかる n  データストアを⾃自前で作らない –  可能な限りスケールしやすいデータストア選択 n  マイクロサービスの適⽤用 –  サービス間の依存はドキュメントやスタブで吸収 n  ドメインごとに最適な⾔言語・ツールの選定 –  ⾔言語処理理系はPython、配信系はGoなど n  AWSの持つPaaS、SaaSをフル活⽤用 –  Kinesis,  SQS,  SNS,  Cognito,  MobileAnalytics…etc サーバレス  +  マイクロサービスなシステム構成に ⼈人がやる仕事を極限まで減らす必要がある。

Slide 6

Slide 6 text

6 ©Gunosy Inc. サーバレスアーキテクチャを⽀支える技術 AWSのサービス群をフル活⽤用、イベント・ドリブンなシステム Amazon   Kinesis   Amazon  EMR   Amazon   Cognito   Amazon   SNS   mobile client Amazon   SQS   Gateway   API   各種データの送付 アクセス⽤用の Credential取得 イベントの受取 各種データ処理理 各種 Worker   Amazon   RDS   Amazon   DynamoDB   Elas@csearch   Amazon   S3   AWS   Lambda  

Slide 7

Slide 7 text

7 ©Gunosy Inc. マイクロサービスによる並⾏行行開発 SwaggerでAPI定義記述、各メンバーで並⾏行行してAPIを埋めていく ①API  Document作成 mobile client Gateway   API   Business   DomainA   Business   DomainB   DatastoreA   DatastoreB   Client   Side   ②クライアントサイドで   直接叩くAPIまで開発 Server   Side  A   Server   Side  B   ③それぞれのドメインを   別なリポジトリで並行に開発

Slide 8

Slide 8 text

8 ©Gunosy Inc. とはいえ

Slide 9

Slide 9 text

9 ©Gunosy Inc. もっと仲間が欲しい

Slide 10

Slide 10 text

10 ©Gunosy Inc.

Slide 11

Slide 11 text

11 ©Gunosy Inc. iOS  /  Android  /  サーバサイド エンジニア募集中!