Updated: June 3, 2019 GCP のサーバーレスで Web アプリ開発

Similar documents
PowerPoint プレゼンテーション

IBM 次世代クラウド・プラットフォーム コードネーム “BlueMix”ご紹介

FUJITSU Cloud Service for OSS 「コンテナサービス」 ご紹介資料

Server and Cloud Platform template

Microsoft Azure Azure

データベースの近代化:シンプルなクロスプラットフォーム、最小のダウンタイムで実現するクラウド移行

新しい 自律型データ ウェアハウス

スピーカースライド作成前の確認シート例

Oracle Database 12c

PassSureExam Best Exam Questions & Valid Exam Torrent & Pass for Sure

Microsoft Azure Microsoft Corporation Global Blackbelt Sales Japan OSS TSP Rio Fujita

PowerPoint Presentation

スライド 1

Microsoft Azure Azure Microsoft Web Azure Microsoft Azure Azure IT Web (IoT) OS Docker Linux JavaScript Python.NET PHP Java Node.js Ruby ios Android W

Graph APIでインターナルアプリケーションを開発

Joint Content Development Proposal Tech Docs and Curriculum

FUJITSU Cloud Service for OSS CF サービス仕様書

Qlik Sense のシステム要件

雲の中のWebアプリケーション監視術!~いまなら間に合うクラウド時代の性能監視入門~

PowerPoint Presentation

更新履歴 Document No. Date Comments 次 D JP 2017/05/01 初版 1. 概要 はじめに 情報源 A10 Lightning Application Delivery Service(ADS) 導 構成 動作概要 構築概要 2. 事

JavaもJava Scriptも! コンテナ型アプリケーション開発PaaS登場

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

Slide 1

プロダクト仕様書 SLB

Oracle Real Application Clusters 10g: 第4世代

PowerPoint Presentation

FUJITSU Cloud Service A5 for Microsoft Azure サービス仕様書

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

産業ロボット 2007 の 3% のコスト DNA 塩基配列決定法 2007 の 0.01% のコスト 3D プリンタ, $ の 1% のコスト ドローン, $ の 1% のコスト メディア通信小売と消費財金融サービス自動車ヘルスケア製造公的機関 太陽光 1983 の

FUJITSU Cloud Service for OSS CF ご紹介資料

BraindumpsVCE Best vce braindumps-exam vce pdf free download

intra-mart Accel Platform

Windows Azure Microsoft Azure 登 場 本 セッションはここ!! 2

PowerPoint プレゼンテーション

スピーカースライド作成前の確認シート例

D. Amazon EC2 のインスタンスストアボリュームへ 1 時間ごとに DB のバックアップ取得を行うと共に Amazon S3 に 5 分ごとのトランザクションログを保管する 正解 = C 会社のマーケティング担当ディレクターから " 何気ない親切 " と思われる善行を目にしたら 80 文字

Congress Deep Dive

(Microsoft PowerPoint - \221\346\216O\225\224.ppt)

SIOS Protection Suite for Linux v9.3.2 AWS Direct Connect 接続クイックスタートガイド 2019 年 4 月

PowerPoint Presentation

Transforming Data Management

WeChat 認証ベースのインターネット アクセス

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

Procedure-for-Azure-v1.1

PowerPoint プレゼンテーション

3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

FileMaker Cloud App FileMaker Pro FileMaker Go FileMaker WebDirect App FileMaker Cloud Amazon Web Services (AWS) Marketplace AWS FileMaker Server File

Dockerの商用サービスでの利用事例紹介

[Google Kubernetes Day 19] ユーザからみた Anthos GKE On-Prem の利用について NTT Ltd. Group 桑山 純弥 2019/09/03

<Insert Picture Here> Oracle Cloud Computing Vision *Oracle Java Oracle Corporation Copyright 2009, Oracle. All rights reserved. 2 1

提案書

Hortonworks Kitase

Azure 環境 UiPath Orchestrator シングル構成構築手順書 v1.0

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

Oracle Data Pumpのパラレル機能

untitled

FileMaker Server Getting Started Guide

Mobile Access簡易設定ガイド

サーバレスアーキテクチャ概論

ESET Smart Security 7 リリースノート

ArcGIS Server 10 機能比較表

使用する前に

Oracle Data Provider for .NET の新機能

MATLAB® における並列・分散コンピューティング ~ Parallel Computing Toolbox™ & MATLAB Distributed Computing Server™ ~

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

