SlideShare a Scribd company logo
1 of 45
Download to read offline
RELIABILITY ENGINEERING
FOR ENTERPRISE SERVERLESS
MASASHI TERUI @ JAWS DAYS 2018
SERVERWORKS CO.,LTD.
+ FREELANCER
• Serverless Oji-san
• Serverless Framework Plugin Developer
• Serverlessconf Tokyo 2016/2017 speaker
• Remote worker (in Sapporo)
• The best Cloud Engineer in Hokkaido!! (でありたい)
MASASHI TERUI
ARCHITECT / DEVELOPER
AGENDA
SERVERLESS
ってなんだっけ?
1 6
2 7
3 8
4 9
5 10
SERVERLESS
の信頼性とは?
SERVERLESS
のよくある課題
SERVERLESS
を実体を捉える
RELIABILITY
考え方
RELIABILITY
設計編
RELIABILITY
実装編
RELIABILITY
監視編
SUMMARY
世界を広げる
SERVERLESS
は特別じゃない
SERVERLESSってなんだっけ?
WHAT IS
CNCF SERVERLESS WHITEPAPER V1.0
• Serverless computing refers to the concept of building and
running applications that do not require server management
• A platform may provide one or both of the following:
• Functions-as-a-Service (FaaS)
• Backend-as-a-Service (BaaS)
• Products or platforms deliver the following benefits to developers:
• Zero Server Ops
• No Compute Cost When Idle


https://github.com/cncf/wg-serverless/tree/master/whitepaper
SERVERLESS IS NOT GLUE
IN ENTERPRISE APPLICATION
”THE ORCHESTRATOR MANAGES THE TRADES USING A GRAPH OF STATES”
SERVERLESS CLOUD NATIVE LANDSCAPE
BUT I PREFER THIS ONE
https://www.slideshare.net/acloudguru/ant-stanley-being-serverless
SERVERLESS USE CASES (FROM CNCF WP)
• Asynchronous, concurrent, easy to parallelize into independent
units of work
• Infrequent or has sporadic demand, with large, unpredictable
variance in scaling requirements
• Stateless, ephemeral, without a major need for instantaneous
cold start time
• Highly dynamic in terms of changing business requirements that
drive a need for accelerated developer velocity
• Non-HTTP-centric and non-elastic scale workloads that weren’t
good fits for an IaaS, PaaS, or CaaS solution (Event Driven
workloads)
“There are many workloads
that are stateful and/or not easy to parallelize”
と思ってませんか?
“Asynchronous and Event Driven processing is
too difficult for humans”
SERVERLESSの信頼性とは?
Reliability
RELIABILITY(RASIS)
細分化すると色々ある
• Reliability
• Availability
• Serviceability
• Integrity
• Security
ここでは以下のように定義

