SlideShare a Scribd company logo
1 of 68
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
WASHINGTON, D C
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Getting Started With Serverless
Architectures
Ray Chang
Solutions Architect
Amazon Web Services
S e s s i o n 2 9 5 4 2 1
Sandy Hider
Lead Developer, bossDB
Johns Hopkins University – Applied
Physics Laboratory
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Agenda
Fundamentals of serverless computing on AWS
Real world serverless computing application: bossDB
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
What is serverless?
No infrastructure provisioning,
no management
Automatic scaling
Pay for value Highly available and secure
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Managed Serverless
Microsoft SQL
Server
“On Amazon Elastic
Compute Cloud
(Amazon EC2)”
Amazon EC2
AWS LambdaAmazon Elastic Container
Service for Kubernetes
(EKS)
AWS FargateAmazon Elastic Container
Service (ECS)
Amazon EMR Amazon Elasticsearch
Service
Amazon Redshift
Amazon Kinesis
Amazon Simple
Queue Service
(SQS)
AWS
Step Functions
Amazon
DynamoDB
Amazon ElastiCache
Amazon Relational
Database Service (RDS)
AWS IoT CoreAmazon API
Gateway
Amazon Cognito
Amazon
Simple
Storage
Service (S3)
Spectrum of AWS Offerings
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Comparison of operational responsibility
AWS Lambda
Serverless functions
AWS Fargate
Serverless containers
Serverless
Infrastructure
AWS manages Customer manages
• Data source integrations
• Physical hardware, software, networking,
and facilities
• Provisioning
• Application code
• Container orchestration, provisioning
• Cluster scaling
• Physical hardware, host OS/kernel,
networking, and facilities
• Application code
• Data source integrations
• Security config and updates, network config,
management tasks
• Container orchestration control plane
• Physical hardware, software,
networking, and facilities
• Application code
• Data source integrations
• Work clusters
• Security config and updates, network config,
firewall, management tasks
• Physical hardware, software,
networking, and facilities
• Application code
• Data source integrations
• Scaling
• Security config and updates, network config,
management tasks
• Provisioning, managing, scaling, and
patching of servers
Amazon ECS/EKS
Container management as a service
Amazon EC2
Infrastructure as a service
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Serverless event-driven
code execution
Short-lived
All language runtimes
Data source integrations
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Making development easier with AWS Lambda
Trillions of executions every month for hundreds of thousands of active customers
Accessible for
all developers
Enable new
application patterns
Greater
productivity
Support for all runtimes
with Lambda Layers and Runtime API
ISO, PCI, HIPAA, SOC, GDPR,
and FedRamp compliances
15 minute functions
Amazon SQS for Lambda
Automatic Load Balancing for Lambda
Support for Kinesis Data Streams Enhanced
Fan-Out and HTTP/2
Toolkits for popular IDEs:
VSCode, IntelliJ, and PyCharm
Simplified deployment
with nested apps
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
DATA STORES ENDPOINTS
DEVELOPMENT AND MANAGEMENT TOOLS EVENT/MESSAGE SERVICES
Event sources that trigger AWS Lambda
…and more!
Amazon S3 Amazon
DynamoDB
Amazon Kinesis Amazon Cognito AWS Step Functions AWS IoT CoreAmazon API
Gateway
Alexa
Amazon SQS Amazon
Simple
Notification
Service
(SNS)
Amazon Simple
Email Service
(SES)
AWS
CloudFormation
AWS
CloudTrail
AWS
CodePipeline
Amazon
CloudWatch
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
'use strict'
exports.handler = function (event, context, callback) {
console.log(“Event:”, JSON.stringify(event))
callback(null, ”Hello World!")
}
{
“Records”:[
“s3”: {
“object”:” { … }
}
]
}
JSON Context
Basic Function Code
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Author and debug Lambda applications on AWS
using your favorite IDEs
AWS
Cloud9
Python, Node
AWS Toolkit
for PyCharm
Python
AWS Toolkit
for IntelliJ
Developer
Preview
Java, Python
AWS Toolkit
for Visual Studio
Code
Developer
Preview
.NET, Node
AWS Toolkit
for Eclipse
Java
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Lambda Layers
Lets functions easily share code: Upload layer
once, reference within any function
Promote separation of responsibilities, lets
developers iterate faster on writing business logic
Built in support for secure sharing by ecosystem
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Create a unified
API front end for
multiple
microservices
Authenticate and
authorize
requests to a
backend
DDoS protection
and throttling
for your backend
Throttle, meter,
and monetize API
usage by third-
party developers
Amazon API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Internet
Mobile Apps
Websites
Services
All publicly
accessible endpoints
Amazon
CloudFront
Amazon
CloudWatch
Amazon API
Gateway
AWS Step Functions
Amazon EC2
AWS Lambda
Other
AWS
services
Amazon API Gateway
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
“Serverless” workflow management
with zero administration:
• Coordinates distributed
applications using visual workflows
• Automatically triggers, tracks, and
logs each step
AWS Step Functions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
• User pools for secure, managed
user directories
• Identity pools for federation and
role-based access control
Amazon Cognito
• Fine-grained access control to
AWS resources
AWS Identity and Access
Management (IAM)
Security and Identity
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
AWS X-RayAmazon CloudWatch
Logging and Monitoring
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
bossDB
• Neuroscience data storage service
• Resilient, multi-tier cloud data storage
& data caching
• Scalable, highly available RESTful
interfaces; load balancing
• User authentication / authorization
through SSO
• API with numerous core services,
supported clients, integrated tools
• Data Annotation (e.g., supervoxel objects)
• Data Visualization
• Data Access Services (e.g., images, objects,
volumetric, metadata)
• Data Ingest (e.g., image stack, volumetric)
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
bossDB Sponsors
IARPA MICrONS
Machine Intelligence from
Cortical Networks
• Seeks to revolutionize
machine learning
• Reverse-engineering the
algorithms of the brain
NIH bossDB
Neuroscience Community
Data Ecosystem
• A cloud-based data
ecosystem
• Electron microscopy,
X-ray microtomography
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Johns Hopkins University / Applied Physics Laboratory
• Division of Johns Hopkins University
• University Affiliated Research Center
• Founded in 1942
• Laurel, MD Campus
• > 6,000 staff
• Government sponsors:
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
bossDB - Blocks
• Block and Object Storage Service (“boss”)
• “Block” is multi-dimensional data (cuboid) created from several image tiles
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
bossDB - Objects
• bossDB stores annotation data co-registered to image data
• An annotation is a unique 64-bit identifier applied to a set of voxels, representing
its spatial distribution or “Object”
ID: 1267
ID: 345345
ID: 534534799
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
How we use serverless technologies
• Tasks that only run periodically
• Error Reporting
• Managing Servers
Lambda
DynamoDB
Amazon SQS Step Function
Amazon S3
Amazon SNS
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Specific examples
• High speed ingest
• Downsample
• Management of HashiCorp’s Vault and Consul Servers
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Generic high speed ingest
• 16 Images (tiles) are converted to 3D Blocks of data called cuboids
DynamoDB
Cuboid Index
S3 Cuboid
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
High speed ingest by the numbers
• Ingest can be started at any hour by use
• Scale up between 2GB to 2PB of data for an Ingest
• Clients bandwidth should be limiting factor
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client Cuboid
Bucket
Cuboid
Index
• Goal - populate cuboids into S3
and DynamoDB
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Tile
Index
Tile
Bucket
Cuboid
Bucket
Cuboid
Index
• Use temporary storage / index
• Need 16 consecutive tile images
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• At start of ingest job, create SQS
Queues and Step Function
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Step Function launches Lambdas
• Populates SQS with all tiles
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Client gets message
• Uploads requested tile
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Client is multithreaded
• Multiple clients can join
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Object
Triggered
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• New S3 Object Triggers Lambda
• If 16 tiles – Create Cuboid Ready
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Object
Triggered
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Delete tile message from SQS
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Object
Triggered
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
Create
Cuboid
• SQS triggers Lambda to create
cuboid
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
1st attempt at high speed ingest
Client
Populate
Images
to Upload
Tile
Index
Tile
Bucket
Step Function
Object
Triggered
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
Create
Cuboid
• Lambda is given list of 16 tiles
• Creates cuboid
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Problem with triggered lambda deleting messages in SQS
• Concurrent lambda limit can
be reached
• Lambdas throttle and fail to
delete image message
Images
to upload
Tile
Bucket
Object
Triggered
Client
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Problem with triggered lambda deleting messages in SQS
• Concurrent lambda limit can
be reached
• Lambdas throttle and fail to
delete image message
• Message becomes visible
• Client repeats work!
Images
to upload
Tile
Bucket
Object
Triggered
Client
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Additional problem
• Created DynamoDB Global Secondary Index of Ingest Job ID
• Caused hot-spot in single partition
• Solution append random number 001-100 to the ID
Client Images
to upload
Tile
Index
Tile
Bucket
Object
Triggered
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client
Tile
Index
Tile
Bucket
Cuboid
Bucket
Cuboid
Index
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• New SQS Tile Queue
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Client gets message
• Uploads requested tile
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Client creates corresponding
message in Tile Queue
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Client deletes message
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Message
Triggered
Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
• Message triggers Lambda
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Final solution to high speed ingest
Client Message
Triggered
Images
to Upload
Tile
Index
Tile
Bucket
Tile
Queue
Cuboid
Ready
Cuboid
Bucket
Cuboid
Index
Create
Cuboid
• No other changes
• Works when lambdas throttle
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Ingest Speeds
Ingest speeds
over
200 GB / min
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Heaviside
Python Library and DSL for working with AWS Step Functions
• The Step Function state machine language, while flexible, is hard to
write and maintain
• Heaviside is a Python package that provides several components to
make Step Functions easier to use
• DSL and Compiler – Greatly simplifies writing and maintaining Step Functions
in AWS
• Framework for running Activities
https://github.com/jhuapl-boss/heaviside
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Heaviside Example
"""Delete Cuboid
Removes all of the different data related to a given
cuboid,
removes the actual cuboid data, and then cleans up
the final
bookkeeping for the cuboid
"""
parallel:
Activity('delete_metadata')
"""delete_metadata
deletes metadata"""
retry [] 60 4 2.0
parallel:
Activity('delete_id_count')
"""delete_id_count
deletes from dynamodb table idcount"""
retry [] 60 4 2.0
parallel:
Activity('delete_id_index')
"""delete_id_index
deletes from dyanmodb table idindex"""
retry [] 60 4 2.0
Compiles
48 lines
154 lines
Step Function JSON
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Downsampling
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Downsampled tiles
~2 PB
~512 TB
~128 TB
~32 TB
~8 TB
~2 TB
~0.5 TB
125 GB
Can have 6 – 10 resolution levels
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Downsampling by the numbers
• Only downsample 1% of the time
• For a 2PB image dataset downsample could require
• 37 million S3 and DynamoDB writes
• 148 million S3 and DynamoDB reads
• Users can kick these off at any hour of the day
• Serverless Benefit
• Don’t need to keep servers up when workflow is not running
• Can massively scale processing for short periods of time without administrator in the loop
• Don’t need to worry about high availability
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Our solution to downsampling
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
Downsample
Sets
Downsample
Lambda DLQ
• Downsample Sets
4 -> 1 Populated
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Our solution to downsampling
Downsample
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
• Step Function
launches Lambdas in
parallel
Downsample
Sets
Downsample
Lambda DLQ
Lambda checker
Activity
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Our solution to downsampling
Downsample
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
• Lambda gets message
• Creates new cuboid,
merging 4 together
Downsample
Sets
Downsample
Lambda DLQ
Lambda checker
Activity
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Our solution to downsampling
Downsample
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
• Uses Lambda DLQ to
find errors
Downsample
Sets
Downsample
Lambda DLQ
Lambda checker
Activity
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Our solution to downsampling
Downsample
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
• Repeat for every
downsample
resolution level
Downsample
Sets
Downsample
Lambda DLQ
Lambda checker
Activity
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
If I were to redesign downsample now
Downsample
Cuboid
Bucket
Cuboid
Index
AWS Step Functions workflow
Populate
Activity
Lambda checker
Activity
• Use Event Source
• Can limit concurrent
Lambdas
Event SourceDownsample
Sets
Downsample
Lambda DLQ
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Management of HashiCorp’s Vault and Consul servers
• Use Vault and Consul to manage system
secrets
• Consul distributed database need 3 of
the 5 servers up syncing data to
function
• In memory only database
• Cannot allow servers to terminate as could trash
in memory database
• New Vault Servers need to be manual
unsealed
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Solution to manage Vault and Consul
VPC
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Serverless architecture takeaways
• Easy to connect and coordinate distributed components
and microservices
• Don’t waste resources for task that only run periodically
• High availability without extra resources
• Massively scale on demand
• Diagnose and debug problems faster
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Acknowledgements
• Caitlyn Bishop
• Joe Downs
• Conrad Fernandes
• Tim Gion
• Dean Kleissas
• Jordan Matelsky
• Derek Pryor
• Luis Rodiguez
• Will Gray Roncal
• Brock Wester
• Miller Wilt
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Project Links
bossDB: github.com/jhuapl-boss
bossDB.org
Heaviside: github.com/jhuapl-boss/Heaviside
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T
Sandy Hider
Sandy.hider@jhuapl.edu
Ray Chang
rchang@amazon.com
P U B L I C S E C T O R
S U M M I T
P U B L I C S E C T O R
S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R
S U M M I T

More Related Content

What's hot

ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...
ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...
ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...Amazon Web Services
 
CON309_Containerized Machine Learning on AWS
CON309_Containerized Machine Learning on AWSCON309_Containerized Machine Learning on AWS
CON309_Containerized Machine Learning on AWSAmazon Web Services
 
Architetture per l'analisi di flussi di dati in tempo reale
Architetture per l'analisi di flussi di dati in tempo realeArchitetture per l'analisi di flussi di dati in tempo reale
Architetture per l'analisi di flussi di dati in tempo realeAmazon Web Services
 
Innovation-at-Hyper-scale-Outlook-on-Emerging-Technologies
Innovation-at-Hyper-scale-Outlook-on-Emerging-TechnologiesInnovation-at-Hyper-scale-Outlook-on-Emerging-Technologies
Innovation-at-Hyper-scale-Outlook-on-Emerging-TechnologiesAmazon Web Services
 
An Overview of Best Practices for Large Scale Migrations
An Overview of Best Practices for Large Scale MigrationsAn Overview of Best Practices for Large Scale Migrations
An Overview of Best Practices for Large Scale MigrationsAmazon Web Services
 
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...Amazon Web Services
 
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...Amazon Web Services
 
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...Amazon Web Services
 
MAE402-Media Intelligence for the Cloud with Amazon AI.pdf
MAE402-Media Intelligence for the Cloud with Amazon AI.pdfMAE402-Media Intelligence for the Cloud with Amazon AI.pdf
MAE402-Media Intelligence for the Cloud with Amazon AI.pdfAmazon Web Services
 
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS Summit
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS SummitSecurely Deliver Applications with AWS - SVC305 - Anaheim AWS Summit
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS SummitAmazon Web Services
 
High-Performance-Computing-on-AWS-and-Industry-Simulation
High-Performance-Computing-on-AWS-and-Industry-SimulationHigh-Performance-Computing-on-AWS-and-Industry-Simulation
High-Performance-Computing-on-AWS-and-Industry-SimulationAmazon Web Services
 
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...Amazon Web Services
 
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017Amazon Web Services
 
Best practices for running Windows workloads on AWS
Best practices for running Windows workloads on AWSBest practices for running Windows workloads on AWS
Best practices for running Windows workloads on AWSAmazon Web Services
 
Building-Serverless-Analytics-On-AWS
Building-Serverless-Analytics-On-AWSBuilding-Serverless-Analytics-On-AWS
Building-Serverless-Analytics-On-AWSAmazon Web Services
 
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex Pollexy
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex PollexyMCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex Pollexy
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex PollexyAmazon Web Services
 
Make Your Data Move: Best Practices for Migrating Data to AWS
Make Your Data Move: Best Practices for Migrating Data to AWSMake Your Data Move: Best Practices for Migrating Data to AWS
Make Your Data Move: Best Practices for Migrating Data to AWSAmazon Web Services
 
Migrating Data to the Cloud: Explore Your Options From AWS
Migrating Data to the Cloud: Explore Your Options From AWSMigrating Data to the Cloud: Explore Your Options From AWS
Migrating Data to the Cloud: Explore Your Options From AWSAmazon Web Services
 

What's hot (20)

ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...
ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...
ATC302_How to Leverage AWS Machine Learning Services to Analyze and Optimize ...
 
CON309_Containerized Machine Learning on AWS
CON309_Containerized Machine Learning on AWSCON309_Containerized Machine Learning on AWS
CON309_Containerized Machine Learning on AWS
 
Architetture per l'analisi di flussi di dati in tempo reale
Architetture per l'analisi di flussi di dati in tempo realeArchitetture per l'analisi di flussi di dati in tempo reale
Architetture per l'analisi di flussi di dati in tempo reale
 
Innovation-at-Hyper-scale-Outlook-on-Emerging-Technologies
Innovation-at-Hyper-scale-Outlook-on-Emerging-TechnologiesInnovation-at-Hyper-scale-Outlook-on-Emerging-Technologies
Innovation-at-Hyper-scale-Outlook-on-Emerging-Technologies
 
An Overview of Best Practices for Large Scale Migrations
An Overview of Best Practices for Large Scale MigrationsAn Overview of Best Practices for Large Scale Migrations
An Overview of Best Practices for Large Scale Migrations
 
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...
Migrating on-premises Apache Spark and Hive to Amazon EMR - ADB304 - New York...
 
EC2_and_VPC_workshop
EC2_and_VPC_workshopEC2_and_VPC_workshop
EC2_and_VPC_workshop
 
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
MAE304-Turners Cloud Archive for CNN's Video Library and Global Multiplatform...
 
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...
LFS301-SAGE Bionetworks, Digital Mammography DREAM Challenge and How AWS Enab...
 
MAE402-Media Intelligence for the Cloud with Amazon AI.pdf
MAE402-Media Intelligence for the Cloud with Amazon AI.pdfMAE402-Media Intelligence for the Cloud with Amazon AI.pdf
MAE402-Media Intelligence for the Cloud with Amazon AI.pdf
 
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS Summit
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS SummitSecurely Deliver Applications with AWS - SVC305 - Anaheim AWS Summit
Securely Deliver Applications with AWS - SVC305 - Anaheim AWS Summit
 
High-Performance-Computing-on-AWS-and-Industry-Simulation
High-Performance-Computing-on-AWS-and-Industry-SimulationHigh-Performance-Computing-on-AWS-and-Industry-Simulation
High-Performance-Computing-on-AWS-and-Industry-Simulation
 
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...
CMP216_Use Amazon EC2 Spot Instances to Deploy a Deep Learning Framework on A...
 
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017
Zombie Annihilation Using AWS Big Data - ABD328 - re:Invent 2017
 
Best practices for running Windows workloads on AWS
Best practices for running Windows workloads on AWSBest practices for running Windows workloads on AWS
Best practices for running Windows workloads on AWS
 
Building-Serverless-Analytics-On-AWS
Building-Serverless-Analytics-On-AWSBuilding-Serverless-Analytics-On-AWS
Building-Serverless-Analytics-On-AWS
 
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex Pollexy
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex PollexyMCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex Pollexy
MCL331_Building a Virtual Assistant with Amazon Polly and Amazon Lex Pollexy
 
Make Your Data Move: Best Practices for Migrating Data to AWS
Make Your Data Move: Best Practices for Migrating Data to AWSMake Your Data Move: Best Practices for Migrating Data to AWS
Make Your Data Move: Best Practices for Migrating Data to AWS
 
HLC308_Refactoring to the Cloud
HLC308_Refactoring to the CloudHLC308_Refactoring to the Cloud
HLC308_Refactoring to the Cloud
 
Migrating Data to the Cloud: Explore Your Options From AWS
Migrating Data to the Cloud: Explore Your Options From AWSMigrating Data to the Cloud: Explore Your Options From AWS
Migrating Data to the Cloud: Explore Your Options From AWS
 

Similar to Getting Started with Serverless Architectures

Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAWS Summits
 
To Infinity and Beyond: What's new with Serverless
To Infinity and Beyond: What's new with ServerlessTo Infinity and Beyond: What's new with Serverless
To Infinity and Beyond: What's new with ServerlessAmazon Web Services
 
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...Amazon Web Services Korea
 
AWS CloudFormation Deep Dive and Recent Enhancements
AWS CloudFormation Deep Dive and Recent EnhancementsAWS CloudFormation Deep Dive and Recent Enhancements
AWS CloudFormation Deep Dive and Recent EnhancementsAmazon Web Services
 
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Amazon Web Services
 
Scale - Best Practices for Migrating your Microsoft Workloads to AWS
Scale - Best Practices for Migrating your Microsoft Workloads to AWSScale - Best Practices for Migrating your Microsoft Workloads to AWS
Scale - Best Practices for Migrating your Microsoft Workloads to AWSAmazon Web Services
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesAmazon Web Services
 
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS AmplifyTake Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS AmplifyAmazon Web Services
 
Building a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesBuilding a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesAmazon Web Services
 
Stream processing and managing real-time data
Stream processing and managing real-time dataStream processing and managing real-time data
Stream processing and managing real-time dataAmazon Web Services
 
Best Practices for Migrating your Microsoft Workloads to AWS
Best Practices for Migrating your Microsoft Workloads to AWSBest Practices for Migrating your Microsoft Workloads to AWS
Best Practices for Migrating your Microsoft Workloads to AWSAmazon Web Services
 
Building Data Lakes & Analytics on AWS
Building Data Lakes & Analytics on AWSBuilding Data Lakes & Analytics on AWS
Building Data Lakes & Analytics on AWSAWS Summits
 
So You've Got ATO - Are You Sure You are Secure?
So You've Got ATO - Are You Sure You are Secure?So You've Got ATO - Are You Sure You are Secure?
So You've Got ATO - Are You Sure You are Secure?Amazon Web Services
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesSimplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesAWS Summits
 
Scale - Implementing a Data Warehouse on AWS
Scale - Implementing a Data Warehouse on AWSScale - Implementing a Data Warehouse on AWS
Scale - Implementing a Data Warehouse on AWSAmazon Web Services
 
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...Amazon Web Services Korea
 
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...Amazon Web Services
 
Microsoft SQL Server Migration Strategies
Microsoft SQL Server Migration StrategiesMicrosoft SQL Server Migration Strategies
Microsoft SQL Server Migration StrategiesAmazon Web Services
 
Implementing a Data Warehouse on AWS in a Hybrid Environment
Implementing a Data Warehouse on AWS in a Hybrid EnvironmentImplementing a Data Warehouse on AWS in a Hybrid Environment
Implementing a Data Warehouse on AWS in a Hybrid EnvironmentAmazon Web Services
 

Similar to Getting Started with Serverless Architectures (20)

Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
To Infinity and Beyond: What's new with Serverless
To Infinity and Beyond: What's new with ServerlessTo Infinity and Beyond: What's new with Serverless
To Infinity and Beyond: What's new with Serverless
 
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...
갤럭시 규모의 인공지능 서비스를 위한 AWS 데이터베이스 아키텍처 - 김상필 솔루션 아키텍트 매니저, AWS / 김정환 데브옵스 엔지니어,...
 
AWS CloudFormation Deep Dive and Recent Enhancements
AWS CloudFormation Deep Dive and Recent EnhancementsAWS CloudFormation Deep Dive and Recent Enhancements
AWS CloudFormation Deep Dive and Recent Enhancements
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
Favorire l'innovazione passando da applicazioni monolitiche ad architetture m...
 
Scale - Best Practices for Migrating your Microsoft Workloads to AWS
Scale - Best Practices for Migrating your Microsoft Workloads to AWSScale - Best Practices for Migrating your Microsoft Workloads to AWS
Scale - Best Practices for Migrating your Microsoft Workloads to AWS
 
Getting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless ArchitecturesGetting Started with Microservices, Containers, and Serverless Architectures
Getting Started with Microservices, Containers, and Serverless Architectures
 
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS AmplifyTake Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
Take Mobile and Web Apps to the Next Level with AWS AppSync and AWS Amplify
 
Building a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesBuilding a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless Technologies
 
Stream processing and managing real-time data
Stream processing and managing real-time dataStream processing and managing real-time data
Stream processing and managing real-time data
 
Best Practices for Migrating your Microsoft Workloads to AWS
Best Practices for Migrating your Microsoft Workloads to AWSBest Practices for Migrating your Microsoft Workloads to AWS
Best Practices for Migrating your Microsoft Workloads to AWS
 
Building Data Lakes & Analytics on AWS
Building Data Lakes & Analytics on AWSBuilding Data Lakes & Analytics on AWS
Building Data Lakes & Analytics on AWS
 
So You've Got ATO - Are You Sure You are Secure?
So You've Got ATO - Are You Sure You are Secure?So You've Got ATO - Are You Sure You are Secure?
So You've Got ATO - Are You Sure You are Secure?
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesSimplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
 
Scale - Implementing a Data Warehouse on AWS
Scale - Implementing a Data Warehouse on AWSScale - Implementing a Data Warehouse on AWS
Scale - Implementing a Data Warehouse on AWS
 
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...
AWS 미디어 서비스를 이용한 글로벌 라이브 스트리밍 서비스 구축 - 황윤상 솔루션즈 아키텍트, AWS / 조용진 솔루션즈 아키텍트, AW...
 
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...
Beyond Security Automation: How to Move Past Developing Ad-hoc Tools and Make...
 
Microsoft SQL Server Migration Strategies
Microsoft SQL Server Migration StrategiesMicrosoft SQL Server Migration Strategies
Microsoft SQL Server Migration Strategies
 
Implementing a Data Warehouse on AWS in a Hybrid Environment
Implementing a Data Warehouse on AWS in a Hybrid EnvironmentImplementing a Data Warehouse on AWS in a Hybrid Environment
Implementing a Data Warehouse on AWS in a Hybrid Environment
 

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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon 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
 
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 WorkloadsAmazon 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 sfatareAmazon 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 NodeJSAmazon 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 webAmazon 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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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 ServiceAmazon 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
 

Getting Started with Serverless Architectures

  • 1. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T WASHINGTON, D C
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Getting Started With Serverless Architectures Ray Chang Solutions Architect Amazon Web Services S e s s i o n 2 9 5 4 2 1 Sandy Hider Lead Developer, bossDB Johns Hopkins University – Applied Physics Laboratory © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 3. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Agenda Fundamentals of serverless computing on AWS Real world serverless computing application: bossDB © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T
  • 5. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T What is serverless? No infrastructure provisioning, no management Automatic scaling Pay for value Highly available and secure © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Managed Serverless Microsoft SQL Server “On Amazon Elastic Compute Cloud (Amazon EC2)” Amazon EC2 AWS LambdaAmazon Elastic Container Service for Kubernetes (EKS) AWS FargateAmazon Elastic Container Service (ECS) Amazon EMR Amazon Elasticsearch Service Amazon Redshift Amazon Kinesis Amazon Simple Queue Service (SQS) AWS Step Functions Amazon DynamoDB Amazon ElastiCache Amazon Relational Database Service (RDS) AWS IoT CoreAmazon API Gateway Amazon Cognito Amazon Simple Storage Service (S3) Spectrum of AWS Offerings © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 7. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Comparison of operational responsibility AWS Lambda Serverless functions AWS Fargate Serverless containers Serverless Infrastructure AWS manages Customer manages • Data source integrations • Physical hardware, software, networking, and facilities • Provisioning • Application code • Container orchestration, provisioning • Cluster scaling • Physical hardware, host OS/kernel, networking, and facilities • Application code • Data source integrations • Security config and updates, network config, management tasks • Container orchestration control plane • Physical hardware, software, networking, and facilities • Application code • Data source integrations • Work clusters • Security config and updates, network config, firewall, management tasks • Physical hardware, software, networking, and facilities • Application code • Data source integrations • Scaling • Security config and updates, network config, management tasks • Provisioning, managing, scaling, and patching of servers Amazon ECS/EKS Container management as a service Amazon EC2 Infrastructure as a service © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 8. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Serverless event-driven code execution Short-lived All language runtimes Data source integrations © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Making development easier with AWS Lambda Trillions of executions every month for hundreds of thousands of active customers Accessible for all developers Enable new application patterns Greater productivity Support for all runtimes with Lambda Layers and Runtime API ISO, PCI, HIPAA, SOC, GDPR, and FedRamp compliances 15 minute functions Amazon SQS for Lambda Automatic Load Balancing for Lambda Support for Kinesis Data Streams Enhanced Fan-Out and HTTP/2 Toolkits for popular IDEs: VSCode, IntelliJ, and PyCharm Simplified deployment with nested apps © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 10. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T DATA STORES ENDPOINTS DEVELOPMENT AND MANAGEMENT TOOLS EVENT/MESSAGE SERVICES Event sources that trigger AWS Lambda …and more! Amazon S3 Amazon DynamoDB Amazon Kinesis Amazon Cognito AWS Step Functions AWS IoT CoreAmazon API Gateway Alexa Amazon SQS Amazon Simple Notification Service (SNS) Amazon Simple Email Service (SES) AWS CloudFormation AWS CloudTrail AWS CodePipeline Amazon CloudWatch © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 'use strict' exports.handler = function (event, context, callback) { console.log(“Event:”, JSON.stringify(event)) callback(null, ”Hello World!") } { “Records”:[ “s3”: { “object”:” { … } } ] } JSON Context Basic Function Code © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 12. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Author and debug Lambda applications on AWS using your favorite IDEs AWS Cloud9 Python, Node AWS Toolkit for PyCharm Python AWS Toolkit for IntelliJ Developer Preview Java, Python AWS Toolkit for Visual Studio Code Developer Preview .NET, Node AWS Toolkit for Eclipse Java © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 13. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Lambda Layers Lets functions easily share code: Upload layer once, reference within any function Promote separation of responsibilities, lets developers iterate faster on writing business logic Built in support for secure sharing by ecosystem © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Create a unified API front end for multiple microservices Authenticate and authorize requests to a backend DDoS protection and throttling for your backend Throttle, meter, and monetize API usage by third- party developers Amazon API Gateway © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Internet Mobile Apps Websites Services All publicly accessible endpoints Amazon CloudFront Amazon CloudWatch Amazon API Gateway AWS Step Functions Amazon EC2 AWS Lambda Other AWS services Amazon API Gateway © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T “Serverless” workflow management with zero administration: • Coordinates distributed applications using visual workflows • Automatically triggers, tracks, and logs each step AWS Step Functions © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 17. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T • User pools for secure, managed user directories • Identity pools for federation and role-based access control Amazon Cognito • Fine-grained access control to AWS resources AWS Identity and Access Management (IAM) Security and Identity © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T AWS X-RayAmazon CloudWatch Logging and Monitoring © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T
  • 20. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T bossDB • Neuroscience data storage service • Resilient, multi-tier cloud data storage & data caching • Scalable, highly available RESTful interfaces; load balancing • User authentication / authorization through SSO • API with numerous core services, supported clients, integrated tools • Data Annotation (e.g., supervoxel objects) • Data Visualization • Data Access Services (e.g., images, objects, volumetric, metadata) • Data Ingest (e.g., image stack, volumetric)
  • 21. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T bossDB Sponsors IARPA MICrONS Machine Intelligence from Cortical Networks • Seeks to revolutionize machine learning • Reverse-engineering the algorithms of the brain NIH bossDB Neuroscience Community Data Ecosystem • A cloud-based data ecosystem • Electron microscopy, X-ray microtomography
  • 22. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Johns Hopkins University / Applied Physics Laboratory • Division of Johns Hopkins University • University Affiliated Research Center • Founded in 1942 • Laurel, MD Campus • > 6,000 staff • Government sponsors:
  • 23. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T bossDB - Blocks • Block and Object Storage Service (“boss”) • “Block” is multi-dimensional data (cuboid) created from several image tiles
  • 24. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T bossDB - Objects • bossDB stores annotation data co-registered to image data • An annotation is a unique 64-bit identifier applied to a set of voxels, representing its spatial distribution or “Object” ID: 1267 ID: 345345 ID: 534534799
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T
  • 26. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T How we use serverless technologies • Tasks that only run periodically • Error Reporting • Managing Servers Lambda DynamoDB Amazon SQS Step Function Amazon S3 Amazon SNS
  • 27. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Specific examples • High speed ingest • Downsample • Management of HashiCorp’s Vault and Consul Servers
  • 28. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Generic high speed ingest • 16 Images (tiles) are converted to 3D Blocks of data called cuboids DynamoDB Cuboid Index S3 Cuboid
  • 29. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T High speed ingest by the numbers • Ingest can be started at any hour by use • Scale up between 2GB to 2PB of data for an Ingest • Clients bandwidth should be limiting factor
  • 30. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Cuboid Bucket Cuboid Index • Goal - populate cuboids into S3 and DynamoDB
  • 31. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Tile Index Tile Bucket Cuboid Bucket Cuboid Index • Use temporary storage / index • Need 16 consecutive tile images
  • 32. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Images to Upload Tile Index Tile Bucket Step Function Cuboid Ready Cuboid Bucket Cuboid Index • At start of ingest job, create SQS Queues and Step Function
  • 33. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Cuboid Ready Cuboid Bucket Cuboid Index • Step Function launches Lambdas • Populates SQS with all tiles
  • 34. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Cuboid Ready Cuboid Bucket Cuboid Index • Client gets message • Uploads requested tile
  • 35. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Cuboid Ready Cuboid Bucket Cuboid Index • Client is multithreaded • Multiple clients can join
  • 36. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Object Triggered Cuboid Ready Cuboid Bucket Cuboid Index • New S3 Object Triggers Lambda • If 16 tiles – Create Cuboid Ready
  • 37. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Object Triggered Cuboid Ready Cuboid Bucket Cuboid Index • Delete tile message from SQS
  • 38. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Object Triggered Cuboid Ready Cuboid Bucket Cuboid Index Create Cuboid • SQS triggers Lambda to create cuboid
  • 39. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T 1st attempt at high speed ingest Client Populate Images to Upload Tile Index Tile Bucket Step Function Object Triggered Cuboid Ready Cuboid Bucket Cuboid Index Create Cuboid • Lambda is given list of 16 tiles • Creates cuboid
  • 40. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Problem with triggered lambda deleting messages in SQS • Concurrent lambda limit can be reached • Lambdas throttle and fail to delete image message Images to upload Tile Bucket Object Triggered Client
  • 41. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Problem with triggered lambda deleting messages in SQS • Concurrent lambda limit can be reached • Lambdas throttle and fail to delete image message • Message becomes visible • Client repeats work! Images to upload Tile Bucket Object Triggered Client
  • 42. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Additional problem • Created DynamoDB Global Secondary Index of Ingest Job ID • Caused hot-spot in single partition • Solution append random number 001-100 to the ID Client Images to upload Tile Index Tile Bucket Object Triggered
  • 43. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Tile Index Tile Bucket Cuboid Bucket Cuboid Index
  • 44. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index • New SQS Tile Queue
  • 45. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index • Client gets message • Uploads requested tile
  • 46. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index • Client creates corresponding message in Tile Queue
  • 47. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index • Client deletes message
  • 48. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Message Triggered Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index • Message triggers Lambda
  • 49. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Final solution to high speed ingest Client Message Triggered Images to Upload Tile Index Tile Bucket Tile Queue Cuboid Ready Cuboid Bucket Cuboid Index Create Cuboid • No other changes • Works when lambdas throttle
  • 50. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Ingest Speeds Ingest speeds over 200 GB / min
  • 51. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Heaviside Python Library and DSL for working with AWS Step Functions • The Step Function state machine language, while flexible, is hard to write and maintain • Heaviside is a Python package that provides several components to make Step Functions easier to use • DSL and Compiler – Greatly simplifies writing and maintaining Step Functions in AWS • Framework for running Activities https://github.com/jhuapl-boss/heaviside
  • 52. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Heaviside Example """Delete Cuboid Removes all of the different data related to a given cuboid, removes the actual cuboid data, and then cleans up the final bookkeeping for the cuboid """ parallel: Activity('delete_metadata') """delete_metadata deletes metadata""" retry [] 60 4 2.0 parallel: Activity('delete_id_count') """delete_id_count deletes from dynamodb table idcount""" retry [] 60 4 2.0 parallel: Activity('delete_id_index') """delete_id_index deletes from dyanmodb table idindex""" retry [] 60 4 2.0 Compiles 48 lines 154 lines Step Function JSON
  • 53. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Downsampling
  • 54. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Downsampled tiles ~2 PB ~512 TB ~128 TB ~32 TB ~8 TB ~2 TB ~0.5 TB 125 GB Can have 6 – 10 resolution levels
  • 55. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Downsampling by the numbers • Only downsample 1% of the time • For a 2PB image dataset downsample could require • 37 million S3 and DynamoDB writes • 148 million S3 and DynamoDB reads • Users can kick these off at any hour of the day • Serverless Benefit • Don’t need to keep servers up when workflow is not running • Can massively scale processing for short periods of time without administrator in the loop • Don’t need to worry about high availability
  • 56. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Our solution to downsampling Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity Downsample Sets Downsample Lambda DLQ • Downsample Sets 4 -> 1 Populated
  • 57. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Our solution to downsampling Downsample Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity • Step Function launches Lambdas in parallel Downsample Sets Downsample Lambda DLQ Lambda checker Activity
  • 58. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Our solution to downsampling Downsample Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity • Lambda gets message • Creates new cuboid, merging 4 together Downsample Sets Downsample Lambda DLQ Lambda checker Activity
  • 59. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Our solution to downsampling Downsample Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity • Uses Lambda DLQ to find errors Downsample Sets Downsample Lambda DLQ Lambda checker Activity
  • 60. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Our solution to downsampling Downsample Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity • Repeat for every downsample resolution level Downsample Sets Downsample Lambda DLQ Lambda checker Activity
  • 61. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T If I were to redesign downsample now Downsample Cuboid Bucket Cuboid Index AWS Step Functions workflow Populate Activity Lambda checker Activity • Use Event Source • Can limit concurrent Lambdas Event SourceDownsample Sets Downsample Lambda DLQ
  • 62. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Management of HashiCorp’s Vault and Consul servers • Use Vault and Consul to manage system secrets • Consul distributed database need 3 of the 5 servers up syncing data to function • In memory only database • Cannot allow servers to terminate as could trash in memory database • New Vault Servers need to be manual unsealed
  • 63. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Solution to manage Vault and Consul VPC
  • 64. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Serverless architecture takeaways • Easy to connect and coordinate distributed components and microservices • Don’t waste resources for task that only run periodically • High availability without extra resources • Massively scale on demand • Diagnose and debug problems faster
  • 65. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Acknowledgements • Caitlyn Bishop • Joe Downs • Conrad Fernandes • Tim Gion • Dean Kleissas • Jordan Matelsky • Derek Pryor • Luis Rodiguez • Will Gray Roncal • Brock Wester • Miller Wilt
  • 66. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Project Links bossDB: github.com/jhuapl-boss bossDB.org Heaviside: github.com/jhuapl-boss/Heaviside
  • 67. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T Sandy Hider Sandy.hider@jhuapl.edu Ray Chang rchang@amazon.com
  • 68. P U B L I C S E C T O R S U M M I T P U B L I C S E C T O R S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.P U B L I C S E C T O R S U M M I T