SlideShare a Scribd company logo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Serverless State Management &
Orchestration for Modern Apps
André Dufour
Senior Manager
AWS Orchestration Services
A P I 3 0 2
Nick Whalen
Principal Software Engineer
Novartis Institutes for Biomedical Research
Modern application development
enables rapid innovation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Modularity, microservices, and APIs
Function
API
API
Microservice
Function
Event
API
Microservice
Event
API
Microservice
Application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Step Functions
Visualize in the
console
Define in JSON Monitor
executions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Xylem
Because everydrop of water counts
Challenge
• Make the data for tens of millions of endpoints available for data
scientists, engineers, and data analysts; store it forever; and do it
with a team of four people
Results
• Reduced processing time from 20+ hours to less than 2 hours
• Improved cost efficiency – hardware no longer purchased for peak
demand
• Decreased personnel costs as they no longer manage infrastructure
Patterns
• Data preparation workflows; simple state machines
• Using serverless when there is a large peak-to-average variation
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Step
Functions
Amazon Aurora
Serverless
AWS Batch
Amazon
S3
Amazon Elastic
Compute Cloud
(Amazon EC2)
AWS
Lambda
function
AWS
Lambda
function
Controller
app
Fetch new files
to parse
Store
metadata
Parse job
Parse job
Parse job
Parse job
Parse job
Parse job
Parse job
Amazon EC2
Amazon EC2
Solution architecture
Amazon EC2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Coinbase
Buy and sell digital currency
Challenge
• Secure, reliable, immutable deployments with visibility
by their engineers
• Scale to multiple AWS accounts easily and quickly
Results
• Reduced new account deployment time
• Increased the time a deployment can reliably run from 2
hours to 48 hours
• Mission critical services deployment rate rose 7%
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Solution architecture
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Workflow
How they did it
• Step Functions provides the tools for
reliability and visibility out of the box
• Integration with Codeflow configuration
management tool
• End-to-end security validation prior to
deployment into production
• Six months from idea to use for all production
deployments
Pattern
• Fail to a known state
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Granular
Farm with confidence
Challenge
• Improve scaling and management of legacy application that
performs machine data translation through ingestion and
processing from large scale agricultural machinery
Results
• Easy integration between serverless and legacy application
components
• Scalable approach to running code through multiple technology
stacks
• Self documenting executions with Step Functions execution history
Patterns
• Step Functions to bridge from legacy to modern application
development
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Workflow
How they did it
• Considered writing their own workflow engine
but discounted it as they wanted to focus on
their business logic
• Used Step Functions because the activity API
could easily combine Amazon EC2,
Kubernetes, and AWS Lambda to create a
modern application that is inclusive of useful
legacy components
C# and on
Windows
Server (EC2)
Python
lambda
function
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Novartis Institutes for Biomedical Research (NIBR)
Challenge
• Provide scientists a tool to run image analysis
workflows at scale
Results
• Reduced cluster processing times
• Improved operational efficiencies
• Delivered reliable, reproducible image analysis results
• Able to effectively support enterprise scale application
with a small team
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• The Novartis Institutes for BioMedical Research (NIBR) is
the innovation engine of Novartis
• We focus on new technologies that have the potential to
help produce therapeutic breakthroughs for patients
• 6 Research campuses across the globe
• 200+ Projects in clinical pipeline
• 500+ Clinical trials in progress
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
High content screening image analysis
• Empowers scientists to directly run image
analyses without depending on cluster experts
• Provides for faster assay development and execution with
more focus on the science rather than tools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
plates
wells
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
https
AWS Batch
EC2 Spot Fleet
Amazon Aurora
• Submits jobs to
AWS Batch for
processing
• Persists job states
Each batch job
sends status
updates to
queue
Image Analysis
Results
AWS Step
Functions
• Merges
partial
results
• Aggregates
• Updates job
status
• Notify
subscribed
users of
state via
email
Results from each
Batch job are written
to Amazon S3
Client
NIBR
HCSIA architecture
HCS images
us-east-1
Elastic Load
Balancing
Auto Scaling
Web
service
Retrieve job
updates
UI
JSON
Invoke PP State Machine
Array Job Complete?
Notifies subscribed
users of end state via
email through SNS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Calculate compute requirements
"Compute requirements": {
"Resource": "ComputeRequirementsArnLambda”
"ResultPath": "$.guid",
"Type": "Task",
"Next": "Submit Merge Job Array",
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 5,
"BackoffRate": 2
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Submit merge job array
"Submit Merge Job Array": {
"Resource": “SubmitMergeJobArrayArn”,
"ResultPath": "$.guid",
"Type": "Task",
"Next": "Wait X Seconds",
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 5,
"BackoffRate": 2
]
}
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Waiting and getting status
"Wait X Seconds": {
"SecondsPath": "$.wait_time",
"Type": "Wait",
"Next": "Get Merge Job Array Status"
},
"Get Merge Job Array Status": {
"Resource": “GetMergeJobArrayStatusArn",
"ResultPath": "$.status",
"Type": "Task",
"Next": "Merge Job Array Complete?",
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 5,
"BackoffRate": 2
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Corporate
data center
HCS file transfer and job submission
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Subscribe to cluster run state changes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Use Amazon Simple Storage Service (Amazon S3) to
persist and iterate over large data sets and pass
object keys
• Extract certain business functionality by state
machine
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Iterate through large data sets using for loop or
iterator
• Avoid exceeding the maximum number of 25,000
history events in an execution:
How many of you lead a team?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Boss detector
Keepingthe team area safe
Challenge
• I want to be notified when my boss enters my team area and I want to know his mood
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Boss detector architecture
Reference
image
Upon
movement,
upload
snapshot
Upon new
snapshot
Start
Execution
Compare
images
Detect
emotions
Send SMS
Amazon
SNS
Amazon
S3
AWS Lambda
AWS DeepLens
Amazon
Rekognition
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Detecting emotions
def lambda_handler(event, context):
fileName=‘image.png'
bucket='boss-detector'
client=boto3.client('rekognition','us-east-1')
response =
client.detect_faces(Image={'S3Object':{'Bucket':bucket,'Name':fileName}
},Attributes=['ALL'])
# [...] Code that assembles the response into a string called emoStr
return {"jdEmotion": emoStr}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Passing data in the state machine
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
In action Detection
{'SourceImageFace': {'BoundingBox': {'Width':
0.24278846383094788, 'Height':
0.32371795177459717, 'Left':
0.4014423191547394, 'Top':
0.4246794879436493}, 'Confidence':
99.89337158203125}, 'FaceMatches':
[{'Similarity': 99.0, […]
Analysis
'AgeRange': {'Low': 39, 'High': 51}, 'Smile':
{'Value': True, 'Confidence':
87.71004486083984}, 'Sunglasses': {'Value':
False, 'Confidence': 93.51824188232422},
'Gender': {'Value': ‘Male', 'Confidence':
99.9888687133789}, 'Beard': {'Value': False,
'Confidence': 99.99958801269531}, […]
'Emotions': [{'Type': 'HAPPY', 'Confidence':
78.34557342529297}, {'Type': 'CALM',
'Confidence': 1.890808343887329}, {'Type':
'ANGRY', 'Confidence': 0.7760047912597656}],
[…]
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Quick and … clean
The costs
• 49 lines of Amazon States
Language
• $0.025 per 1,000 state
transitions (in US-East-1)
The benefits
• Modular, elastic, secure
architecture – as befits a
modern application
• Traceable, auditable
execution history
• Built-in error handling
• Visual representation of the
workflow
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
André Dufour
@arwdufour
#stepfunctions
Nick Whalen
nick.whalen@novartis.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
Amazon Web Services
 
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Amazon Web Services
 
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
Amazon Web Services
 
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
Amazon Web Services
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
Amazon Web Services
 
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Amazon Web Services
 
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
Amazon Web Services
 
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Amazon Web Services
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
Amazon Web Services
 
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
Amazon Web Services
 
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
Amazon Web Services
 
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
Amazon Web Services
 
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Amazon Web Services
 
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Amazon Web Services
 
Building Real-time Serverless Backends with GraphQL
Building Real-time Serverless Backends with GraphQLBuilding Real-time Serverless Backends with GraphQL
Building Real-time Serverless Backends with GraphQL
Amazon Web Services
 
Managed NoSQL databases
Managed NoSQL databasesManaged NoSQL databases
Managed NoSQL databases
Amazon Web Services
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Amazon Web Services
 
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
Amazon Web Services
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Amazon Web Services
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Amazon Web Services
 

What's hot (20)

How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
How ThingLogix Redefined the Conference Experience for VMworld Attendees (ARV...
 
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018
 
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
使用 AWS Step Functions 靈活調度 AWS Lambda (Level:200)
 
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
What's New with Amazon Redshift ft. McDonald's (ANT350-R1) - AWS re:Invent 2018
 
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
CI/CD for Serverless and Containerized Applications (DEV309-R1) - AWS re:Inve...
 
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
 
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
The New Normal for Mission-Critical SAP Workloads (ENT219-R1) - AWS re:Invent...
 
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
Develop Integrations for Salesforce and AWS (API320) - AWS re:Invent 2018
 
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
The Future of Enterprise Applications is Serverless (ENT314-R1) - AWS re:Inve...
 
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
“Cloud First” Helps Hub Intl Grow the Business with Splunk on AWS (ANT330-S) ...
 
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
Don’t Wait Until Tomorrow: From Batch to Streaming (ANT360) - AWS re:Invent 2018
 
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
Closing Loops and Opening Minds: How to Take Control of Systems, Big and Smal...
 
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
Enable Your Marketing Teams to Engage Users with Relevant & Personalized Cont...
 
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
Listen to Your Customers' Social Voice & Engage Them with Delightful Experien...
 
Building Real-time Serverless Backends with GraphQL
Building Real-time Serverless Backends with GraphQLBuilding Real-time Serverless Backends with GraphQL
Building Real-time Serverless Backends with GraphQL
 
Managed NoSQL databases
Managed NoSQL databasesManaged NoSQL databases
Managed NoSQL databases
 
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
Breaking Up the Monolith While Migrating to AWS (GPSTEC320) - AWS re:Invent 2018
 
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
Policy Verification and Enforcement at Scale with AWS (SEC320) - AWS re:Inven...
 
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...Build a Multi-Region Serverless Application for Resilience & High Availabilit...
Build a Multi-Region Serverless Application for Resilience & High Availabilit...
 
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
Build a Searchable Media Library & Moderate Content at Scale Using Machine Le...
 

Similar to Serverless State Management & Orchestration for Modern Apps (API302) - AWS re:Invent 2018

Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
Amazon Web Services
 
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
Amazon Web Services
 
End User Collaboration on AWS - AWS Online Tech Talks
End User Collaboration on AWS - AWS Online Tech TalksEnd User Collaboration on AWS - AWS Online Tech Talks
End User Collaboration on AWS - AWS Online Tech Talks
Amazon Web Services
 
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Amazon Web Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
Vladimir Simek
 
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Amazon Web Services
 
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
Amazon Web Services
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
Amazon Web Services
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
Amazon Web Services
 
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech TalksModernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
Amazon Web Services
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Amazon Web Services
 
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
Amazon Web Services
 
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Amazon Web Services
 
The Future of API Management Is Serverless
The Future of API Management Is ServerlessThe Future of API Management Is Serverless
The Future of API Management Is Serverless
Chris Munns
 
Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)
Amazon Web Services
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
Amazon Web Services
 
Serverless - State of the Union
Serverless - State of the UnionServerless - State of the Union
Serverless - State of the Union
Amazon Web Services
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
Amazon Web Services
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
Adrian Hornsby
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
Boaz Ziniman
 

Similar to Serverless State Management & Orchestration for Modern Apps (API302) - AWS re:Invent 2018 (20)

Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
Analyze Slide Images and Process Phenotypic Assays at Scale on AWS (CMP358) -...
 
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
Move Your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2.0 -...
 
End User Collaboration on AWS - AWS Online Tech Talks
End User Collaboration on AWS - AWS Online Tech TalksEnd User Collaboration on AWS - AWS Online Tech Talks
End User Collaboration on AWS - AWS Online Tech Talks
 
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
Architecting for Real-Time Insights with Amazon Kinesis (ANT310) - AWS re:Inv...
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
 
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
Real-Time Web Analytics with Amazon Kinesis Data Analytics (ADT401) - AWS re:...
 
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
Move your Desktops and Applications to AWS with Amazon WorkSpaces and AppStre...
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech TalksModernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
Modernize Your Desktop and Application Delivery with AWS - AWS Online Tech Talks
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
 
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStream 2
 
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
Distributed Solar Systems at EDF Renewables and AWS IoT: A Natural Fit (PUT30...
 
The Future of API Management Is Serverless
The Future of API Management Is ServerlessThe Future of API Management Is Serverless
The Future of API Management Is Serverless
 
Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)Work Anywhere with Amazon Workspaces (Level: 200)
Work Anywhere with Amazon Workspaces (Level: 200)
 
Analyzing Streams
Analyzing StreamsAnalyzing Streams
Analyzing Streams
 
Serverless - State of the Union
Serverless - State of the UnionServerless - State of the Union
Serverless - State of the Union
 
How can your business benefit from going Serverless
How can your business benefit from going ServerlessHow can your business benefit from going Serverless
How can your business benefit from going Serverless
 
How can your business benefit from going serverless?
How can your business benefit from going serverless?How can your business benefit from going serverless?
How can your business benefit from going serverless?
 
Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28Introduction to Serverless computing and AWS Lambda - Floor28
Introduction to Serverless computing and AWS Lambda - Floor28
 

More from Amazon Web Services

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...
Amazon Web Services
 
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...
Amazon Web Services
 
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
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon Web Services
 
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
Amazon Web Services
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
Amazon Web Services
 
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...
Amazon Web Services
 
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...
Amazon Web Services
 
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
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon Web Services
 
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
Amazon Web Services
 
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
Amazon Web Services
 
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
Amazon Web Services
 
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
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
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
Amazon Web Services
 

More from 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
 

Serverless State Management & Orchestration for Modern Apps (API302) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless State Management & Orchestration for Modern Apps André Dufour Senior Manager AWS Orchestration Services A P I 3 0 2 Nick Whalen Principal Software Engineer Novartis Institutes for Biomedical Research
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Modularity, microservices, and APIs Function API API Microservice Function Event API Microservice Event API Microservice Application
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Step Functions Visualize in the console Define in JSON Monitor executions
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Xylem Because everydrop of water counts Challenge • Make the data for tens of millions of endpoints available for data scientists, engineers, and data analysts; store it forever; and do it with a team of four people Results • Reduced processing time from 20+ hours to less than 2 hours • Improved cost efficiency – hardware no longer purchased for peak demand • Decreased personnel costs as they no longer manage infrastructure Patterns • Data preparation workflows; simple state machines • Using serverless when there is a large peak-to-average variation
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Step Functions Amazon Aurora Serverless AWS Batch Amazon S3 Amazon Elastic Compute Cloud (Amazon EC2) AWS Lambda function AWS Lambda function Controller app Fetch new files to parse Store metadata Parse job Parse job Parse job Parse job Parse job Parse job Parse job Amazon EC2 Amazon EC2 Solution architecture Amazon EC2
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Coinbase Buy and sell digital currency Challenge • Secure, reliable, immutable deployments with visibility by their engineers • Scale to multiple AWS accounts easily and quickly Results • Reduced new account deployment time • Increased the time a deployment can reliably run from 2 hours to 48 hours • Mission critical services deployment rate rose 7%
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Solution architecture
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Workflow How they did it • Step Functions provides the tools for reliability and visibility out of the box • Integration with Codeflow configuration management tool • End-to-end security validation prior to deployment into production • Six months from idea to use for all production deployments Pattern • Fail to a known state
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Granular Farm with confidence Challenge • Improve scaling and management of legacy application that performs machine data translation through ingestion and processing from large scale agricultural machinery Results • Easy integration between serverless and legacy application components • Scalable approach to running code through multiple technology stacks • Self documenting executions with Step Functions execution history Patterns • Step Functions to bridge from legacy to modern application development
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Workflow How they did it • Considered writing their own workflow engine but discounted it as they wanted to focus on their business logic • Used Step Functions because the activity API could easily combine Amazon EC2, Kubernetes, and AWS Lambda to create a modern application that is inclusive of useful legacy components C# and on Windows Server (EC2) Python lambda function
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Novartis Institutes for Biomedical Research (NIBR) Challenge • Provide scientists a tool to run image analysis workflows at scale Results • Reduced cluster processing times • Improved operational efficiencies • Delivered reliable, reproducible image analysis results • Able to effectively support enterprise scale application with a small team
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • The Novartis Institutes for BioMedical Research (NIBR) is the innovation engine of Novartis • We focus on new technologies that have the potential to help produce therapeutic breakthroughs for patients • 6 Research campuses across the globe • 200+ Projects in clinical pipeline • 500+ Clinical trials in progress
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. High content screening image analysis • Empowers scientists to directly run image analyses without depending on cluster experts • Provides for faster assay development and execution with more focus on the science rather than tools
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. plates wells
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. https AWS Batch EC2 Spot Fleet Amazon Aurora • Submits jobs to AWS Batch for processing • Persists job states Each batch job sends status updates to queue Image Analysis Results AWS Step Functions • Merges partial results • Aggregates • Updates job status • Notify subscribed users of state via email Results from each Batch job are written to Amazon S3 Client NIBR HCSIA architecture HCS images us-east-1 Elastic Load Balancing Auto Scaling Web service Retrieve job updates UI JSON Invoke PP State Machine Array Job Complete? Notifies subscribed users of end state via email through SNS
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Calculate compute requirements "Compute requirements": { "Resource": "ComputeRequirementsArnLambda” "ResultPath": "$.guid", "Type": "Task", "Next": "Submit Merge Job Array", "Retry": [ { "ErrorEquals": [ "Lambda.ServiceException", "Lambda.SdkClientException" ], "IntervalSeconds": 2, "MaxAttempts": 5, "BackoffRate": 2 }
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Submit merge job array "Submit Merge Job Array": { "Resource": “SubmitMergeJobArrayArn”, "ResultPath": "$.guid", "Type": "Task", "Next": "Wait X Seconds", "Retry": [ { "ErrorEquals": [ "Lambda.ServiceException", "Lambda.SdkClientException" ], "IntervalSeconds": 2, "MaxAttempts": 5, "BackoffRate": 2 ] } }
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Waiting and getting status "Wait X Seconds": { "SecondsPath": "$.wait_time", "Type": "Wait", "Next": "Get Merge Job Array Status" }, "Get Merge Job Array Status": { "Resource": “GetMergeJobArrayStatusArn", "ResultPath": "$.status", "Type": "Task", "Next": "Merge Job Array Complete?", "Retry": [ { "ErrorEquals": [ "Lambda.ServiceException", "Lambda.SdkClientException" ], "IntervalSeconds": 2, "MaxAttempts": 5, "BackoffRate": 2
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Corporate data center HCS file transfer and job submission
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Subscribe to cluster run state changes
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Use Amazon Simple Storage Service (Amazon S3) to persist and iterate over large data sets and pass object keys • Extract certain business functionality by state machine
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Iterate through large data sets using for loop or iterator • Avoid exceeding the maximum number of 25,000 history events in an execution:
  • 30. How many of you lead a team?
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Boss detector Keepingthe team area safe Challenge • I want to be notified when my boss enters my team area and I want to know his mood
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Boss detector architecture Reference image Upon movement, upload snapshot Upon new snapshot Start Execution Compare images Detect emotions Send SMS Amazon SNS Amazon S3 AWS Lambda AWS DeepLens Amazon Rekognition
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Detecting emotions def lambda_handler(event, context): fileName=‘image.png' bucket='boss-detector' client=boto3.client('rekognition','us-east-1') response = client.detect_faces(Image={'S3Object':{'Bucket':bucket,'Name':fileName} },Attributes=['ALL']) # [...] Code that assembles the response into a string called emoStr return {"jdEmotion": emoStr}
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Passing data in the state machine
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. In action Detection {'SourceImageFace': {'BoundingBox': {'Width': 0.24278846383094788, 'Height': 0.32371795177459717, 'Left': 0.4014423191547394, 'Top': 0.4246794879436493}, 'Confidence': 99.89337158203125}, 'FaceMatches': [{'Similarity': 99.0, […] Analysis 'AgeRange': {'Low': 39, 'High': 51}, 'Smile': {'Value': True, 'Confidence': 87.71004486083984}, 'Sunglasses': {'Value': False, 'Confidence': 93.51824188232422}, 'Gender': {'Value': ‘Male', 'Confidence': 99.9888687133789}, 'Beard': {'Value': False, 'Confidence': 99.99958801269531}, […] 'Emotions': [{'Type': 'HAPPY', 'Confidence': 78.34557342529297}, {'Type': 'CALM', 'Confidence': 1.890808343887329}, {'Type': 'ANGRY', 'Confidence': 0.7760047912597656}], […]
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Quick and … clean The costs • 49 lines of Amazon States Language • $0.025 per 1,000 state transitions (in US-East-1) The benefits • Modular, elastic, secure architecture – as befits a modern application • Traceable, auditable execution history • Built-in error handling • Visual representation of the workflow
  • 37. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. André Dufour @arwdufour #stepfunctions Nick Whalen nick.whalen@novartis.com
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.