「Reliability = 広義の信頼性(RASIS)」
Reliability
Availability Serviceability
Integrity Security
Reliability
IS SERVERLESS DIFFICULT TO
GUARANTEE THE RELIABILITY?
• Strongly depends on FaaS platform and BaaS products
• Lose the business continuity (Reliability, Availability)
• Distributed Instances
• Lose the traceability (Serviceability)
• Hard to develop
• All become functions (Serviceability)
• NoSQL matches better than RDB (Integrity)
SERVERLESSのよくある課題
i s s u e s
FaaSのよくある課題
• How to test the functions?
• Granularity of the functions
• Messaging between the functions and backends
• Handling request and response (Error Handling)
• Log Aggregation, Traceability
• Monitoring
BaaSのよくある課題
• How to choose the services?
• Fault Tolerance
• Monitoring
SERVERLESSの実体を捉える
MechanismHINT
MECANISM OF FAAS
SERVERLESS PROCESSING MODELhttps://github.com/cncf/wg-serverless/tree/master/whitepaper#detail-view-serverless-processing-model
処理の全体像を掴む
イベントソースからのイベント処理要求を
多数のインスタンス上のFunctionが分散処理
THE INTERNAL FLOW OF PROCESSINGhttps://github.com/apache/incubator-openwhisk/blob/master/docs/about.md#the-internal-flow-of-processing
イベント(HTTP)が処理される流れを掴む
ストリームやキューを挟んで分散処理するのが基本
外から見て同期でも中は非同期かつ分散
THE FUNCTIONS THAT
INVOKED ASYNCHRONOUS
IN THE CONTAINERS
FaaS is… コンテナ内で非同期に呼び出される関数
WHAT IS BAAS?
FROM OWNERSHIP
TO USE SERVICES
クラウドによってサーバが所有から利用へ
さらにミドルウェアやライブラリも利用へ
BaaSを使うのはそういう自然な流れ
FULLY MANAGED AND ABSTRACTED
MIDDLEWARES AND LIBRARIES
BaaS is… フルマネージドかつ抽象化されたMWやライブラリ
SERVERLESSは特別じゃない
is not special
CONSTITUTED OF THE ABSTRACTED
FUNCTIONS AND MIDDLEWARES
Serverless is… 抽象化されてるだけで関数とMWでできてる
WE CAN MAKE RELIABLE
SERVERLESS APPLICATION
SO… 信頼性は作れる!
RELIABILITYの考え方
Method of thinking
RELIABILITYの考え方
• Make the reliability by myself
• Serverless will help you, but will not protect your business
• Think simple
• Apply generally development/operation practices
• If you can't apply the practices, take care of the serverless mechanism
• Keep simple
• Don't be afraid that increase the number of the functions
• We should be afraid complicated architecture
• Change your mind as a software
• Everything is part of your application
RELIABILITY 設計
Architecting
ALL EVENTS FLOWS IN
THE SAME DIRECTION
イベント(データ)は同じ方向に流す
結果が必要なら同期で返さず
取りに行かせる
🙅 🙆
ALL EVENTS FLOWS IN THE SAME DIRECTION
• They will be naturally Asynchronous and Functional
• Asynchronous processing is Retriable
• Functional processing is Reproducible
• The clients get the results by myself
• However, polling is not good choise...
• Pushing is better choice
• Can we be happy with AppSync? (Pushing via Websocket)
UNIFY THE ENDPOINTS
BETWEEN THE SERVICES
サービス間のエンドポイントは集約する
ラップして集約しコントロールを得る
UNIFY THE ENDPOINTS BETWEEN
THE SERVICES
• Microservices
• Separate the services by the domains (One BaaS is one of your service)
• The endpoint of the service is not unique, it has the endpoints for each operations
• Wrap the endpoints to abstract them
• Like a “MySQL Server” and “libmysql”
• Do you call “libmysql” directly?
• You can make Failover/Failsafe mechanism
• Like a Reverse Proxy
• Do you connect to multiple “Read replicas” from “each app servers”?
• Trafic controlling, Caching
ALL SERIES OF EVENTS
HAVE THE SAME ID
一連の処理には同じIDを付与
それを引き回すことでIDでトレースできる
このIDは様々な制御にも使える
ALL SERIES OF EVENTS HAVE
THE SAME ID
• Log Aggregation
• A series of events can be traced by the ID
• Monitor the progress
• Log all event messages
• Execution control
• At least once -> Exactly once
• e.g. DynamoDB Conditional Writes
• Make it easy to implement with something
like a decorator
DATA MODELING
• Become the friend with DynamoDB
• Distributed by Partition Key and
Indexed(B-tree) by Sort Key, LSI
• GSI is a projection of sorted(indexed) data
• The consistency can be guaranteed without
ACID transaction
• Denormalization
• Strong consistency reading, 

Conditional Writing
• There are some difficult situation
• Write asynchronous to RDB
RELIABILITY 実装
Implementation
GRANULARITY OF THE
FUNCTIONS
•Testable!!
• Unit testing is justice in the
serverless world
• Make the dependencies of other
services are replaceable
• Would be replaceable to the mocks
• Easy to Failover/Failsafe
HOW TO TEST THE FUNCTIONS
• Unit testing is justice in the serverless world (2回目)
• Deploy a new environment if the mocks are not enough at integration testing
• It is easy with some frameworks (e.g. Serverless, SAM)
• The services outside of AWS are needed to be easily to deploy (via API)
• Continuous E2E testing with traceable ID
• It become a monitoring
RELIABILITY 監視
Monitoring
RELIABILITY MONITORING
• The greatest monitoring is the notifications from the application
• Be sure to catch the errors and notify them
• Collect the metrics of the services
• CloudWatch
• This is a condition to choice the services outside of AWS
• Continuous E2E testing with traceable ID
SUMMARY
“SERVERLESS IS NOT SPECIAL”
THANKS!!
“MAKE THE RELIABILITY BY MYSELF”
“THINK SIMPLE, KEEP SIMPLE”
“EVERYTHING IS PART OF YOUR APPLICATION”
“LET'S EXPAND SERVERLESS WORLD”
bit.ly/jd2018-sls
#jawsdays #jd2018_a
PLEASE TAKE A SURVEY

More Related Content

What's hot

GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...
GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...
GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...AZUG FR
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례Anson Park
 
