GCP Compute 概要と選定 / DevFest Tokyo 2018

0e797080b64e6b03ed00964cf69b5058?s=47 Masahiro Wakame
September 01, 2018

GCP Compute 概要と選定 / DevFest Tokyo 2018

0e797080b64e6b03ed00964cf69b5058?s=128

Masahiro Wakame

September 01, 2018
Tweet

Transcript

  1. GCP Compute 概要と選定 DevFest Tokyo 2018 わかめ まさひろ クラウド初⼼心者向け!

  2. わかめ まさひろ @v vakame Masahiro Wakame GAE/Go TypeScript 技術書典

  3. 本⽇日のテーマ •GCPのサービスをいくつか紹介 •これからGCPを始める⼈向け(初級) •クラウド、やっていきます! 始めた後に後悔悔しない!

  4. クラウド⼼心得 あなたもアプリも 変わるともっと幸せ

  5. クラウドとは •⾃分で何もかも管理するの だる… •追加リソースの調達が秒でできる •管理を外部(Googleとか)にやってもらう •システムの価値増⼤に注⼒できる! セキュリティ周りも仕組み多数

  6. 可⽤用性について •スケールアップɾダウン → •1台が強くても限界が来るし運⽤⾟い •スケールアウトɾイン→ •台数の増減で対応のほうが運⽤が楽 SpinUp, SpinDown

  7. 可⽤用性について •DBボトルネック問題 •マスターがスケールしない問題 •Cloud SQL(MySQL)でよくある •分散データベース → 可能であればこっち

  8. 分散処理理に慣れる •クラウド ≒ 分散処理 (縛ると不便) •いつマシンが増えるかわからん •いつマシンが減るかわからん •状態をメモリにだけ持つと死ぬ!! •ある時突然死ぬ (ことを許容すると安い)

    graceful shutdown…
  9. 分散処理理に慣れる Load Balancer どのサーバに⾏行行くかわからん!

  10. 適材適所 •特性を知れば知るほど上⼿にできる •特性≒⾧所と短所 •短所(秘孔)を突く=まもなく死ぬ •有識者に相談する=コスパ良

  11. IaaS, PaaS, SaaS •IaaS = Infrastructure as a Service •PaaS

    = Platform as a Service •SaaS = Software as a Service 柔軟 運⽤用⼤大変 不不⾃自由 運⽤用楽
  12. チームと組織の話 •組織構造から逆算して設計を決める •Microservice vs Monolith •Monolithでもクラウドの恩恵⼤!

  13. ⾦金金 •cloud.google.com/products/calculator/ •計算してみましょう •youtu.be/TaO-GbvBonc •Pokemon Go Datastore→Spanner 50%減 Spanner最⼩小推奨構成⽉月額22万円くらい

  14. 略略語⼀一覧

  15. GCP = Google Cloud Platform, GAE = Google App Engine,

    CF = Cloud Functions, GCE = Google Compute Engine, GKE = Google Kubernetes Engine, k8s = Kubernetes, BQ = BigQuery, GCS = Google Cloud Storage, GCB = Google Cloud Build, ML = Machine Learning, TF = TensorFlow, IAM = Identity & Access Management, VPC = Virtual Private Cloud, IAP = Identity-Aware Proxy, GCLB = Google Cloud Load Balancing
  16. サービス概要 cloud.google.com/docs/choosing-a-compute-option

  17. Google App Engine AppEngine, GAE

  18. メリット •Webアプリ構築に便利 •管理いらずメンテいらず⼿間いらず •⾃動でスケール •⾼速なスピンアップ(起動) •100msとかで1台確保できる(Goの場合)

  19. メリット •Service, Versionの概念がある •リリースのロールバックも容易 •専⽤Managedサービスがある •→最近は是正の動きがある •⼩さいチーム、運営に向いている

  20. デメリット •固定IPアドレス使えない •GCEにProxy⽴てたりして対処 •好きなツールをインストールできない •Java, Python, Node.js で緩和(2nd gen) AppEngineに魂がロックイン

  21. 実は2種類類ある •Standard Environment (SE) •⾃由度は少ない SpinUp⾼速! •Flexible Environment (FE) •裏でGCEが⽴ち上がる

    SpinUpは遅い SEだけがAppEngineです(過激派
  22. Google Kubernetes Engine GKE

  23. メリット •Kubernetes関連システム⼀式 •コンテナオーケストレーション •複数アプリ、Microserviceなんでもござれ •やりたいこと全部できる…!(かも?

  24. メリット •Load BalancerなどGCPフル活⽤ •GKE On-prem の登場… •オンプレミスにNode pool作れるやつ •実践できてる企業さん、おる?

  25. デメリット •まだOSSとして発展途上 •運⽤チームがいないと⾟い •要求される勉強量が単純に多い •Spinnaker, Envoy, Istio etc, etc…

  26. Google Compute Engine GCE

  27. メリット •素のVirtual Machine相当 •⾃分でなんもかんも管理運⽤する必要 •Docker imageそのまま動かしたりも… •APIで上げ下げできるのでbare metalより はマシ

  28. デメリット •⾃分で管理しないといけない(時も) •OSのパッチ管理とかも… •基本何らかの抽象化があったほうが… •GAE/FE, Dataflow, etc…

  29. Cloud Functions CF(稀)

  30. メリット •イベント処理を捌くのが主な⽤途 •アプリリクエストの処理はちょっと微妙 •単機能ɾ管理不要 •Node.js v8, Python 3.7 に対応 •AppEngineとは課⾦形態が違う

  31. デメリット •単⼀関数がデプロイ単位 •アプリの構成には向かない •関数有りすぎ問題 •ていうかAppEngineでよくね? と信者が申しております

  32. Firebase Hosting Firebaseと略略しては いけない…(他にも⾊色々

  33. メリット •ファイルホストできる •redirectとかの設定ちょろちょろ書ける •Web frontendの⼈はこれで満⾜では? •Netlify, GitHub Pages…

  34. デメリット •サーバ上で計算はできない •CFに投げるかAppEngine使うか… お⼿手軽!

  35. CF for Firebase •Cloud Functions for Firebase •CFとは微妙に異なる •デプロイに使うツールも違う •Firebase関連機能を使うならこっち

  36. 体験するには?

  37. Codelabs •各プロダクトのQuickStart的なの •codelabs.developers.google.com

  38. お⼿手軽フローチャート ざっくりわかる!

  39. VMだけあればいい?

  40. VMだけあればいい? Compute Engine Yes! No…

  41. 運⽤チームが作れる?

  42. 運⽤チームが作れる? Kubernetes Engine Yes! No…

  43. 特殊なことがやりたい?

  44. 特殊なことがやりたい? Kubernetes Engine Yes… No!

  45. ファイルをホストするだけ?

  46. ファイルをホストするだけ? Firebase Hosting Yes! No… AppEngine

  47. イベントを捌きたい?

  48. イベントを捌きたい? Cloud Functions Yes! No…

  49. AppEngineだと達成できない?

  50. AppEngineだと達成できない? Kubernetes Engine Yes… No!

  51. よろしいならばAppEngineだ GCPの他のサービスと 組み合わせ可能か調べよう!

  52. もっと詳しく?

  53. GCPUG •GCP User Group •gcpug-tokyo.connpass.com •slack.gcpug.jp •github.com/gcpug/nouhau

  54. この後のGCPセッション •apstndb ←GCPマニア •sinmetal ←GCP⽣き字引 •Kuma ←コンテナ(GKE)おじさん •永井 洋⼀ ←データ処理おじさん

    • 〃 ←機械学習おじさん
  55. この後のGCPセッション •11:20- GCPのデータベースストレージ •12:50- Cloud Kata •13:30- Container (タイトル雑では?) •14:10-

    GCPでつくるデータ処理パイプライン •14:50- Auto ML Overview
  56. None