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

GKEを使った開発における継続的デリバリー@オレシカナイト

 GKEを使った開発における継続的デリバリー@オレシカナイト

Wataru Fukunaga

July 13, 2018
Tweet

More Decks by Wataru Fukunaga

Other Decks in Programming

Transcript

  1. $0/5&/54 01.  事業紹介                

              02.  システム概要 03.  継続的デリバリー 04.  課題と展望
  2. ς Ϩ Ϗ ே ೔ ใ ಓ ہ ͕ ੍

    ࡞ ͢ Δ Φ Ϧ δ φ ϧ χ ϡ ʔ ε Λ ์ ૹ
  3. Φ Ϧ δ φ ϧ ͷ ੜ ์ ૹ ൪

    ૊ ΍   ࣌ ؒ ີ ண ͳ Ͳ ͷ ಛ ผ ൪ ૊ Λ ์ ૹ
  4. GKE: prd-vaga-tracking GKE: prd-vega Pub/Sub Ad MongoDB GCE L4 Load

    Balancer L4 Load Balancer L7 Load Balancer L4 Load Balancer DMP BigQuery Jupiter BigQuery L7 Load Balancer           user  client   abema-media-proxy GKE: prd-abema east1 Patriot BigQuery asia-­‐northeast1     asia-­‐east1     global-­‐resource     abema-admin abema-media Zero Deployments Jupiter Deployments SSP Deployments DMP Deployments Token Deployments Nginx/Tracking Deployments Recovery GCS SSP CloudSQL Zero CloudSQL Zero BigTable DMP Dataflow DMP GCS AD Deployments DMP CloudSQL DMP BigTable Tracking BigTable Ganymedes CloudSQL Ad-track GCS Callisto CloudSQL Ad-track Dataflow abema-gateway (cluster-api) Admin Deployments L7 Load Balancer         operator   ޮՌଌఆϩά   VAST   ClusterҰཡ   ClusterID    広告システム
  5. GKE: prd-vaga-tracking GKE: prd-vega Pub/Sub Ad MongoDB GCE L4 Load

    Balancer L4 Load Balancer L7 Load Balancer L4 Load Balancer DMP BigQuery Jupiter BigQuery L7 Load Balancer           user  client   abema-media-proxy GKE: prd-abema east1 Patriot BigQuery asia-­‐northeast1     asia-­‐east1     global-­‐resource     abema-admin abema-media Zero Deployments Jupiter Deployments SSP Deployments DMP Deployments Token Deployments Nginx/Tracking Deployments Recovery GCS SSP CloudSQL Zero CloudSQL Zero BigTable DMP Dataflow DMP GCS AD Deployments DMP CloudSQL DMP BigTable Tracking BigTable Ganymedes CloudSQL Ad-track GCS Callisto CloudSQL Ad-track Dataflow abema-gateway (cluster-api) Admin Deployments L7 Load Balancer         operator   ޮՌଌఆϩά   VAST   ClusterҰཡ   ClusterID    広告システム 2つのリージョン 2つのGKEクラスタ 様々なDBとミドルウェア 6つのLB
  6. 継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test

    Prd   deploy ConFnuous  IntegraFon ConFnuous  Deployment
  7. 継続的デリバリーとは Commit Build Unit   test Dev・Stg   Deploy Test

    Prd   deploy ConFnuous  IntegraFon ConFnuous  Delivery ConFnuous  Deployment CD
  8. Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy

    Test Prd   deploy ConFnuous  IntegraFon Githubを使った開発 ⾔言語はGolang、Scala、少しだけRがあります。
  9. Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy

    Test Prd   deploy ConFnuous  IntegraFon GithubのPushをフックしてビルド CIツールとしてはDroneを利利⽤用
  10. Continuous  Integration Commit Build Unit   test Dev・Stg   Deploy

    Test Prd   deploy ConFnuous  IntegraFon Unit  testもDroneでビルドするタイミングで実⾏行行
  11. Continuous  Delivery Commit Build Unit   test Dev・Stg   Deploy

    Test Prd   deploy ConFnuous  Delivery 各開発環境へのデプロイはChatOpsで⾏行行います Slackのbotを⾃自作しています。
  12. Continuous  Delivery Commit Build Unit   test Dev・Stg   Deploy

    Test Prd   deploy ConFnuous  Delivery CD 本番発環境へのデプロイもChatOpsで⾏行行います
  13. E2Eテスト Commit Build Unit   test Dev・Stg   Deploy Test

    Prd   deploy ConFnuous  Delivery いわゆる結合テストの部分が完全に⼿手動 できる限り⾃自動化したい
  14. Droneって不不安 Commit Build Unit   test Dev・Stg   Deploy Test

    Prd   deploy ConFnuous  IntegraFon 安くていいマネージドに変えたい Google  Cloud  Container  Builder?