Serverless API with Azure Functions
Serverless API with Azure FunctionsServerless API with Azure Functions
Serverless API with Azure FunctionsAnalben Mehta
 
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유Soowan Lee
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAmazon Web Services
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure de:code 2017
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryDataStax Academy
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overviewakgiraud
 
Design and Configure Azure App Service Web Apps
Design and Configure Azure App Service Web AppsDesign and Configure Azure App Service Web Apps
Design and Configure Azure App Service Web AppsRoy Kim
 
What's better than Microservices? Serverless Microservices
What's better than Microservices? Serverless MicroservicesWhat's better than Microservices? Serverless Microservices
What's better than Microservices? Serverless MicroservicesAlan Williams
 
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019Madoka Chiyoda
 
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICESAPPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICESCodeOps Technologies LLP
 
Azure Web Application Fundamentals
Azure Web Application FundamentalsAzure Web Application Fundamentals
Azure Web Application FundamentalsMaik van der Gaag
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSCodeOps Technologies LLP
 

What's hot (18)

Azure functions
Azure functionsAzure functions
Azure functions
 
GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...
GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...
GLobal Azure Bootcamp 2016 Lyon Benjamin Talmard Azure Micro-services Contain...
 
ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례ELB를 활용한 Socket.IO 멀티노드 구축사례
ELB를 활용한 Socket.IO 멀티노드 구축사례
 
Serverless API with Azure Functions
Serverless API with Azure FunctionsServerless API with Azure Functions
Serverless API with Azure Functions
 
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
[AWSKRUG 아키텍처 모임] 세일즈부스트 인프라스트럭처 사례 공유
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
 
Azure Bot Service
Azure Bot ServiceAzure Bot Service
Azure Bot Service
 
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure [DO16] Mesosphere : Microservices meet Fast Data on Azure
[DO16] Mesosphere : Microservices meet Fast Data on Azure
 
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundryCassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
Cassandra Summit 2014: Apache Cassandra on Pivotal CloudFoundry
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
Design and Configure Azure App Service Web Apps
Design and Configure Azure App Service Web AppsDesign and Configure Azure App Service Web Apps
Design and Configure Azure App Service Web Apps
 
What's better than Microservices? Serverless Microservices
What's better than Microservices? Serverless MicroservicesWhat's better than Microservices? Serverless Microservices
What's better than Microservices? Serverless Microservices
 
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
クラウド&Azure入門 セッション at Microsoft Ignite the Tour Tokyo 2019
 
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICESAPPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
APPLYING DEVOPS STRATEGIES ON SCALE USING AZURE DEVOPS SERVICES
 
Gameaways
GameawaysGameaways
Gameaways
 
Training Offerings - CodeOps Technologies
Training Offerings - CodeOps TechnologiesTraining Offerings - CodeOps Technologies
Training Offerings - CodeOps Technologies
 
Azure Web Application Fundamentals
Azure Web Application FundamentalsAzure Web Application Fundamentals
Azure Web Application Fundamentals
 
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPSBUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
BUILD, TEST & DEPLOY .NET CORE APPS IN AZURE DEVOPS
 

Similar to Reliability Engineering for Enterprise Serverless

Automated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshAutomated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshCodefresh
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOABob Rhubart
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortenerLuca Bianchi
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeRobert Greiner
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operatorscamunda services GmbH
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecturejuly mon
 
今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09Yoichi Kawasaki
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeSurjeet Singh
 
Introduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesIntroduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesDavid Charles
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Sqreen
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Lucas Jellema
 
Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application deliveryDoug Vanderweide
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)DOCOMO Innovations, Inc.
 
Reduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsReduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsSL Corporation
 

Similar to Reliability Engineering for Enterprise Serverless (20)

Automated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on CodefreshAutomated Serverless Pipelines with #GitOps on Codefresh
Automated Serverless Pipelines with #GitOps on Codefresh
 
21st Century SOA
21st Century SOA21st Century SOA
21st Century SOA
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortener
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
楽天が挑むDevOps
楽天が挑むDevOps楽天が挑むDevOps
楽天が挑むDevOps
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Using Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through OperatorsUsing Camunda on Kubernetes through Operators
Using Camunda on Kubernetes through Operators
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09今Serverlessが面白いわけ v19.09
今Serverlessが面白いわけ v19.09
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Introduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and KubernetesIntroduction to Microservices with Docker and Kubernetes
Introduction to Microservices with Docker and Kubernetes
 
Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?Serverless security - how to protect what you don't see?
Serverless security - how to protect what you don't see?
 
