Cloud Functions in Go at Mercari

8238c3c0be55b887aa9d6d59bfefa504?s=47 BABAROT
July 13, 2019

Cloud Functions in Go at Mercari

8238c3c0be55b887aa9d6d59bfefa504?s=128

BABAROT

July 13, 2019
Tweet

Transcript

  1. 3.
  2. 4.
  3. 17.
  4. 38.

    VM/Container Serverless •好きなだけ/好きなようにスケールできる •ベンダー依存がなくポータビリティがある •要件に合わせて実行環境を変更できる •実行はベアメタルほど高速に動作しないが ビルド・テスト・デプロイのサイクルを開発者 に移譲できるので高速に開発できる Containers vs

    Severless •関数の呼び出しのたびに起動され課金され るのでアイドル時間のコストを抑えられる •インフラやリソースを管理しなくてよく、
 コードを書くことだけに集中できる •テクノロジがブラックボックス •ベンダー依存でありロックインされる可能性 もある
  5. 42.

    Background function Two ways to Go HTTP function HTTPリクエストによって呼び出される関数
 標準ライブラリのhttp.HandlerFunc型に従う

    イベントに応答して起動される関数
 e.g. Cloud Storageバケットのコンテンツが
 変更されたとき
  6. 43.

    Background function Two ways to Go HTTP function HTTPリクエストによって呼び出される関数
 標準ライブラリのhttp.HandlerFunc型に従う

    イベントに応答して起動される関数
 e.g. Cloud Storageバケットのコンテンツが
 変更されたとき
  7. 46.

    Background function Two ways to Go HTTP function HTTPリクエストによって呼び出される関数
 標準ライブラリのhttp.HandlerFunc型に従う

    イベントに応答して起動される関数
 e.g. Cloud Storageバケットのコンテンツが
 変更されたとき
  8. 56.

    microservices-kubernetes Number of deploys Collector 1. call 2. trigger POST

    /deploys HTTP request マイクロサービスごとのKubernetes
 マニフェストを管理するリポジトリ
  9. 57.

    microservices-kubernetes Number of deploys Collector 1. call 2. trigger POST

    /deploys HTTP request マイクロサービスごとのKubernetes
 マニフェストを管理するリポジトリ 3. produce
  10. 58.

    microservices-kubernetes Number of deploys Collector 1. call 2. trigger POST

    /deploys HTTP request マイクロサービスごとのKubernetes
 マニフェストを管理するリポジトリ 3. produce 4. export
  11. 59.

    microservices-kubernetes Number of deploys Collector 1. call 2. trigger POST

    /deploys HTTP request マイクロサービスごとのKubernetes
 マニフェストを管理するリポジトリ 3. produce 4. export devstats.deploys env service corp tool kubectl
  12. 60.

    Spinnaker webhook Number of deploys Collector 1. call 2. trigger

    POST /deploys HTTP request 3. produce 4. export devstats.deploys env service corp tool Kubernetesリソースを
 GUI経由で扱えるコンポーネント spinnaker
  13. 64.

    Cloud Scheduler Cloud Pub/Sub Number of developers Collector 1. message

    2. trigger microservices-terraform マイクロサービスごとの開発者
 を定義したTerraformリポジトリ
  14. 65.

    Cloud Scheduler Cloud Pub/Sub Number of developers Collector 1. message

    2. trigger microservices-terraform 3. produce マイクロサービスごとの開発者
 を定義したTerraformリポジトリ
  15. 66.

    Cloud Scheduler Cloud Pub/Sub Number of developers Collector 1. message

    2. trigger microservices-terraform 3. produce 4. export マイクロサービスごとの開発者
 を定義したTerraformリポジトリ
  16. 67.

    Cloud Scheduler Cloud Pub/Sub Number of developers Collector 1. message

    2. trigger microservices-terraform マイクロサービスごとの開発者
 を定義したTerraformリポジトリ 3. produce 4. export devstats.developers env service corp
  17. 82.