Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Technology selection for scalability with small team

Technology selection for scalability with small team

Gunosy Beer#2にて。

y_matsuwitter

March 25, 2016
Tweet

More Decks by y_matsuwitter

Other Decks in Technology

Transcript

  1. 2 ©Gunosy Inc. ⾃自⼰己紹介 n  Gunosy  Inc. –  開発本部執⾏行行役員 n 

    業務 –  開発全般のマネジメント –  Go⾔言語布教係 n  担当 –  右⼿手でiOS、左⼿手でAndroid –  Web –  Infrastructure(AWSのみ) n  最近の興味 –  ViveとOculus製品版買いました 松本  勇気  @y_̲matsuwitter
  2. 3 ©Gunosy Inc. 今⽇日の話 n  背景 –  直⾯面している問題 n  システムをホスティングしない

    –  サーバレスアーキテクチャの話 –  アプリエンジニアとサーバレス n  ビジネスドメインごとにサービスを分ける –  マイクロサービスの採⽤用 –  ⾔言語は障壁にならない 現在の新規プロジェクトで少⼈人数でスケールするために気をつけていること
  3. 5 ©Gunosy Inc. サーバを可能な限り持たない 1 ロジックもコアロジック以外は極⼒力力作らない 3 並⾏行行して開発できるようドメインごとにシステム分割 2 少⼈人数でスケールするために

    n  サーバレスアーキテクチャ –  サーバ運⽤用には⼈人⼿手がかかる n  データストアを⾃自前で作らない –  可能な限りスケールしやすいデータストア選択 n  マイクロサービスの適⽤用 –  サービス間の依存はドキュメントやスタブで吸収 n  ドメインごとに最適な⾔言語・ツールの選定 –  ⾔言語処理理系はPython、配信系はGoなど n  AWSの持つPaaS、SaaSをフル活⽤用 –  Kinesis,  SQS,  SNS,  Cognito,  MobileAnalytics…etc サーバレス  +  マイクロサービスなシステム構成に ⼈人がやる仕事を極限まで減らす必要がある。
  4. 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  
  5. 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   ③それぞれのドメインを   別なリポジトリで並行に開発