SlideShare a Scribd company logo
The Go gopher was designed by Renée French.
The gopher stickers was made by Takuya Ueda.
Licensed under the Creative Commons 3.0 Attributions license.
Cloud Functionsの紹介
2017/04/15(土)
Google Cloud Next’17 報告会 @福岡
自己紹介
メルカリ/ソウゾウ
上田拓也
twitter: @tenntenn
■ コミュニティ活動
GCPUG Tokyo, Goビギナーズ, golang.tokyo,
Go Conference
■ 業務
GAE/Goでメルカリアッテを作ってます
GoやGCPコミュニティを盛り上げる仕事
Gopherを描く仕事(LINEスタンプ)
2
参考にしたセッション
● Serverless computing options with Google
Cloud Platform
● Building serverless applications with Google
Cloud Functions
● Google Cloud Functions and Firebase
● Extending the Google Assistant with Actions
on Google
3
※このスライド内でセッションで使われている図などを使ってます
4
Cloud Functions
オープンベータ!
https://cloud.google.com/functions/
Cloud Functions
5
● サーバレス
● イベント駆動
● ステートレス
● アプリではなく単一の関数
● Node.js
関数の種類
■ HTTP functions
● HTTPSのリクエストがトリガー
● 同期実行
■ Background functions
● Cloud Pub/Sub
● Cloud Storage
● 非同期実行
6
HTTP functions
■ ExpressJSのreqとresを用いる
7
HTTP functionsのデプロイ
■ アップロードするバケットとトリガーを指定
8
Background functions
■ 処理が終わったらcallbackを呼ぶ
9
Promiseも使える
Background functionsのデプロイ
10
依存関係を記述する
■ package.jsonに書くだけ
11
npm install
はCloud上で行われる
ログ
■ ログはStackdriver Loggingへ
● console.logを使う
■ エラーはStackdriver Errorsへ
● キャッチされない例外はエラーへ
12
モニタリング
■ 呼び出し数
● 関数の呼び出し回数
■ 実行時間
● 1回の呼び出しあたりの実行時間
■ メモリ使用量
● 1回の呼び出しあたりのメモリ使用量
13
Cloud Functionsの実行環境
14
(Googleサービスは自動で認証される)
ローカルの開発環境
■ エミュレータが用意されている(アルファ)
● https://github.com/GoogleCloudPlatform/cloud-functi
ons-emulator/
15
デモ
16
Cloud Functions デモ
17
YouTubeで見る
ローカル開発環境 デモ
18
YouTubeで見る
Image Magickのデモ
■ 画像をjpegに変換する
19
参考:https://github.com/firebase/functions-samples/tree/master/convert-images
PNG画
像
JPG
画像
UP 通知&DL
UP
変換
PNG→JPG
slackのslash commandのデモ
20
ユーザ
/hi Webhook
hellohello
参考:https://cloud.google.com/functions/docs/tutorials/slack
API.AIを使ったデモ
■ API.AI
● botなどに使う会話型AIを作るサービス
21
参考:https://github.com/actions-on-google/apiai-webhook-template-nodejs
22
Thank you!
twitter: @tenntenn
Qiita: tenntenn
connpass: tenntenn

More Related Content

PDF
Cloud Functionsの紹介
PDF
goパッケージで型情報を用いたソースコード検索を実現する
PDF
Gopher Fest 2017参加レポート
PDF
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
PDF
オススメの標準・準標準パッケージ20選
PDF
Namespace API を用いたマルチテナント型 Web アプリの実践
PDF
粗探しをしてGoのコントリビューターになる方法
PDF
Google Assistant関係のセッションまとめ
Cloud Functionsの紹介
goパッケージで型情報を用いたソースコード検索を実現する
Gopher Fest 2017参加レポート
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
オススメの標準・準標準パッケージ20選
Namespace API を用いたマルチテナント型 Web アプリの実践
粗探しをしてGoのコントリビューターになる方法
Google Assistant関係のセッションまとめ

What's hot (20)

