SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Andy Katz, Senior Product Manager, AWS
Manuel Pata, Cloud Automation Team Leader, OutSystems
December 1, 2016
CMP319
NEW LAUNCH!
Building Distributed Applications with
AWS Step Functions
What to Expect from the Session
What is AWS Step Functions?
How does it work?
Why should I use it?
What can I do today?
What is AWS Step Functions?
From Monoliths to Microservices to Functions
Enterprise
Resource
Planning
𝝺Finance
Inventory
Manu-
facturing
𝝺
𝝺 𝝺
Sales
AWS Step Functions…
…makes it easy to
coordinate the components
of distributed applications
using visual workflows.
“Smile!”
Step through Microservices and Functions
File Type Conversion Parallel Image Processing
Is this you?
“I want to sequence my services”
“I want to select paths based on
previous results”
“I want to retry automatically
when a service is unavailable”
“I have code that runs for hours”
“I want to run tasks in parallel”
Frequently repeated
processes
• Report generation
• Order fulfillment
• Data processing
• Infrastructure automation
AWS Step Functions is Available Today
aws.amazon.com/step-functions
Benefits of AWS Step Functions
Diagnose and
debug problems
faster
Adapt to change
Easy to connect and
coordinate
distributed components
and microservices to
quickly create apps
Manages the
operations and
infrastructure of
service coordination
to ensure availability
at scale, and
under failure
Productivity Agility Resilience
How Does AWS Step Functions
Work?
Application Lifecycle in AWS Step Functions
Visualize in the
Console
Amazon Confidential
Define in JSON Monitor
Executions
Define in JSON and Then Visualize in the Console
{
”Comment”: “Hello World Example",
"StartAt” : "HelloWorld”,
"States” : {
"HelloWorld” : {
"Type” : "Task",
"Resource” :
"arn:aws:lambda:REGION:ACCOUNT_ID:function
:FUNCTION_NAME”,
"End” : true
}
}
Execute One or One Million
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Start
End
HelloWorld
Monitor Executions from the Console
Monitor Executions from Amazon CloudWatch
Seven State Types
Task A single unit of work
Choice Adds branching logic
Parallel Fork and join the data across tasks
Wait Delay for a specified time
Fail Stops an execution and marks it as a failure
Succeed Stops an execution successfully
Pass Passes its input to its output
Task States Poll or Push
AWS Lambda
…On-premises
AWS container,
EC2 instance, or…
Long poll
Push
Task State to Dispatch Work
{
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"Type": "Task",
"Resource":"arn:aws:lambda:REGION:
ACCOUNT_ID:function:FUNCTION_NAME",
"End": true
}
}
}
Retry Failures of Task States
"HelloWorld": {
"Type": "Task",
…
"Retry": [
{
"ErrorEquals": ["HandledError"],
"IntervalSeconds": 1,
"MaxAttempts": 2,
"BackoffRate": 2.0
},
… ]
Catch Failure of Task States
"HelloWorld": {
"Type": "Task",
…
"Catch": [
{
"ErrorEquals": [”AllYourBasesAreBelongToUs"],
"Next": "CustomErrorFallback"
},
{
"ErrorEquals": ["States.TaskFailed"],
"Next": "ReservedTypeFallback"
… ]
Catch Failure of Task State Blueprint
Choice State for Branching Logic
"ChoiceState": {
"Type" : "Choice",
"Choices": [
{
"Variable": "$.foo",
"NumericEquals": 1,
"Next": "FirstMatchState"
},
{
"Variable": "$.foo",
"NumericEquals": 2,
… ]
Parallel State to Fork and Join Processes
"Parallel": {
"Type": "Parallel",
"Next": "Final State",
"Branches": [
{
"StartAt": "Wait 20s",
"States": {
"Wait 20s": {
"Type": "Wait",
"Seconds": 20,
"End": true
}
... ]
Wait State for Timed Delay
"wait_using_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "wait_using_timestamp"
},
"wait_using_timestamp": {
"Type": "Wait",
"Timestamp": "2015-09-04T01:59:00Z",
"Next": "wait_using_timestamp_path"
},
…
Six Blueprints in the Console
Use Through the API
Create
Upload state machines defined in JSON
Register activity workers
StartExecution Returns Execution ID
StopExecution
Stops a running state machine with
Execution ID
List All state machines, executions, and activities
Describe
Individual state machines, executions, and
activities
Why Should I Use
AWS Step Functions?
Ensure Tasks Execute in Sequence
Reliably Process Orders
“With AWS Step Functions, we can easily change and iterate on the
application workflow of our food delivery service in order to optimize
operations and continually improve delivery times.
AWS Step Functions lets us dynamically scale the steps in our food
delivery algorithm so we can manage spikes in customer orders and
meet demand.”
Mathias Nitzsche, CTO, foodpanda
Try-Catch-Finally in foodpanda’s State Machine
Chose Logical Paths Based on Input Data
Reliably Curate Databases
“AWS Step Functions let us replace a manual product updating
process with an automated series of steps, including built-in retry
conditions and error handling. We now rely on it to ensure our
database and website have the latest price and availability
information before the release of a big show, and keep pace with
rapidly changing fashions.”
Jared Browarnik, CTO, TheTake
Choice State in TheTake’s State Machine
34
Visual Full-Stack
Development
Deploy to
Any Device
Full Life-Cycle
Management
OutSystems is the #1 low-code platform
for building enterprise-grade apps incredibly fast
OutSystems’ Challenge
A desire to have intelligence spanning across services
Goal of consolidating information from different sources
• Custom OutSystems applications
• Third-party monitoring
• Amazon CloudWatch
Each focused on business logic at the instance level
Custom Monitoring Requirements
Reliable No more "boy who cried wolf"
Scalable Grows with us
Highly-available No down time due to OS updates, or
other maintenance
Easily extended Our offer/infrastructure is always evolving
Alarm State Machine
13 Lambda Task States
6 Choice States
1 Fail State
First Choice State of the Alarm State Machine
"SwitchOnEventSource": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.Event.Source",
"StringEquals": "Zabbix",
"Next": "Alarm"
},
{
"Variable": "$.Event.Source",
"StringEquals": "CloudFramework",
Our Experience with AWS Step Functions
We Earn Trust Supports Our Growth
What Can I Do Today?
Features of AWS Step Functions
Declarative JSON
Works with AWS and
on-premises compute
Branching logic
Fork and join tasks
Scale automatically
Try-Catch-Finally
Timeouts and
heartbeats
Productivity Agility Resilience
Visual console
Per execution history
Amazon CloudWatch
AWS CloudTrail
How Much for AWS Step Functions?
per thousand
state transitions*2.5¢
*Free tier of 4,000 state transitions per month
Where is AWS Step Functions Available?
Region Region Code
US East (N. Virginia) us-east-1
US East (Ohio) us-east-2
US West (Oregon) us-west-2
EU (Dublin) eu-west-1
Asia Pacific (Tokyo) ap-northeast-1
Getting Started
aws.amazon.com/step-functions
Thank you!
aws.amazon.com/step-functions
Remember to complete
your evaluations!
Related Sessions
Serverless Apps with AWS Step Functions - SVR201

Más contenido relacionado

La actualidad más candente

Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with Datapipe
Amazon Web Services
 

La actualidad más candente (20)

BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch ServiceBDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
BDA402 Deep Dive: Log Analytics with Amazon Elasticsearch Service
 
Securing Serverless Architecture
Securing Serverless ArchitectureSecuring Serverless Architecture
Securing Serverless Architecture
 
(CMP403) AWS Lambda: Simplifying Big Data Workloads
(CMP403) AWS Lambda: Simplifying Big Data Workloads(CMP403) AWS Lambda: Simplifying Big Data Workloads
(CMP403) AWS Lambda: Simplifying Big Data Workloads
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
 
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
AWS re:Invent 2016: What’s New with AWS Lambda (SVR202)
 
Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with Datapipe
 
Get the Most Bang for your Buck with #EC2 #Winning
Get the Most Bang for your Buck with #EC2 #WinningGet the Most Bang for your Buck with #EC2 #Winning
Get the Most Bang for your Buck with #EC2 #Winning
 
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
 
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New UnicornWorkshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
 
Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar SeriesMigrating your Databases to Amazon Aurora - AWS April 2016 Webinar Series
Migrating your Databases to Amazon Aurora - AWS April 2016 Webinar Series
 
AWS re:Invent 2016: Monitoring, Hold the Infrastructure: Getting the Most fro...
AWS re:Invent 2016: Monitoring, Hold the Infrastructure: Getting the Most fro...AWS re:Invent 2016: Monitoring, Hold the Infrastructure: Getting the Most fro...
AWS re:Invent 2016: Monitoring, Hold the Infrastructure: Getting the Most fro...
 
Distributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and MonitoringDistributed Serverless Stack Tracing and Monitoring
Distributed Serverless Stack Tracing and Monitoring
 
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
 
AWS Lambda in C#
AWS Lambda in C#AWS Lambda in C#
AWS Lambda in C#
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Journey Towards Scaling Your Application to 10 million users
Journey Towards Scaling Your Application to 10 million usersJourney Towards Scaling Your Application to 10 million users
Journey Towards Scaling Your Application to 10 million users
 
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
 

Similar a NEW LAUNCH! Building Distributed Applications with AWS Step Functions

Similar a NEW LAUNCH! Building Distributed Applications with AWS Step Functions (20)

Serverless Apps with AWS Step Functions
Serverless Apps with AWS Step FunctionsServerless Apps with AWS Step Functions
Serverless Apps with AWS Step Functions
 
Announcing AWS Step Functions - December 2016 Monthly Webinar Series
Announcing AWS Step Functions - December 2016 Monthly Webinar SeriesAnnouncing AWS Step Functions - December 2016 Monthly Webinar Series
Announcing AWS Step Functions - December 2016 Monthly Webinar Series
 
Building Distributed Applications with AWS Step Functions
Building Distributed Applications with AWS Step FunctionsBuilding Distributed Applications with AWS Step Functions
Building Distributed Applications with AWS Step Functions
 
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
 
SMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
 
NEW LAUNCH! Serverless Apps with AWS Step Functions
NEW LAUNCH! Serverless Apps with AWS Step FunctionsNEW LAUNCH! Serverless Apps with AWS Step Functions
NEW LAUNCH! Serverless Apps with AWS Step Functions
 
Introduction to AWS Step Functions:
Introduction to AWS Step Functions: Introduction to AWS Step Functions:
Introduction to AWS Step Functions:
 
Introduction to AWS Step Functions
Introduction to AWS Step FunctionsIntroduction to AWS Step Functions
Introduction to AWS Step Functions
 
使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務使用 AWS Step Functions 開發 Serverless 服務
使用 AWS Step Functions 開發 Serverless 服務
 
How LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessHow LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With Serverless
 
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
 
Design and Implement a Serverless Media-Processing Workflow - SRV328 - Atlant...
Design and Implement a Serverless Media-Processing Workflow - SRV328 - Atlant...Design and Implement a Serverless Media-Processing Workflow - SRV328 - Atlant...
Design and Implement a Serverless Media-Processing Workflow - SRV328 - Atlant...
 
Building Advanced Serverless Applications
Building Advanced Serverless ApplicationsBuilding Advanced Serverless Applications
Building Advanced Serverless Applications
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Designing and Implementing a Serverless Media Processing Workflow Using AWS S...
Designing and Implementing a Serverless Media Processing Workflow Using AWS S...Designing and Implementing a Serverless Media Processing Workflow Using AWS S...
Designing and Implementing a Serverless Media Processing Workflow Using AWS S...
 
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
오토스케일링 제대로 활용하기 (김일호) - AWS 웨비나 시리즈 2015
 
Design and Implement a Serverless Media-Processing Workflow
Design and Implement a Serverless Media-Processing Workflow Design and Implement a Serverless Media-Processing Workflow
Design and Implement a Serverless Media-Processing Workflow
 
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
 
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
AWS re:Invent 2016: Life Without SSH: Immutable Infrastructure in Production ...
 

Más de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

NEW LAUNCH! Building Distributed Applications with AWS Step Functions

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Andy Katz, Senior Product Manager, AWS Manuel Pata, Cloud Automation Team Leader, OutSystems December 1, 2016 CMP319 NEW LAUNCH! Building Distributed Applications with AWS Step Functions
  • 2. What to Expect from the Session What is AWS Step Functions? How does it work? Why should I use it? What can I do today?
  • 3. What is AWS Step Functions?
  • 4. From Monoliths to Microservices to Functions Enterprise Resource Planning 𝝺Finance Inventory Manu- facturing 𝝺 𝝺 𝝺 Sales
  • 5. AWS Step Functions… …makes it easy to coordinate the components of distributed applications using visual workflows.
  • 7. Step through Microservices and Functions File Type Conversion Parallel Image Processing
  • 8. Is this you? “I want to sequence my services” “I want to select paths based on previous results” “I want to retry automatically when a service is unavailable” “I have code that runs for hours” “I want to run tasks in parallel” Frequently repeated processes • Report generation • Order fulfillment • Data processing • Infrastructure automation
  • 9. AWS Step Functions is Available Today aws.amazon.com/step-functions
  • 10. Benefits of AWS Step Functions Diagnose and debug problems faster Adapt to change Easy to connect and coordinate distributed components and microservices to quickly create apps Manages the operations and infrastructure of service coordination to ensure availability at scale, and under failure Productivity Agility Resilience
  • 11. How Does AWS Step Functions Work?
  • 12. Application Lifecycle in AWS Step Functions Visualize in the Console Amazon Confidential Define in JSON Monitor Executions
  • 13. Define in JSON and Then Visualize in the Console { ”Comment”: “Hello World Example", "StartAt” : "HelloWorld”, "States” : { "HelloWorld” : { "Type” : "Task", "Resource” : "arn:aws:lambda:REGION:ACCOUNT_ID:function :FUNCTION_NAME”, "End” : true } }
  • 14. Execute One or One Million Start End HelloWorld Start End HelloWorld Start End HelloWorld Start End HelloWorld Start End HelloWorld Start End HelloWorld Start End HelloWorld Start End HelloWorld
  • 15. Monitor Executions from the Console
  • 16. Monitor Executions from Amazon CloudWatch
  • 17. Seven State Types Task A single unit of work Choice Adds branching logic Parallel Fork and join the data across tasks Wait Delay for a specified time Fail Stops an execution and marks it as a failure Succeed Stops an execution successfully Pass Passes its input to its output
  • 18. Task States Poll or Push AWS Lambda …On-premises AWS container, EC2 instance, or… Long poll Push
  • 19. Task State to Dispatch Work { "StartAt": "HelloWorld", "States": { "HelloWorld": { "Type": "Task", "Resource":"arn:aws:lambda:REGION: ACCOUNT_ID:function:FUNCTION_NAME", "End": true } } }
  • 20. Retry Failures of Task States "HelloWorld": { "Type": "Task", … "Retry": [ { "ErrorEquals": ["HandledError"], "IntervalSeconds": 1, "MaxAttempts": 2, "BackoffRate": 2.0 }, … ]
  • 21. Catch Failure of Task States "HelloWorld": { "Type": "Task", … "Catch": [ { "ErrorEquals": [”AllYourBasesAreBelongToUs"], "Next": "CustomErrorFallback" }, { "ErrorEquals": ["States.TaskFailed"], "Next": "ReservedTypeFallback" … ]
  • 22. Catch Failure of Task State Blueprint
  • 23. Choice State for Branching Logic "ChoiceState": { "Type" : "Choice", "Choices": [ { "Variable": "$.foo", "NumericEquals": 1, "Next": "FirstMatchState" }, { "Variable": "$.foo", "NumericEquals": 2, … ]
  • 24. Parallel State to Fork and Join Processes "Parallel": { "Type": "Parallel", "Next": "Final State", "Branches": [ { "StartAt": "Wait 20s", "States": { "Wait 20s": { "Type": "Wait", "Seconds": 20, "End": true } ... ]
  • 25. Wait State for Timed Delay "wait_using_seconds": { "Type": "Wait", "Seconds": 10, "Next": "wait_using_timestamp" }, "wait_using_timestamp": { "Type": "Wait", "Timestamp": "2015-09-04T01:59:00Z", "Next": "wait_using_timestamp_path" }, …
  • 26. Six Blueprints in the Console
  • 27. Use Through the API Create Upload state machines defined in JSON Register activity workers StartExecution Returns Execution ID StopExecution Stops a running state machine with Execution ID List All state machines, executions, and activities Describe Individual state machines, executions, and activities
  • 28. Why Should I Use AWS Step Functions?
  • 29. Ensure Tasks Execute in Sequence Reliably Process Orders “With AWS Step Functions, we can easily change and iterate on the application workflow of our food delivery service in order to optimize operations and continually improve delivery times. AWS Step Functions lets us dynamically scale the steps in our food delivery algorithm so we can manage spikes in customer orders and meet demand.” Mathias Nitzsche, CTO, foodpanda
  • 31. Chose Logical Paths Based on Input Data Reliably Curate Databases “AWS Step Functions let us replace a manual product updating process with an automated series of steps, including built-in retry conditions and error handling. We now rely on it to ensure our database and website have the latest price and availability information before the release of a big show, and keep pace with rapidly changing fashions.” Jared Browarnik, CTO, TheTake
  • 32. Choice State in TheTake’s State Machine
  • 33.
  • 34. 34 Visual Full-Stack Development Deploy to Any Device Full Life-Cycle Management OutSystems is the #1 low-code platform for building enterprise-grade apps incredibly fast
  • 35. OutSystems’ Challenge A desire to have intelligence spanning across services Goal of consolidating information from different sources • Custom OutSystems applications • Third-party monitoring • Amazon CloudWatch Each focused on business logic at the instance level
  • 36. Custom Monitoring Requirements Reliable No more "boy who cried wolf" Scalable Grows with us Highly-available No down time due to OS updates, or other maintenance Easily extended Our offer/infrastructure is always evolving
  • 37. Alarm State Machine 13 Lambda Task States 6 Choice States 1 Fail State
  • 38. First Choice State of the Alarm State Machine "SwitchOnEventSource": { "Type": "Choice", "Choices": [ { "Variable": "$.Event.Source", "StringEquals": "Zabbix", "Next": "Alarm" }, { "Variable": "$.Event.Source", "StringEquals": "CloudFramework",
  • 39. Our Experience with AWS Step Functions We Earn Trust Supports Our Growth
  • 40. What Can I Do Today?
  • 41. Features of AWS Step Functions Declarative JSON Works with AWS and on-premises compute Branching logic Fork and join tasks Scale automatically Try-Catch-Finally Timeouts and heartbeats Productivity Agility Resilience Visual console Per execution history Amazon CloudWatch AWS CloudTrail
  • 42. How Much for AWS Step Functions? per thousand state transitions*2.5¢ *Free tier of 4,000 state transitions per month
  • 43. Where is AWS Step Functions Available? Region Region Code US East (N. Virginia) us-east-1 US East (Ohio) us-east-2 US West (Oregon) us-west-2 EU (Dublin) eu-west-1 Asia Pacific (Tokyo) ap-northeast-1
  • 48. Related Sessions Serverless Apps with AWS Step Functions - SVR201