Framework WSo2 orientato ai servizi
Framework WSo2 orientato ai serviziFramework WSo2 orientato ai servizi
Framework WSo2 orientato ai servizi
 
Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...Business and IT agility through DevOps and microservice architecture powered ...
Business and IT agility through DevOps and microservice architecture powered ...
 
Serverless: The future of application delivery
Serverless: The future of application deliveryServerless: The future of application delivery
Serverless: The future of application delivery
 
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
How to Manage Your Cloud by Drupal (DrupalCon CPH 2010)
 
Reduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based ApplicationsReduce Risk with End to End Monitoring of Middleware-based Applications
Reduce Risk with End to End Monitoring of Middleware-based Applications
 

More from Terui Masashi

DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことTerui Masashi
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)Terui Masashi
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited FrameworksTerui Masashi
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Terui Masashi
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Terui Masashi
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Terui Masashi
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜Terui Masashi
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用Terui Masashi
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングTerui Masashi
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とはTerui Masashi
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったTerui Masashi
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてTerui Masashi
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」Terui Masashi
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!Terui Masashi
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Terui Masashi
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話Terui Masashi
 
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証Terui Masashi
 

More from Terui Masashi (20)

DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited Frameworks
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とは
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境について
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証
[Deep Dive]Infra寄りのDevがお送りするRDS for Aurora徹底検証
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 

