Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
GCP Compute 概要と選定 / DevFest Tokyo 2018
Masahiro Wakame
September 01, 2018
Technology
12
1.4k
GCP Compute 概要と選定 / DevFest Tokyo 2018
https://gdg-tokyo.connpass.com/event/95307/
Masahiro Wakame
September 01, 2018
Tweet
Share
More Decks by Masahiro Wakame
See All by Masahiro Wakame
DatastoreからSpannerに 移行したいぞ途中編 / migrate Datastore to Spanner in progress
vvakame
0
500
Google Cloud Next 2019 わくわく報告会 / Google Cloud Next 2019 WakuWaku Report
vvakame
1
380
メルカリ社員100人に聞いたGoLandの使い方 / JetBrains Night Tokyo 2018
vvakame
26
12k
OSS入門 世界に参加する最初のひと押し / OSS first step
vvakame
7
600
GoでGraphQLサーバを立てるぞ! / Building GraphQL server by go
vvakame
15
4.1k
『Re:VIEW+CSS組版やっていき』を やった話とWebエンジニアが期待する未来 / CSS Publishinng for Web Developers
vvakame
3
7.8k
go.mercari.io/datastore はいいぞ! / go.mercari.io/datastore is pretty good!
vvakame
4
830
最強のDatastoreライブラリを作った / golang.tokyo #11
vvakame
3
8.7k
GAE/Go 1.8化の話題とnouhauの話 / yappari appengine ja night #2
vvakame
0
610
Other Decks in Technology
See All in Technology
Laravel.shibuyaで改善してきた IRT勉強会の運営方法について / IRT Study Session Improved Through Laravel Shibuya
fendo181
0
150
Empath Company Deck
empathpr
1
190
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
250
GeoLocationAnchor and MKTileOverlay
toyship
0
110
データ分析で切り拓け! エンジニアとしてのデータ分析職キャリア戦略
ksnt
0
190
MRTK3 - DataBinding and Theming 入門
futo23
0
240
SlackBotで あらゆる業務を自動化。問い合わせ〜DevOpsまで #CODT2022
kogatakanori
0
1.1k
Introduction to MLOps
asei
8
1.4k
雑な攻撃からELBを守る一工夫 +おまけ / Know-how to protect servers from miscellaneous attacks
hiroga
0
760
6gram to MIXI M / 6gram から MIXI M へ 〜2年間の軌跡〜
ryosan470
2
130
What's new in Vision
satotakeshi
0
220
アーキテクチャを明文化して開発に臨んだ話
akkie76
0
360
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
Statistics for Hackers
jakevdp
781
210k
GraphQLの誤解/rethinking-graphql
sonatard
28
6.6k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
The Cult of Friendly URLs
andyhume
68
4.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
950
Designing for Performance
lara
597
63k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
Happy Clients
brianwarren
89
5.6k
Learning to Love Humans: Emotional Interface Design
aarron
261
37k
Typedesign – Prime Four
hannesfritz
34
1.4k
Product Roadmaps are Hard
iamctodd
34
6.6k
Transcript
GCP Compute 概要と選定 DevFest Tokyo 2018 わかめ まさひろ クラウド初⼼心者向け!
わかめ まさひろ @v vakame Masahiro Wakame GAE/Go TypeScript 技術書典
本⽇日のテーマ •GCPのサービスをいくつか紹介 •これからGCPを始める⼈向け(初級) •クラウド、やっていきます! 始めた後に後悔悔しない!
クラウド⼼心得 あなたもアプリも 変わるともっと幸せ
クラウドとは •⾃分で何もかも管理するの だる… •追加リソースの調達が秒でできる •管理を外部(Googleとか)にやってもらう •システムの価値増⼤に注⼒できる! セキュリティ周りも仕組み多数
可⽤用性について •スケールアップɾダウン → •1台が強くても限界が来るし運⽤⾟い •スケールアウトɾイン→ •台数の増減で対応のほうが運⽤が楽 SpinUp, SpinDown
可⽤用性について •DBボトルネック問題 •マスターがスケールしない問題 •Cloud SQL(MySQL)でよくある •分散データベース → 可能であればこっち
分散処理理に慣れる •クラウド ≒ 分散処理 (縛ると不便) •いつマシンが増えるかわからん •いつマシンが減るかわからん •状態をメモリにだけ持つと死ぬ!! •ある時突然死ぬ (ことを許容すると安い)
graceful shutdown…
分散処理理に慣れる Load Balancer どのサーバに⾏行行くかわからん!
適材適所 •特性を知れば知るほど上⼿にできる •特性≒⾧所と短所 •短所(秘孔)を突く=まもなく死ぬ •有識者に相談する=コスパ良
IaaS, PaaS, SaaS •IaaS = Infrastructure as a Service •PaaS
= Platform as a Service •SaaS = Software as a Service 柔軟 運⽤用⼤大変 不不⾃自由 運⽤用楽
チームと組織の話 •組織構造から逆算して設計を決める •Microservice vs Monolith •Monolithでもクラウドの恩恵⼤!
⾦金金 •cloud.google.com/products/calculator/ •計算してみましょう •youtu.be/TaO-GbvBonc •Pokemon Go Datastore→Spanner 50%減 Spanner最⼩小推奨構成⽉月額22万円くらい
略略語⼀一覧
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
サービス概要 cloud.google.com/docs/choosing-a-compute-option
Google App Engine AppEngine, GAE
メリット •Webアプリ構築に便利 •管理いらずメンテいらず⼿間いらず •⾃動でスケール •⾼速なスピンアップ(起動) •100msとかで1台確保できる(Goの場合)
メリット •Service, Versionの概念がある •リリースのロールバックも容易 •専⽤Managedサービスがある •→最近は是正の動きがある •⼩さいチーム、運営に向いている
デメリット •固定IPアドレス使えない •GCEにProxy⽴てたりして対処 •好きなツールをインストールできない •Java, Python, Node.js で緩和(2nd gen) AppEngineに魂がロックイン
実は2種類類ある •Standard Environment (SE) •⾃由度は少ない SpinUp⾼速! •Flexible Environment (FE) •裏でGCEが⽴ち上がる
SpinUpは遅い SEだけがAppEngineです(過激派
Google Kubernetes Engine GKE
メリット •Kubernetes関連システム⼀式 •コンテナオーケストレーション •複数アプリ、Microserviceなんでもござれ •やりたいこと全部できる…!(かも?
メリット •Load BalancerなどGCPフル活⽤ •GKE On-prem の登場… •オンプレミスにNode pool作れるやつ •実践できてる企業さん、おる?
デメリット •まだOSSとして発展途上 •運⽤チームがいないと⾟い •要求される勉強量が単純に多い •Spinnaker, Envoy, Istio etc, etc…
Google Compute Engine GCE
メリット •素のVirtual Machine相当 •⾃分でなんもかんも管理運⽤する必要 •Docker imageそのまま動かしたりも… •APIで上げ下げできるのでbare metalより はマシ
デメリット •⾃分で管理しないといけない(時も) •OSのパッチ管理とかも… •基本何らかの抽象化があったほうが… •GAE/FE, Dataflow, etc…
Cloud Functions CF(稀)
メリット •イベント処理を捌くのが主な⽤途 •アプリリクエストの処理はちょっと微妙 •単機能ɾ管理不要 •Node.js v8, Python 3.7 に対応 •AppEngineとは課⾦形態が違う
デメリット •単⼀関数がデプロイ単位 •アプリの構成には向かない •関数有りすぎ問題 •ていうかAppEngineでよくね? と信者が申しております
Firebase Hosting Firebaseと略略しては いけない…(他にも⾊色々
メリット •ファイルホストできる •redirectとかの設定ちょろちょろ書ける •Web frontendの⼈はこれで満⾜では? •Netlify, GitHub Pages…
デメリット •サーバ上で計算はできない •CFに投げるかAppEngine使うか… お⼿手軽!
CF for Firebase •Cloud Functions for Firebase •CFとは微妙に異なる •デプロイに使うツールも違う •Firebase関連機能を使うならこっち
体験するには?
Codelabs •各プロダクトのQuickStart的なの •codelabs.developers.google.com
お⼿手軽フローチャート ざっくりわかる!
VMだけあればいい?
VMだけあればいい? Compute Engine Yes! No…
運⽤チームが作れる?
運⽤チームが作れる? Kubernetes Engine Yes! No…
特殊なことがやりたい?
特殊なことがやりたい? Kubernetes Engine Yes… No!
ファイルをホストするだけ?
ファイルをホストするだけ? Firebase Hosting Yes! No… AppEngine
イベントを捌きたい?
イベントを捌きたい? Cloud Functions Yes! No…
AppEngineだと達成できない?
AppEngineだと達成できない? Kubernetes Engine Yes… No!
よろしいならばAppEngineだ GCPの他のサービスと 組み合わせ可能か調べよう!
もっと詳しく?
GCPUG •GCP User Group •gcpug-tokyo.connpass.com •slack.gcpug.jp •github.com/gcpug/nouhau
この後のGCPセッション •apstndb ←GCPマニア •sinmetal ←GCP⽣き字引 •Kuma ←コンテナ(GKE)おじさん •永井 洋⼀ ←データ処理おじさん
• 〃 ←機械学習おじさん
この後のGCPセッション •11:20- GCPのデータベースストレージ •12:50- Cloud Kata •13:30- Container (タイトル雑では?) •14:10-
GCPでつくるデータ処理パイプライン •14:50- Auto ML Overview
None