Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

IaaS, PaaS, SaaS •IaaS = Infrastructure as a Service •PaaS = Platform as a Service •SaaS = Software as a Service 柔軟 運⽤用⼤大変 不不⾃自由 運⽤用楽

Slide 12

Slide 12 text

チームと組織の話 •組織構造から逆算して設計を決める •Microservice vs Monolith •Monolithでもクラウドの恩恵⼤!

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

略略語⼀一覧

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

サービス概要 cloud.google.com/docs/choosing-a-compute-option

Slide 17

Slide 17 text

Google App Engine AppEngine, GAE

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

実は2種類類ある •Standard Environment (SE) •⾃由度は少ない SpinUp⾼速! •Flexible Environment (FE) •裏でGCEが⽴ち上がる SpinUpは遅い SEだけがAppEngineです(過激派

Slide 22

Slide 22 text

Google Kubernetes Engine GKE

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Google Compute Engine GCE

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Cloud Functions CF(稀)

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

体験するには?

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

VMだけあればいい?

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

運⽤チームが作れる?

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

特殊なことがやりたい?

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

イベントを捌きたい?

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

AppEngineだと達成できない?

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

もっと詳しく?

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

この後のGCPセッション •11:20- GCPのデータベースストレージ •12:50- Cloud Kata •13:30- Container (タイトル雑では?) •14:10- GCPでつくるデータ処理パイプライン •14:50- Auto ML Overview

Slide 56

Slide 56 text

No content