スライド 1

StackStormによるイベントドリブンな運用自動化

クラウド時代のインフラ構成/変更管理とコンプライアンス管理

ArcGIS for Server 機能比較表

Slide 1

クラウドコンポーザビリティをサポートするPaaSシステム

<4D F736F F D FC8E448FEE95F1837C815B835E838B C8F92E88B608F912E646F63>

Microsoft Word - AWSBlueprint final.docx

Docker 入門

PowerPoint Presentation

PowerPoint プレゼンテーション

…l…b…g…‘†[…N…v…“…O…›…~…fi…OfiÁŸ_

Visual Studio with Cordova クロスプラットフォーム開発の全貌

CloudnPaaS提案書

ハイブリッド デバイス管理 ~Microsoft Intune~

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

FY14Q4 SMB Magalog December - APJ Version

モバイルアプリを Azure で作る - データを扱う Azure Storage を利 してデータを保存する 本稿では PHP と Windows Azure を使って 画像などのファイルを扱うアプリケーションを開発する方法を説明します Windows Azure Platform では データの

Windows 10 IoT Core MVA 2015 August Windows 10 IoT Core ハンズオントレーニング Building and running Github MS IoT Samples on Windows 10 IoT Core 5 章センサーデータをクラウドへ

Install / Protect / Monetize InstallShield 全機能 データシート プロフェッショナルなインストールの作成 PREMIER PROFESSIONAL EXPRESS MSIX パッケージ サポート フレームワークをサポート Windows Installer(

開発者向けクラウドサービスを活用したリッチな Web/ モバイル アプリケーションの構築手法 杉達也 Fusion Middleware 事業統括本部担当ディレクター [2013 年 4 月 9 日 ] [ 東京 ]

59

使える! IBM Systems Director Navigator for i の新機能

FileMaker Server 16 インストールおよび構成ガイド

Azure で IoT を実現する Things Connec tivity Data Insight Action IoT Edge IoT Hub Data Factory Azure Storage Azure Data Lake Store SQL Database SQL Data War

PowerPoint Presentation

Microsoft Word - JDBCドラバーの設定.doc

HULFT-DataMagic Ver2.2.0 製品対応OS

AWS Deck Template

APEX Spreadsheet ATP HOL JA - Read-Only

<Insert Picture Here> Oracle Business Intelligence 2006/6/27

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

Web AppBuilder for ArcGIS (Developer Edition) インストールガイド

Kubernetesの基礎

Transcription:

Updated: June 3, 2019 GCP のサーバーレスで Web アプリ開発

自己紹介 Kazuu (かずー) @kazshinohara Google Cloud のカスタマーエンジニア デジタル系エンタープライズのお客様を担当 得意分野はサーバーレスや DevOps など 趣味は猫と写真と旅行

そもそもサーバーレスって No Infra Management Fully Managed Security Pay only for usage

GCP のサーバーレスは フルスタック Database & Storage Data Analytics ML & AI Compute Smart assistants & chat Messaging DevOps

Web アプリケーションを開発する際に考えること 1. 2. 3. 4. 5. 6. コンピュート アプリをどこで動かすか データベース 非同期処理 静的コンテンツ コード管理 ビルド デプロイ モニタリング ロギング APM

Web アプリケーションを開発する際に考えること 1. 2. 3. 4. 5. 6. コンピュート データベース 非同期処理 静的コンテンツ コード管理 ビルド デプロイ モニタリング ロギング APM

コンピュート

GCP のサーバーレスコンピュート Functions Apps Containers NEW! Cloud Functions App Engine Cloud Run

サーバレスコンピュート 公式使い分けチャート https://cloud.google.com/serverless-options/?hl=en

Cloud Functions 01

Cloud Functions イベントドリブンなサーバーレス コンピュート プラットフォーム {} イベントドリブン サーバーレス サポートランタイム HTTP Firestore Pub/Sub Cloud Scheduler Cloud Storage Firebase サーバー管理なし Node.js 6, 8, 10beta Python 3.7 Go 1.11, 1.12alpha Java 8alpha スケールアウトが高速 ゼロにまでスケールイン パッチなどの更新なし 使った分だけ支払い

Cloud Functions ユースケース例 Cloud Storage ①画像を アップロード Cloud Functions ②関数を トリガー Cloud Vision API ③画像のラベリング

使い所と気にすべき制約 使い所 気にすべき制約 Pub/Sub and/or Cloud Storage を使って 関数レベルの粒度 いる場合 イベント経由 ランタイム環境は管理したくない ランタイム言語に縛り データ処理 (ETL) サービス間連携

App Engine 02

App Engine standard environment 高いスケーラビリティを持つサーバーレス Web アプリケーション {} 管理が容易 開発しやすい サポートランタイム サーバー管理なし アプリのコードに集中できる Java スケールアウトが高速 バージョニング Python ゼロにまでスケールイン トラフィックスプリット Go パッチなどの更新なし PHP Node.js Ruby alpha

App Engine ユースケース例 Front End App App Engine Dynamic data Cloud Firestore In-memory cache Cloud Memorystore Cloud Tasks Back End App App Engine

App Engine のランタイム スタンダード スタンダード 第 2世代 フレキシブル Python 2.7 Java 8 PHP 5.5 Go 1.9 and Go 1.11 Python 3.7 PHP 7.2 Node.js Go 1.12 (beta) Ruby (alpha) Node.js, Ruby, Java, Python, Go, PHP,.NET & カスタムコンテナイメージ サンドボックス化されたプロセスとして動作 マネージドのVM上で動作 GAE 独自の API + GCP のAPI GCP の API を直接呼び出し バイナリモジュールや使えるライブラ リに制約がある エクステンションやバイナリ ライブラリなど自由に利用可能

App Engine で実現できる柔軟なデプロイ ブルーグリーン デプロイメント カナリア リリース A / B テスト example.com example.com example.com 一気に切り替え 最初は少数だけ v1 v2 v1 v2 並行稼働 A B

使い所と気にすべき制約 使い所 HTTP/S request-response ステートレスなアプリケーション 急激なトラフィック増に耐えないと 気にすべき制約 スタンダード Runtimes for Python, Java, PHP, Go, Node HTTP/S only いけないアプリケーション フレキシブル Docker の制約を継承 トラフィックが少ないサイトには不向き

Cloud Run 03

Knative open source building blocks for serverless on Kubernetes

Cloud Run 高速なデプロイ サーバーレス ネイティブ 高いポータビリティ ステートレスなコンテナ 言語やライブラリの制約なし 数秒でデプロイし URL を付与 管理するサーバーはなし コードに集中 高速に 0 to N スケール きっちり使った分だけお支払い どこでも同じ Developer Experience フルマネージでも GKE のクラスタ上でも Knative の一貫した API の一貫性 ロックインの排除

2 つの Cloud Run Cloud Run Cloud Run on GKE 完全にサーバーレス 管理するクラスタ無し 使った分だけお支払い GKE のクラスタ上でサーバーレス 体験 費用は GKE のクラスタに含まれ る

Cloud Run ユースケース例 メッセージの処理 メッセージの取得 IoT devices Http Webhook Push 重複排除 デコード データ判別 サービング用データ準備 スケジュール データのロード Webとして サービング

使い所と気にすべき制約 使い所 気にすべき制約 ステートレス コンテナを必ず使わないといけない HTTP/S request-response workloads ビルドプロセスを決めないといけない スパイクが多い 読めないなど Specific なランタイム要件や依存性

データベース

GCP のマネージド データベースサービス In-memory Non-relational Relational Data warehouse Cloud Memorystore Cloud Firestore Cloud Bigtable Cloud SQL Cloud Spanner BigQuery Managed Redis Serverless, scalable document store Low latency, scalable wide column store Managed MySQL & PostgreSQL Scalable relational database Enterprise data warehouse

https://cloud.google.com/storage-options/?hl=ja

GCP のマネージド データベースサービス In-memory Non-relational Relational Data warehouse Cloud Memorystore Cloud Firestore Cloud Bigtable Cloud SQL Cloud Spanner BigQuery Managed Redis Serverless, scalable document store Low latency, scalable wide column store Managed MySQL & PostgreSQL Scalable relational database Enterprise data warehouse

Cloud Firestore 01

Cloud Firestore NoSQL データベース 強整合性 高い可用性 マルチリージョンで 99.999% リージョナルで 99.99% 2 つのモード ネイティブモード (Realtime) Datastore モード

Firebase SDK によるサポート Firebase Auth Security Rules Cloud Functions App + Client SDKs Cloud Firestore Firebase Hosting

リアルタイムにデータを同期 データに変更があった時 リ アルタイムに近い速度でデー タを同期 マルチユーザー向 けのモバイルアプリに最適

Cloud Firestore のデータ構成 My First Note name: "Cloud Firestore について" description: "Cloud Firestore はフルマネージドな NoSQL データベースです"... My Other Note name: "関連資料" description: "Cloud Firestore の関連資料"...

Cloud Firestore のユースケース例 Firebase Auth Authentication Event Info retrieval ios Custom API Writes Android Static content Real time updates Web Writes 3rd Party Event Store

Cloud SQL 02

Cloud SQL フルマネージドのリレーショナルデータベース MySQL と PostgreSQL SQL Server(Alpha) をサ ポート 高いパフォーマンス 64 コア 400GB まで瞬時にアップグレード可能 高可用性構成で99.95%

高可用性構成 ( PostgreSQL の場合) プライマリインスタンスとセカン ダリインスタンスを異なるゾーン に配置 リージョナル永続ディスクを使 い全ての書き込みを同期 レプ リケーション プライマリインスタンスが正常 な状態でなくなると セカンダリ インスタンスが昇格 フェイルオーバーはほぼ 60 秒 以内に行われる

Cloud SQL への接続 接続パス パブリック IP インターネットを経由し どこから でもアクセス可能 プライベート IP Virtual Private Cloud (VPC) を 使いプライベートアクセス 認証 Whitelisting IP 接続を許可する IP のリストを作成 許可された SSL 証明書 クライアントからの接続を許可する SSL 証明書 Cloud SQL プロキシ アプリからはローカル接続の認証 に見える セキュアにインスタンス にアクセス

03 Cloud Spanner

Cloud Spanner グローバルに分散され 強整合性を備えたデータ ベース サービス リレーショナル データベースの構造と非リレーショナ ル データベースの水平スケーラビリティを兼ね備え る

Cloud Spanner とは何か リレーショナル セマンティック スキーマ ACID トランザクショ ン SQL クエリ + 水平スケール 高可用性 99.999% SLA フルマネージドで水平スケーリング

RDB と非 RDB 両方の特徴を持っている

使い所と気にすべき制約 使い所 リレーショナルなデータ 高いスケーラビリティが求めら れるアプリケーション 高い可用性要件を持った アプリケーション 気にすべき制約 既存 DB との互換性 独自のテーブル設計が必要 リージョン間レプリケーションの 提供エリア

非同期処理

Cloud Tasks マイクロサービス間の非同期タスク向けキューイングシステム 信頼性の高いタスクのオフロード フルマネージドのタスクキュー: 長時間の非同期タスクも確実にディスパッチ インフラ管理 なし 使った分だけお支払い レート制御 と 再試行 必要なスループットに合わせてレート制御 や 再試行の設定が可能 HTTP/S Auth (IAM) を使った柔軟なタスクルーティング GCP 内外のサービスに対してセキュアにタスクをディスパッチ

タスクをスケジュールして実行 New user signup 30-day reminder 30 days later 'schedule_time': '2019-05-11T00:00:00' sendemail function

レートの制御 Dispatch 10 tasks/s 'max_dispatches_per_second': '3' Dispatch 3 tasks/s

タスクの再試行 Delay tolerant ML model training task ML model training task Executed every night 'max_attempts': '3' 'min_backoff': '600' [wait 10 mins to retry] 'max_retry_duration': '1800' [attempt for 30 mins] Machine Learning model training service

NEW! HTTP/S Auth (IAM) ターゲット NEW! User login service HTTP/S Google Cloud Functions Image Upload Service User submits async task request GKE: Google Kubernetes Engine OAuth/OIDC JWT Translation service Cloud Run and Cloud Run on GKE User profile service On Prem Server

静的コンテンツ

Cloud Storageを使った静的コンテンツ配信 Static files Cloud Storage 一般公開されたものはデフォルトで 3600sec の Cache-Control が設定される エッジキャッシュされる Front End App App Engine Dynamic data Cloud Firestore In-memory cache Cloud Memorystore Cloud Tasks Back End App App Engine

まとめ GCP のサーバーレスを活用することでインフラ管理のないモダンな Web アプリケーション開発が可能 コンピュートもデータベースも特徴的なサービスが複数ある 開発要件 に合わせて適材適所するのがオススメ モニタリング ロギング ビルド デプロイなどのサービスもあるので や ろうと思えば GCP で開発 運用を完結することも

Thank you