PDF
エディタの壁を越えるGoの開発ツールの文化と作成法
PDF
Go Friday 傑作選
PDF
GoによるiOSアプリの開発
PDF
GAE/GoでLINE Messaging API を使う
PDF
Go mobileでモバイルアプリを作ろう
PDF
Goだけでモバイルアプリを作ろう
PDF
go.mobile で Android 開発
PDF
条件式評価器の実装による管理ツールの抽象化
PDF
Go初心者向けハンズオン コマンドラインツールを作ろう
PDF
Goだけでモバイルアプリを作る
PDF
Goでwebアプリを開発してみよう
PDF
GAE/Goとsyncパッケージ
PDF
Goにおけるバージョン管理の必要性 − vgoについて −
PDF
Go1.8 for Google App Engine
PDF
GAE/GoでWebアプリ開発入門
PDF
今日から始める Go言語 と appengine
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
PDF
Goでかんたんソースコードの静的解析
PDF
過去に自作したGoプロダクトの紹介 - Goオールスターズ
PDF
メルカリ・ソウゾウでは どうGoを活用しているのか?
エディタの壁を越えるGoの開発ツールの文化と作成法
Go Friday 傑作選
GoによるiOSアプリの開発
GAE/GoでLINE Messaging API を使う
Go mobileでモバイルアプリを作ろう
Goだけでモバイルアプリを作ろう
go.mobile で Android 開発
条件式評価器の実装による管理ツールの抽象化
Go初心者向けハンズオン コマンドラインツールを作ろう
Goだけでモバイルアプリを作る
Goでwebアプリを開発してみよう
GAE/Goとsyncパッケージ
Goにおけるバージョン管理の必要性 − vgoについて −
Go1.8 for Google App Engine
GAE/GoでWebアプリ開発入門
今日から始める Go言語 と appengine
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Goでかんたんソースコードの静的解析
過去に自作したGoプロダクトの紹介 - Goオールスターズ
メルカリ・ソウゾウでは どうGoを活用しているのか?
Ad

Viewers also liked (13)

PPTX
Apache 2.4 新機能 “SSL編”
PDF
HTTP2 RFC 発行記念祝賀会
PDF
Javaトラブルに備えよう #jjug_ccc #ccc_h2
PDF
Go静的解析ハンズオン
PDF
Goにおける静的解析と製品開発への応用
PDF
Static Analysis in Go
PDF
Mobile Apps by Pure Go with Reverse Binding
PPTX
うしちゃん WebRTC Chat on SkyWayの開発コードw
PDF
HTTP2 時代の Web - web over http2
PPTX
WebRTC Browsers n Stacks Implementation differences
PDF
Go入門
PDF
エキスパートGo
PDF
メルカリ カウルのマスタデータの更新
Apache 2.4 新機能 “SSL編”
HTTP2 RFC 発行記念祝賀会
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Go静的解析ハンズオン
Goにおける静的解析と製品開発への応用
Static Analysis in Go
Mobile Apps by Pure Go with Reverse Binding
うしちゃん WebRTC Chat on SkyWayの開発コードw
HTTP2 時代の Web - web over http2
WebRTC Browsers n Stacks Implementation differences
Go入門
エキスパートGo
メルカリ カウルのマスタデータの更新
Ad

Similar to Cloud functionsの紹介 (20)

PDF
Gcpug in fukuoka!20150411 #gcpug
PPTX
gcp ja night #27 Google Cloud Endpoints with Golang
PDF
Google I/O 2021 Flutter 全体報告
PDF
Android6.0の機能まとめ 実機でサンプルを動かしてみた
PDF
GCP でも Serverless!!
PDF
Google VR - Google I/O Extended 報告会 2016 in 関西 -
PDF
Google VRと開発ノウハウ
PDF
Cardboard勉強会
PPTX
EclipseCon Europe 2019 modeling report
PDF
Google I/O 2013に行ったついでにラスベガス戦果報告
PDF
DroidKaigi 2018 - Dialogflow for Android
PDF
Groovy Grails eXchage 2014 報告
PDF
Google mapとgps機能を使ってみた。
PDF
DaydreamではじめるVR
PDF
[Jagys]android41+開発ツール紹介
PDF
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
PPTX
Google Gadgetsを看取る
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
PDF
モバイルVR「Daydream」でVRの世界にふれてみる
PDF
[Io2012]android41+開発ツール紹介
Gcpug in fukuoka!20150411 #gcpug
gcp ja night #27 Google Cloud Endpoints with Golang
Google I/O 2021 Flutter 全体報告
Android6.0の機能まとめ 実機でサンプルを動かしてみた
GCP でも Serverless!!
Google VR - Google I/O Extended 報告会 2016 in 関西 -
Google VRと開発ノウハウ
Cardboard勉強会
EclipseCon Europe 2019 modeling report
Google I/O 2013に行ったついでにラスベガス戦果報告
DroidKaigi 2018 - Dialogflow for Android
Groovy Grails eXchage 2014 報告
Google mapとgps機能を使ってみた。
DaydreamではじめるVR
[Jagys]android41+開発ツール紹介
GTMF 2015: UE4で開発環境は次なるステージへ~才能のコラボーレーションでクリエイティビティはさらなる高みへ~ | エピック・ゲームズ・ジャパ...
Google Gadgetsを看取る
TensorFlowプログラミングと分類アルゴリズムの基礎
モバイルVR「Daydream」でVRの世界にふれてみる
[Io2012]android41+開発ツール紹介

Cloud functionsの紹介