Reliability Engineering for Enterprise Serverless

  • 1. RELIABILITY ENGINEERING FOR ENTERPRISE SERVERLESS MASASHI TERUI @ JAWS DAYS 2018
  • 2. SERVERWORKS CO.,LTD. + FREELANCER • Serverless Oji-san • Serverless Framework Plugin Developer • Serverlessconf Tokyo 2016/2017 speaker • Remote worker (in Sapporo) • The best Cloud Engineer in Hokkaido!! (でありたい) MASASHI TERUI ARCHITECT / DEVELOPER
  • 3. AGENDA SERVERLESS ってなんだっけ? 1 6 2 7 3 8 4 9 5 10 SERVERLESS の信頼性とは? SERVERLESS のよくある課題 SERVERLESS を実体を捉える RELIABILITY 考え方 RELIABILITY 設計編 RELIABILITY 実装編 RELIABILITY 監視編 SUMMARY 世界を広げる SERVERLESS は特別じゃない
  • 5. CNCF SERVERLESS WHITEPAPER V1.0 • Serverless computing refers to the concept of building and running applications that do not require server management • A platform may provide one or both of the following: • Functions-as-a-Service (FaaS) • Backend-as-a-Service (BaaS) • Products or platforms deliver the following benefits to developers: • Zero Server Ops • No Compute Cost When Idle 
 https://github.com/cncf/wg-serverless/tree/master/whitepaper
  • 6. SERVERLESS IS NOT GLUE IN ENTERPRISE APPLICATION ”THE ORCHESTRATOR MANAGES THE TRADES USING A GRAPH OF STATES”
  • 8. BUT I PREFER THIS ONE https://www.slideshare.net/acloudguru/ant-stanley-being-serverless
  • 9. SERVERLESS USE CASES (FROM CNCF WP) • Asynchronous, concurrent, easy to parallelize into independent units of work • Infrequent or has sporadic demand, with large, unpredictable variance in scaling requirements • Stateless, ephemeral, without a major need for instantaneous cold start time • Highly dynamic in terms of changing business requirements that drive a need for accelerated developer velocity • Non-HTTP-centric and non-elastic scale workloads that weren’t good fits for an IaaS, PaaS, or CaaS solution (Event Driven workloads)
  • 10. “There are many workloads that are stateful and/or not easy to parallelize” と思ってませんか? “Asynchronous and Event Driven processing is too difficult for humans”
  • 12. RELIABILITY(RASIS) 細分化すると色々ある • Reliability • Availability • Serviceability • Integrity • Security ここでは以下のように定義
 「Reliability = 広義の信頼性(RASIS)」 Reliability Availability Serviceability Integrity Security Reliability
  • 13. IS SERVERLESS DIFFICULT TO GUARANTEE THE RELIABILITY? • Strongly depends on FaaS platform and BaaS products • Lose the business continuity (Reliability, Availability) • Distributed Instances • Lose the traceability (Serviceability) • Hard to develop • All become functions (Serviceability) • NoSQL matches better than RDB (Integrity)
  • 15. FaaSのよくある課題 • How to test the functions? • Granularity of the functions • Messaging between the functions and backends • Handling request and response (Error Handling) • Log Aggregation, Traceability • Monitoring
  • 16. BaaSのよくある課題 • How to choose the services? • Fault Tolerance • Monitoring
  • 20. THE INTERNAL FLOW OF PROCESSINGhttps://github.com/apache/incubator-openwhisk/blob/master/docs/about.md#the-internal-flow-of-processing イベント(HTTP)が処理される流れを掴む ストリームやキューを挟んで分散処理するのが基本 外から見て同期でも中は非同期かつ分散
  • 21. THE FUNCTIONS THAT INVOKED ASYNCHRONOUS IN THE CONTAINERS FaaS is… コンテナ内で非同期に呼び出される関数
  • 23. FROM OWNERSHIP TO USE SERVICES クラウドによってサーバが所有から利用へ さらにミドルウェアやライブラリも利用へ BaaSを使うのはそういう自然な流れ
  • 24. FULLY MANAGED AND ABSTRACTED MIDDLEWARES AND LIBRARIES BaaS is… フルマネージドかつ抽象化されたMWやライブラリ
  • 26. CONSTITUTED OF THE ABSTRACTED FUNCTIONS AND MIDDLEWARES Serverless is… 抽象化されてるだけで関数とMWでできてる
  • 27. WE CAN MAKE RELIABLE SERVERLESS APPLICATION SO… 信頼性は作れる!
  • 29. RELIABILITYの考え方 • Make the reliability by myself • Serverless will help you, but will not protect your business • Think simple • Apply generally development/operation practices • If you can't apply the practices, take care of the serverless mechanism • Keep simple • Don't be afraid that increase the number of the functions • We should be afraid complicated architecture • Change your mind as a software • Everything is part of your application
  • 31. ALL EVENTS FLOWS IN THE SAME DIRECTION イベント(データ)は同じ方向に流す 結果が必要なら同期で返さず 取りに行かせる 🙅 🙆
  • 32. ALL EVENTS FLOWS IN THE SAME DIRECTION • They will be naturally Asynchronous and Functional • Asynchronous processing is Retriable • Functional processing is Reproducible • The clients get the results by myself • However, polling is not good choise... • Pushing is better choice • Can we be happy with AppSync? (Pushing via Websocket)
  • 33. UNIFY THE ENDPOINTS BETWEEN THE SERVICES サービス間のエンドポイントは集約する ラップして集約しコントロールを得る
  • 34. UNIFY THE ENDPOINTS BETWEEN THE SERVICES • Microservices • Separate the services by the domains (One BaaS is one of your service) • The endpoint of the service is not unique, it has the endpoints for each operations • Wrap the endpoints to abstract them • Like a “MySQL Server” and “libmysql” • Do you call “libmysql” directly? • You can make Failover/Failsafe mechanism • Like a Reverse Proxy • Do you connect to multiple “Read replicas” from “each app servers”? • Trafic controlling, Caching
  • 35. ALL SERIES OF EVENTS HAVE THE SAME ID 一連の処理には同じIDを付与 それを引き回すことでIDでトレースできる このIDは様々な制御にも使える
  • 36. ALL SERIES OF EVENTS HAVE THE SAME ID • Log Aggregation • A series of events can be traced by the ID • Monitor the progress • Log all event messages • Execution control • At least once -> Exactly once • e.g. DynamoDB Conditional Writes • Make it easy to implement with something like a decorator
  • 37. DATA MODELING • Become the friend with DynamoDB • Distributed by Partition Key and Indexed(B-tree) by Sort Key, LSI • GSI is a projection of sorted(indexed) data • The consistency can be guaranteed without ACID transaction • Denormalization • Strong consistency reading, 
 Conditional Writing • There are some difficult situation • Write asynchronous to RDB
  • 39. GRANULARITY OF THE FUNCTIONS •Testable!! • Unit testing is justice in the serverless world • Make the dependencies of other services are replaceable • Would be replaceable to the mocks • Easy to Failover/Failsafe
  • 40. HOW TO TEST THE FUNCTIONS • Unit testing is justice in the serverless world (2回目) • Deploy a new environment if the mocks are not enough at integration testing • It is easy with some frameworks (e.g. Serverless, SAM) • The services outside of AWS are needed to be easily to deploy (via API) • Continuous E2E testing with traceable ID • It become a monitoring
  • 42. RELIABILITY MONITORING • The greatest monitoring is the notifications from the application • Be sure to catch the errors and notify them • Collect the metrics of the services • CloudWatch • This is a condition to choice the services outside of AWS • Continuous E2E testing with traceable ID
  • 44. “SERVERLESS IS NOT SPECIAL” THANKS!! “MAKE THE RELIABILITY BY MYSELF” “THINK SIMPLE, KEEP SIMPLE” “EVERYTHING IS PART OF YOUR APPLICATION” “LET'S EXPAND SERVERLESS WORLD”