Recommended
PPT
PPTX
サーバ構築・デプロイが簡単に!Elastic beanstalk
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk
PDF
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
PPTX
Serverless Framework 使ってる話(node.js)
PDF
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
PDF
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
PDF
PPTX
AWS Step FunctionとLambdaでディープラーニングの訓練を全自動化する
PPTX
PPT
Performance and Scalability of Web Service
PDF
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
PDF
AWS Black Belt Techシリーズ AWS Lambda
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
PPTX
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
PDF
AWS Lambdaで作るクローラー/スクレイピング
PDF
CodeBuildを身近にするためのはじめの一歩
PPTX
PDF
PPTX
CloudWatch Eventsを使ったECSのAutoScaling
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
PDF
AWS Black Belt Techシリーズ AWS Command Line Interface
PPTX
PDF
PDF
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
PDF
Amazon ElastiCache - AWSマイスターシリーズ
PDF
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
PDF
PDF
Docker volume基礎/Project Longhorn紹介
More Related Content
PPT
PPTX
サーバ構築・デプロイが簡単に!Elastic beanstalk
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk
PDF
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
PPTX
Serverless Framework 使ってる話(node.js)
PDF
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
PDF
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
PDF
What's hot
PPTX
AWS Step FunctionとLambdaでディープラーニングの訓練を全自動化する
PPTX
PPT
Performance and Scalability of Web Service
PDF
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
PDF
AWS Black Belt Techシリーズ AWS Lambda
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
PPTX
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
PDF
AWS Lambdaで作るクローラー/スクレイピング
PDF
CodeBuildを身近にするためのはじめの一歩
PPTX
PDF
PPTX
CloudWatch Eventsを使ったECSのAutoScaling
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
PDF
AWS Black Belt Techシリーズ AWS Command Line Interface
PPTX
PDF
PDF
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
PDF
Amazon ElastiCache - AWSマイスターシリーズ
PDF
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
Viewers also liked
PDF
PDF
Docker volume基礎/Project Longhorn紹介
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
PDF
PDF
Docker最新動向2017秋+セキュリティの落とし穴
PDF
Docker 17.06 Updates 最近何が変わったの?
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PDF
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
PDF
Docker ComposeでMastodonが必要なものを梱包する話
Similar to コンテナで作れるFaaS
PDF
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
PPTX
2019年度 CaaS ワークショップ @ NTTコム
PDF
20180220 AWS Black Belt Online Seminar - Amazon Container Services
PDF
AWS Black Belt Online Seminar 2017 Docker on AWS
PDF
PPTX
作られては消えていく泡のように儚いクラスタの運用話
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
PPTX
PDF
IaaSクラウドを支える基礎技術 演習編_v1_0
PPTX
PDF
PPTX
Open Source System Administration Framework - Func
PPTX
Rails on GKEで運用するWebアプリケーションの紹介
PDF
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
PDF
PDF
PDF
PDF
PPTX
KubeCon EU報告(ランタイム関連,イメージ関連)
PDF
DOO-013_Docker 最新動向と Azure Container Service 入門
More from 真吾 吉田
PDF
SageMakerでもAUTOMATIC1111したい
PDF
PDF
PDF
PDF
PPTX
仮想サーバは、もう不要?!今からIoTやるなら「サーバレス・コンピューティング」
PDF
アジャイルな開発組織のOKRベストプラクティス&アンチパターン
PDF
Azureをフル活用したサーバーレスの潮流について
PDF
AWS re:Invent 2018 re:Cap
PDF
多様性・アジャイル・クラウドで変化に強いIT組織を作る
PDF
これからのクラウドネイティブアプリケーションの話をしよう
PDF
宇宙一早い AWS re:Invent 2018 re:cap
PDF
Architecting on Alibaba Cloud - Fundamentals - 2018
PDF
PDF
PDF
Kubernetesのない世界 すべてがサーバーレスになる
PDF
PDF
Kubernetes on Alibaba Cloud
PDF
PDF
コンテナで作れるFaaS 1. 2. 3. 4. Function as a Service
• AWS Lambda
• Azure Functions
• Google Cloud Functions
• IBM Bluemix OpenWhisk
• Webtask (Auth0)
• Hyper Func (Hyper.sh)
5. AWS Lambda
• 2014年末 re:Invent にて発表
• サポート言語
• Node.js – v4.3.2, v6.10
• Java – Java 8
• Python – Python 2.7, 3.6
• C# - .NET Core 1.0.1
• ホスト
• Amazon Linux (時々バージョンアップ)
• 実行環境は再利用される
• 初回起動が遅いが再利用時は高速
• 一時ストレージとして /tmp 利用可能(スケールしたり破棄
されたりするので頼らないこと)
• 課金は使った分だけ
• 確保(指定)したメモリ(128MB〜1.5GB) x 実行時間(100ms単
位) x 実行回数
• メモリに比例してCPUの割当ても多くなる
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html
6. 7. 8. Functionsフレームワーク
• Kubeless
• http://kubeless.io
• https://github.com/kubeless/kubeless
• fission (Platform9)
• http://fission.io
• https://github.com/fission/fission
• funktion (Fabric8)
• https://funktion.fabric8.io
• https://github.com/funktionio/funktion
9. • Dockerベースのコア環境
• Golang製
• Function formatに沿えばどんな言語の実行環境も
載せられる
• 2016/11 αリリース
• Lambda完全サポート
• Lambdaコードをいろんな実行環境に移植できる
• ただしハンドラーに指定できるファイル名は
「func.js」のみ
https://github.com/iron-io/functions
10. • Required
• Docker 1.12以上
• ベースイメージはDocker Hubから取得 (docker loginし
とく)
• 環境セットアップ
• $ docker run --rm -it --name functions -v
${PWD}/data:/app/data -v
/var/run/docker.sock:/var/run/docker.sock -p
8080:8080 iron/functions
• CLIセットアップ
• curl -LSs https://goo.gl/VZrL8t | sh
https://github.com/iron-io/functions
11. • モード
• シングルモード
• 組込みDB、MQ、APIエンドポイントを利用
• スタックバージョン
• DB: 環境変数でMySQLかPostgreSQLに接続
• MQ: 環境変数でRedisかIronMQ(SaaS)に接続
• APIエンドポイント: 環境変数でロードバランサーを指定
https://github.com/iron-io/functions
12. • アプリ:Goで"Hello ${NAME}!"
package main
import (
"encoding/json”
"fmt”
"os”
)
type Person struct {
Name string
}
func main() {
p := &Person{Name: "World"}
json.NewDecoder(os.Stdin).Decode(p)
fmt.Printf("Hello %v!", p.Name)
}
https://github.com/iron-io/functions
13. • CLIでbuildしてDocker Hubにイメージをpush
$ fn init yoshidashingo/hello
assuming go runtime
runtime: gofunc.yaml created.
$ fn build && fn push
(中略)
Function yoshidashingo/hello:0.0.1 built successfully.
(中略)
Function yoshidashingo/hello:0.0.1 pushed successfully to Docker Hub.
https://github.com/iron-io/functions
14. • イメージと呼び出すアプリ名とのルーティング
• 実行
$ fn apps create myapp
myapp created
$ fn routes create myapp /hello
/hello created with yoshidashingo/hello:0.0.1
$ curl http://localhost:8080/r/myapp/hello
Hello World!
$ curl -H "Content-Type: application/json" -X POST -d
'{ "name":"Johnny"}' http://localhost:8080/r/myapp/hello
Hello Johnny!
$ echo '{"name":"Johnny"}' | fn call myapp /hello
Hello Johnny!
15. • 実行環境はコントローラー(常駐)とアプリ
(呼び出し事にプロビジョニング:コールドス
タート)
• なので何回やってもだいぶ遅い
INFO[1709] action="server.handleRunnerRequest)-fm" app=myapp call_id=4fb34dd7-671f-5e57-b4a1-e39ec663e156 image="
yoshidashingo/hello:0.0.1" name="run.exec_time" route="/hello" type=time value=1.110867215s
https://github.com/iron-io/functions
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ca07a04bc5d yoshidashingo/hello:0.0.1 "./func" 1 second ago Up Less than a second task-xxxx
60c04e456bd1 iron/functions "/usr/local/bin/en..." 56 seconds ago Up 55 seconds 2375/tcp, 0.0.0.0:8080->8080/tcp functions
16. 17. 18. LocalStack
• AWSをローカル環境でエミュレートする
• API Gateway at http://localhost:4567
• Kinesis at http://localhost:4568
• DynamoDB at http://localhost:4569
• DynamoDB Streams at http://localhost:4570
• Elasticsearch at http://localhost:4571
• S3 at http://localhost:4572
• Firehose at http://localhost:4573
• Lambda at http://localhost:4574
• SNS at http://localhost:4575
• SQS at http://localhost:4576
• Redshift at http://localhost:4577
• ES (Elasticsearch Service) at http://localhost:4578
• SES at http://localhost:4579
• Route53 at http://localhost:4580
• CloudFormation at http://localhost:4581
• CloudWatch at http://localhost:4582
https://github.com/localstack/localstack
19. 20. LocalStack
• ローカルテストでの活用方法はこちらを参照
https://speakerdeck.com/twada/testable-lambda-working-effectively-with-legacy-lambda
Testable Lambda
Working Effectively with Legacy Lambda
和田 卓人 (@t_wada)
Jun 02, 2017 @ AWS Dev Day Tokyo 2017
]ihmn [mm_ln 9 l_kocl_ $[mm_ln$&8
]ihmn `m 9 l_kocl_ $`m$&8
]ihmn j[nb 9 l_kocl_ $j[nb$&8
]ihmn =RN 9 l_kocl_ $[qm*m^e$&8
]ihmn m0 9 h_q =RN+N0 u
m0Bil]_K[nbNnsf_7 nlo_)
fiaa_l7 ]ihmif_)
_h^jichn7 h_q =RN+Ah^jichn $bnnj7,,fi][fbimn7124/$&
w&8
^_m]lc_ $fi][fmn[]e f_[lhcha$) & 9: u
_`il_ & 9: u
l_nolh m0+]l_[n_>o]e_n u>o]e_n7 $n_mn*o]e_n$w&+jligcm_ &+nb_h & 9: u
l_nolh m0+jon d_]n u
>o]e_n7 $n_mn*o]e_n$) F_s7 $OLYG C +jha$) ?ihn_hnOsj_7 $cg[a_,jha$)
>i^s7 `m+l_[^Bcf_Nsh] j[nb+dich YY^clh[g_) $++$) $`crnol_m$) $OLYG C +jha$&&
w&+jligcm_ &8
w&8
w&8
cn $m0+a_n d_]n$) & 9: u
l_nolh m0+a_n d_]n u>o]e_n7 $n_mn*o]e_n$) F_s7 $OLYG C +jha$w&+jligcm_ &+nb_h l_m& 9: u
[mm_ln l_m&8
w&8
w&8
w&8
3 -
e
SU i :
MaU
]ihmn [mm_ln 9 l_kocl_ $[mm_ln$&8
]ihmn =RN 9 l_kocl_ $[qm*m^e$&8
]ihmn m0 9 h_q =RN+N0 um0Bil]_K[nbNnsf_7 nlo_) _h^jichn7 h_q =RN+Ah^jichn $bnnj7,,fi][fbimn7124/$&w&8
]ihmn ih d_]n?l_[n_^ 9 l_kocl_ $++,ih*id_]n*]l_[n_^$&8
^_m]lc_ $fi][fmn[]e [m_^ n_mn mocn_ `il b[jjs j[nb ][m_m$) & 9: u
f_n hiq) _p_hn8
_`il_A[]b & 9: u
hiq 9 h_q @[n_ &+a_nOcg_ &8
_p_hn 9 u
M_]il^m7 U
u m07 u o]e_n7 u h[g_7 n_mn*o]e_n*"uhiqw w) id_]n7 u e_s7 OLYG C Y"uhiqw+jha w w w
W
w8
l_nolh m0+]l_[n_>o]e_n u>o]e_n7 n_mn*o]e_n*"uhiqw w&+jligcm_ &
+nb_h & 9: m0+]l_[n_>o]e_n u>o]e_n7 n_mn*o]e_n*"uhiqwl_mct_^ w&+jligcm_ &&
+nb_h & 9: m0+jon d_]n u
>o]e_n7 n_mn*o]e_n*"uhiqw ) F_s7 OLYG C Y"uhiqw+jha ) ?ihn_hnOsj_7 $cg[a_,jha$)
>i^s7 `m+l_[^Bcf_Nsh] j[nb+dich YY^clh[g_) $++$) $`crnol_m$) $OLYG C +jha$&&
w&+jligcm_ &&8
w&8
cn $ih d_]n?l_[n_^ ][ff[]e$) & 9: u
l_nolh h_q Kligcm_ l_mifp_) l_d_]n& 9: u
]ihmn ][ff[]e 9 _ll) g_mm[a_& 9: _ll ; l_d_]n _ll& 7 l_mifp_ g_mm[a_&8
ih d_]n?l_[n_^ um0) _p_hn) ][ff[]ew&8
w&+nb_h g_mm[a_& 9: u
[mm_ln ,Xg_mm[a_,+n_mn g_mm[a_&&8
w&8
w&8
接合部を活用してテストを書く
21. 22. 23. Apache OpenWhisk
• 2016/2 BlueMix上のサービスとしてβ提供開始
→2016/11 Apache Incubator へ登録
• サポート環境
• Node.js, Swift, Python,
Java, Docker
• Docker環境上にセット
アップできるのでPCで
ローカル実行可能
https://github.com/apache/incubator-openwhisk
24. Spring Cloud Functions
• 2017/6発表
• mvnでSpring Bootアプリケーションのjarを作成して
デプロイでき、curlでWebAPIとして呼び出すひと通
りのFunctionアプリのライフサイクルを構築できる
他、抽象度の高いアプリ(REST API、ストリームプ
ロセッシングアプリなど)を作れる
• ローカル実行のほか、クラウド用アダプターで
Lambdaなどにアップロードできるほか、k8s上の
fissionなどにもアップロード可能
https://github.com/spring-cloud/spring-cloud-function
25. Kubeless / fission / funktion
• k8s上で管理されるfunctionフレームワーク
• Macローカルであればminikubeで構築可能
• kubectlでk8s上にサードパーティリソースとしてfunction
のコントローラーを載せてアプリを制御する
• 詳細は各ツールのドキュメントへ
• Kubeless
• http://kubeless.io
• https://github.com/kubeless/kubeless
• fission (Platform9)
• http://fission.io
• https://github.com/fission/fission
• funktion (Fabric8)
• https://funktion.fabric8.io
• https://github.com/funktionio/funktion
26. 27. 28. Serverless Community
• ServerlessConf Tokyo ’16
http://tokyo.serverlessconf.io
• Serverless Meetup (Tokyo|Osaka|Sapporo)
https://serverless.connpass.com
• Serverless Community (JP)
https://www.facebook.com/groups/813718382095265/