SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Driving Innovation
with Serverless Applications
Zlatan Dzinic
Senior Solution Architect
Amazon Web Services
G P S B U S 2 1 2
Nick Naddaf
Specialized Solutions Architect
Amazon Web Services
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About me
Cape Town-ian in Orange County 🇧🇦🇿🇦🇺🇸
Alma Mater – University of Cape Town
zlatan@amazon.com, @ZlatanDzinic
Senior Solution Architect – Amazon Web Services
Zlatan Dzinic
Focus
Serverless
Containers
AI
Machine Learning
Previously
Director – Consulting Services
Worked with:
Microsoft Ranger Teams
Microsoft Research
microsoft.com
AWS – Professional services
About me
naddafn@amazon.com
Specialized Solution Architect – Amazon Web Services
Nick Naddaf
Focus
Serverless
Containers
IoT
Big Data
Previously
Consulting Services and
product development
Focusing on web, mobile
development.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
No servers to provision
or manage
Scales with usage
Never pay for idle Availability and fault
tolerance built in
Serverless means…
Evolution of Business Logic
Monolith Microservices Functions
Splitting
Monoliths
Ten Years Ago
Splitting
Monoliths
Ten Years Ago
XML & SOAP
Splitting
Monoliths
TenFiveYears Ago
REST JSON
Fast binary
encodingsSplitting
Monoliths
Five Years Ago
Splitting
Monoliths
TenFive Years Ago
Microservices
Five Years Ago
Microservices
Five Years Agoto Functions
Amazon
Kinesis
Amazon API
Gateway
Amazon SNS
Amazon S3
Amazon
DynamoDB
Amazon
SQS
Standard building brick
services provide standardized
platform capabilities
Amazon SNS
Amazon S3
Amazon API
Gateway
Amazon
SQS
Amazon
Kinesis
Amazon
DynamoDB
Microservices
to Functions
Business Logic
Glue between
the bricks
Standard building brick
services provide standardized
platform capabilities
Amazon SNS
Amazon S3
Amazon API
Gateway
Amazon
SQS
Amazon
Kinesis
Amazon
DynamoDB
Microservices
to Functions
Amazon SNS
Amazon S3
Amazon API
Gateway
Amazon
SQS
Amazon
Kinesis
Amazon
DynamoDB
Microservices
to Functions
Amazon SNS
Amazon S3
Amazon API
Gateway
Amazon
SQS
Amazon
Kinesis
Amazon
DynamoDB
Microservices
to FunctionsEphemeral
Microservices
to
Functions
Ephemeral
Microservices
to
Amazon API
Gateway
Amazon
SQS
Functions
Ephemeral
Microservices
to
Amazon API
Gateway
Amazon
Kinesis
Amazon
DynamoDB
Functions
Ephemeral
Microservices
to
Amazon API
Gateway
Amazon SNS
Amazon S3
Functions
Ephemeral
Amazon SNS
Amazon S3
Amazon API
Gateway
Amazon
SQS
Amazon
Kinesis
Amazon
DynamoDB
Microservices
to
Functions
Ephemeral
When the system is
idle, it shuts down and
costs nothing to run
Evolution of Business Logic
Monolith Microservices Functions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Services (anything)
Changes in
data state
Requests to
endpoints
Changes in
resource state
Event source Function
Node.js
Python
Java
C#
Go
Serverless applications
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Common Lambda use cases
Web
Applications
Data
Processing
ChatbotsBackends
Amazon
Alexa
IT
Automation
Static websites
Complex web apps
Packages for Flask
and Express
Real time
MapReduce
Batch
Powering chatbot
logic
Apps & services
Mobile
IoT
Powering voice-
enabled apps
Alexa Skills Kit
Policy engines
Extending AWS
services
Infrastructure
management
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stateless
Highly scalable, self-healing, available
Containerized microservices
AWS serverless platform
• AWS Lambda
• AWS Step Functions
• Amazon API Gateway
• Amazon DynamoDB
• Amazon Simple Notification Service (Amazon SNS)
• Amazon MQ / Simple Queue Service (Amazon SQS)
Dynamic/managed allocation of resources
Amazon Route 53 – DNS
Serverless Architecture
C#
C#
C#
User/Client
Alexa
Mobile
Pho ne
S3
HTTPS
REST
REST
REST
Wordflow
Steps
SQS
SNS
Wordflow
Steps
ElastiCache
RDS
Dynamo DB
S3CloudFront
HTTP
Step FunctionsWorker Process
API Gateway
Instance
Workflow
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Establish our testing/validation model
We want to make sure
our code:
We want to make sure
our serverless service:
We want to make sure our
entire application/
infrastructure:
is without syntax issues
meets company standards
for format
compiles
is sufficiently tested at the
code level via unit tests
functions as it is supposed
to in relation to other
components
has appropriate mechanisms
to handle failures up or
down stream
functions end to end
follows security best practices
handles scaling demands
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building a deployment package
Node.js & Python
.zip file consisting of
your code and any
dependencies
Use npm/pip to
install libraries
All dependencies
must be at root level
Java
Either .zip file with all
code/dependencies,
or standalone .jar
Use Maven/Eclipse
IDE plugins
Compiled class &
resource files at root
level, required jars in
/lib directory
C# (.NET Core)
Either .zip file with all
code/dependencies,
or a standalone .dll
Use NuGet/
VisualStudio plugins
All assemblies (.dll)
at root level
Go
.zip file consisting of
your Go binary and
any dependencies
Use “go get” to
install dependencies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild
Fully managed build service that can compile source
code, runs tests, and produces software packages
Scales continuously and processes multiple
builds concurrently
Can consume environment variables from AWS SSM
Parameter Store
Can run in your VPC
Supports dependency caching
NOTE
NOTE
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
buildspec.yml example
version: 0.1
environment_variables:
plaintext:
"INPUT_FILE": "saml.yaml”
"S3_BUCKET": ""
phases:
install:
commands:
- npm install
pre_build:
commands:
- eslint *.js
build:
commands:
- npm test
post_build:
commands:
- aws cloudformation package --template $INPUT_FILE --s3-
bucket $S3_BUCKET --output-template post-saml.yaml
artifacts:
type: zip
files:
- post-saml.yaml
- beta.json
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
buildspec.yml example
version: 0.1
environment_variables:
plaintext:
"INPUT_FILE": "saml.yaml”
"S3_BUCKET": ""
phases:
install:
commands:
- npm install
pre_build:
commands:
- eslint *.js
build:
commands:
- npm test
post_build:
commands:
- aws cloudformation package --template $INPUT_FILE --s3-
bucket $S3_BUCKET --output-template post-saml.yaml
artifacts:
type: zip
files:
- post-saml.yaml
- beta.json
Variables to be used by phases of build
Examples for what you can do in
the phases of a build:
You can install packages or run commands to
prepare your environment in ”install”
Run syntax checking, commands in “pre_build”
Execute your build tool/command in “build”
Test your app further or ship a container image
to a repository in post_build
Create and store an artifact in S3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Testing tools
Code inspection/
test coverage:
Landscape
https://landscape.io/
(only for Python)
CodeClimate
https://codeclimate.com/
Coveralls.io https://coveralls.io/
Mocking/
stubbing tools:
https://github.com/atlassian/localstack
“A fully functional local AWS
cloud stack. Develop and test
your cloud apps offline!”
Includes:
https://github.com/spulec/moto
boto mock tool
https://github.com/mhart/dynalite
DynamoDB testing tool
https://github.com/mhart/kinesalite
Kinesis testing tool
API interface/
UI testing:
Runscope
https://www.runscope.com/
API Monitoring/Testing
Ghost Inspector
https://ghostinspector.com/
Web interface testing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Metrics and logging are a universal right!
CloudWatch Metrics:
7 Built in metrics
for API-Gateway
API Calls Count
Latency
4XXs
5XXs
Integration Latency
Cache Hit Count
Cache Miss Count
Error and Cache metrics support
averages and percentiles
7 Built in metrics
for Lambda
Invocation Count,
Invocation duration
Invocation errors
Throttled Invocation
Iterator Age
DLQ Errors
Concurrency
Can call “put-metric-data” from your
function code for custom metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Metrics and logging are a universal right!
CloudWatch Logs:
API Gateway
Logging
2 Levels of logging,
ERROR and INFO
Optionally log
method
request/body
content
Set globally in
stage, or override
per method
Lambda Logging
Logging directly
from your code
with your
language’s
equivalent of
console.log()
Basic request
information
included
Log Pivots
Build metrics based
on log filters
Jump to logs that
generated metrics
Export logs to AWS
ElastiCache or S3
Explore with Kibana
or Athena/
QuickSight
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Metrics and logging are a universal right!
CloudWatch Logs:
API Gateway
Logging
2 Levels of logging,
ERROR and INFO
Optionally log
method
request/body
content
Set globally in
stage, or override
per method
Lambda Logging
Logging directly
from your code
with your
language’s
equivalent of
console.log()
Basic request
information
included
Log Pivots
Build metrics based
on log filters
Jump to logs that
generated metrics
Export logs to AWS
ElastiCache or S3
Explore with Kibana
or Athena/
QuickSight
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon API Gateway custom access logging
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS X-Ray
Trace requests View service mapRecord traces Analyze issues
View the service map
to see trace data such
as latencies, HTTP
statuses, and metadata
for each service
Drill into the service
showing unusual
behavior to identify
the root issue
X-Ray combines the
data gathered from
each service into
singular units
called traces
AWS X-Ray traces
requests made to
your application
X-Ray collects data
about the request from
each of the underlying
applications services
it passes through
860 traces min
avg – 0.15 ms
Index DynamoDB
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Application instrumentation (Node.js)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
X-Ray service map
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
X-Ray trace timeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How do I figure out what’s wrong?
These tools are here, so use them!
1. Turn on X-Ray now
look at wrapping your own calls with it via the X-Ray SDKs
2. Don’t underestimate the power of logging in Lambda
Simple “debug: in functionX” statements work great and are
easy to find in CloudWatch Logs
3. The most valuable metrics are the ones closest
to your customer/use-case
How many gizmos did this function call/create/process/etc
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda Dead Letter Queues
“By default, a failed Lambda function invoked asynchronously is
retried twice, and then the event is discarded. Using Dead Letter
Queues (DLQ), you can indicate to Lambda that unprocessed events
should be sent to an Amazon SQS queue or Amazon SNS topic
instead, where you can take further action.”
https://docs.aws.amazon.com/lambda/latest/dg/dlq.html
Turn this on! (for async use-cases)
Monitor it via an SQS Queue length metric/alarm
If you use SNS, send the messages to something durable and/or
a trusted endpoint for processing
Can send to Lambda functions in other regions
If and when things go “boom” DLQ can save your invocation
event information
☠️
✉️
Q
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release processes have four major phases
Integration tests
with other systems
Load testing
UI tests
Penetration testing
Source Build Test Production
Check-in source code
such as .java files
Peer review new code
Compile code
Unit tests
Style checkers
Code metrics
Create deployable
artifacts
Deployment
to production
environments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release processes levels
Continuous integration
Continuous delivery
Continuous deployment
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Continuous delivery service for fast and reliable
application updates
Model and visualize your software release process
Builds, tests, and deploys your code every time
there is a code change
Integrates with third-party tools and AWS
AWS CodePipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
An example minimal developer’s pipeline:
MyBranch—Source
Source
CodeCommit
MyApplication
Build
test-build-source
CodeBuild
MyDev—Deploy
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-stubs
AWS Lambda
This pipeline:
Three stages
Builds code artifact
One Development environment
Uses SAM/CloudFormation to deploy artifact and other
AWS resources
Has Lambda custom actions for running my own
testing functions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Build
Source
An example minimal production pipeline
Code review
via Pull Requests
(NEW In CodeCommit)
Source
CodeCommit
MyApplication
test-build-source
CodeBuild
Deploy Testing
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-stubs
AWS Lambda
Deploy Staging
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Run-API-test
Runscope
QA-Sign-off
Manual Approval
Review
Deploy Prod
create-changeset
AWS CloudFormation
execute-changeset
AWS CloudFormation
Post-Deploy-Slack
AWS Lambda
Lint/syntax check
Unit tests pass
Code successfully compiles
Application
deploys successfully
Mocked/stubbed
integration tests
Application
deploys successfully
Tests against real services
(potentially against
production dependencies)
Deploy canaries
Complete wait
period successfully
Deploy 100%
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Uses AWS SAM to deploy serverless applications
Supports Lambda Alias Traffic Shifting enabling canaries
and blue|green deployments
Can rollback based on CloudWatch Metrics/Alarms
Pre/Post-Traffic Triggers can integrate with other services
(or even call Lambda functions)
AWS CodeDeploy + Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CodeDeploy comes with
a number of added capabilities:
Custom deployment configurations like:
“Canary 5% for 1 hour”
“Linear 20% every 1 hour”
Notification events via SNS on success/failure/rollback
Console with visibility on deploy status, history, and rollbacks
AWS CodeDeploy + Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Environments, Stages, Versioning, & Canaries?
A few best practices:
1. Use blue|green or canaries for production deployments
with a rollback as automated as possible
2. In Lambda Versioning is useful if you need to support
multiple versions to multiple consumers/invocation points
3. In API-Gateway Stages work similarly and are useful if you
need to support multiple API versions
4. Try to always have separate “stacks” for Development,
Testing, Staging, Production environments
1. Do not use Stages or Versioning for this
2. Think about having different accounts all together for different environments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Start with AWS CodeStar
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
aws.amazon.com/serverless
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Amazon Web Services
 
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowAmazon Web Services
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Amazon Web Services
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Using Containers and Serverless to Deploy Microservices
Using Containers and Serverless to Deploy MicroservicesUsing Containers and Serverless to Deploy Microservices
Using Containers and Serverless to Deploy MicroservicesAmazon Web Services
 
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Amazon Web Services
 
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Amazon Web Services
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Amazon Web Services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSAmazon Web Services
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018Amazon 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
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Amazon Web Services
 
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...Amazon Web Services
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Amazon Web Services
 
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...Amazon Web Services
 
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Amazon Web Services
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless AppsAmazon Web Services
 
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Amazon Web Services
 
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...Amazon Web Services
 
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Amazon Web Services
 

Was ist angesagt? (20)

Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
Rightsizing Your Silicon Design Environment: Elastic Clusters for EDA Workloa...
 
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing WorkflowSRV328 Designing and Implementing a Serverless Media-Processing Workflow
SRV328 Designing and Implementing a Serverless Media-Processing Workflow
 
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
Driving DevOps Transformation in Enterprises (DEV320) - AWS re:Invent 2018
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Using Containers and Serverless to Deploy Microservices
Using Containers and Serverless to Deploy MicroservicesUsing Containers and Serverless to Deploy Microservices
Using Containers and Serverless to Deploy Microservices
 
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
Leadership Session: Using DevOps, Microservices, and Serverless to Accelerate...
 
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
Announcing AWS RoboMaker: A New Cloud Robotics Service (ROB201-R) - AWS re:In...
 
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
Mythical Mysfits: Monolith to Microservice with Docker and AWS Fargate (CON21...
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKS
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - 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...
 
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
Architecting Next Generation Serverless SaaS Solutions on AWS (ARC324-R1) - A...
 
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...
Say Goodbye to Legacy Network File Shares with Amazon WorkDocs Drive (BAP208)...
 
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
Building Well Architected .NET Apps (WIN304) - AWS re:Invent 2018
 
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
Leadership Session: Learn about 10 Years' of Windows and .NET Innovation on A...
 
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
Hands-On: Automating AWS Infrastructure with PowerShell (WIN308) - AWS re:Inv...
 
SRV315 Building Enterprise-Grade Serverless Apps
 SRV315 Building Enterprise-Grade Serverless Apps SRV315 Building Enterprise-Grade Serverless Apps
SRV315 Building Enterprise-Grade Serverless Apps
 
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
 
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
DEM08 Use Cisco Cloud Connect to Securely Extend Private Network to AWS and M...
 
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
 

Ähnlich wie Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018

Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Amazon Web Services
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Amazon Web Services
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWSAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Aws Tools for Alexa Skills
Aws Tools for Alexa SkillsAws Tools for Alexa Skills
Aws Tools for Alexa SkillsBoaz Ziniman
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Amazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
Serverless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about serversServerless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about serversAmazon Web Services
 
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Amazon Web Services
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesAmazon Web Services
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessAmazon Web Services
 
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...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 PracticesVladimir Simek
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB
 
Building and Deploying .Net Applications on AWS
Building and Deploying .Net Applications on AWSBuilding and Deploying .Net Applications on AWS
Building and Deploying .Net Applications on AWSAmazon Web Services
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Amazon Web Services
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWSAmazon Web Services
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Amazon Web Services
 
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Amazon Web Services
 

Ähnlich wie Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018 (20)

Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
 
Developing Serverless Application on AWS
Developing Serverless Application on AWSDeveloping Serverless Application on AWS
Developing Serverless Application on AWS
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Aws Tools for Alexa Skills
Aws Tools for Alexa SkillsAws Tools for Alexa Skills
Aws Tools for Alexa Skills
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Serverless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about serversServerless computing - Build and run applications without thinking about servers
Serverless computing - Build and run applications without thinking about servers
 
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
Observability for Modern Applications (CON306-R1) - AWS re:Invent 2018
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best Practices
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni Serverless
 
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
Building API-Driven Microservices with Amazon API Gateway - AWS Online Tech T...
 
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
 
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
MongoDB World 2018: Tutorial - How to Build Applications with MongoDB Atlas &...
 
Building and Deploying .Net Applications on AWS
Building and Deploying .Net Applications on AWSBuilding and Deploying .Net Applications on AWS
Building and Deploying .Net Applications on AWS
 
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
Serverless Application Debugging and Delivery Best Practices (DEV307-R1) - AW...
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
 
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
Serverless Architectural Patterns and Best Practices (ARC305-R2) - AWS re:Inv...
 
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
Debug your Container and Serverless Applications with AWS X-Ray in 5 Minutes ...
 

Mehr von 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
 

Mehr von 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
 

Driving Innovation with Serverless Applications (GPSBUS212) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Driving Innovation with Serverless Applications Zlatan Dzinic Senior Solution Architect Amazon Web Services G P S B U S 2 1 2 Nick Naddaf Specialized Solutions Architect Amazon Web Services
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. About me Cape Town-ian in Orange County 🇧🇦🇿🇦🇺🇸 Alma Mater – University of Cape Town zlatan@amazon.com, @ZlatanDzinic Senior Solution Architect – Amazon Web Services Zlatan Dzinic Focus Serverless Containers AI Machine Learning Previously Director – Consulting Services Worked with: Microsoft Ranger Teams Microsoft Research microsoft.com AWS – Professional services
  • 4. About me naddafn@amazon.com Specialized Solution Architect – Amazon Web Services Nick Naddaf Focus Serverless Containers IoT Big Data Previously Consulting Services and product development Focusing on web, mobile development.
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. No servers to provision or manage Scales with usage Never pay for idle Availability and fault tolerance built in Serverless means…
  • 7. Evolution of Business Logic Monolith Microservices Functions
  • 13.
  • 14.
  • 15.
  • 17.
  • 18. Microservices Five Years Agoto Functions Amazon Kinesis Amazon API Gateway Amazon SNS Amazon S3 Amazon DynamoDB Amazon SQS Standard building brick services provide standardized platform capabilities
  • 19. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions Business Logic Glue between the bricks Standard building brick services provide standardized platform capabilities
  • 20. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions
  • 21. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions
  • 22. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to FunctionsEphemeral
  • 27. Amazon SNS Amazon S3 Amazon API Gateway Amazon SQS Amazon Kinesis Amazon DynamoDB Microservices to Functions Ephemeral When the system is idle, it shuts down and costs nothing to run
  • 28. Evolution of Business Logic Monolith Microservices Functions
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Services (anything) Changes in data state Requests to endpoints Changes in resource state Event source Function Node.js Python Java C# Go Serverless applications
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Common Lambda use cases Web Applications Data Processing ChatbotsBackends Amazon Alexa IT Automation Static websites Complex web apps Packages for Flask and Express Real time MapReduce Batch Powering chatbot logic Apps & services Mobile IoT Powering voice- enabled apps Alexa Skills Kit Policy engines Extending AWS services Infrastructure management
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stateless Highly scalable, self-healing, available Containerized microservices AWS serverless platform • AWS Lambda • AWS Step Functions • Amazon API Gateway • Amazon DynamoDB • Amazon Simple Notification Service (Amazon SNS) • Amazon MQ / Simple Queue Service (Amazon SQS) Dynamic/managed allocation of resources Amazon Route 53 – DNS Serverless Architecture C# C# C# User/Client Alexa Mobile Pho ne S3 HTTPS REST REST REST Wordflow Steps SQS SNS Wordflow Steps ElastiCache RDS Dynamo DB S3CloudFront HTTP Step FunctionsWorker Process API Gateway Instance Workflow
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Establish our testing/validation model We want to make sure our code: We want to make sure our serverless service: We want to make sure our entire application/ infrastructure: is without syntax issues meets company standards for format compiles is sufficiently tested at the code level via unit tests functions as it is supposed to in relation to other components has appropriate mechanisms to handle failures up or down stream functions end to end follows security best practices handles scaling demands
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building a deployment package Node.js & Python .zip file consisting of your code and any dependencies Use npm/pip to install libraries All dependencies must be at root level Java Either .zip file with all code/dependencies, or standalone .jar Use Maven/Eclipse IDE plugins Compiled class & resource files at root level, required jars in /lib directory C# (.NET Core) Either .zip file with all code/dependencies, or a standalone .dll Use NuGet/ VisualStudio plugins All assemblies (.dll) at root level Go .zip file consisting of your Go binary and any dependencies Use “go get” to install dependencies
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeBuild Fully managed build service that can compile source code, runs tests, and produces software packages Scales continuously and processes multiple builds concurrently Can consume environment variables from AWS SSM Parameter Store Can run in your VPC Supports dependency caching NOTE NOTE
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. buildspec.yml example version: 0.1 environment_variables: plaintext: "INPUT_FILE": "saml.yaml” "S3_BUCKET": "" phases: install: commands: - npm install pre_build: commands: - eslint *.js build: commands: - npm test post_build: commands: - aws cloudformation package --template $INPUT_FILE --s3- bucket $S3_BUCKET --output-template post-saml.yaml artifacts: type: zip files: - post-saml.yaml - beta.json
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. buildspec.yml example version: 0.1 environment_variables: plaintext: "INPUT_FILE": "saml.yaml” "S3_BUCKET": "" phases: install: commands: - npm install pre_build: commands: - eslint *.js build: commands: - npm test post_build: commands: - aws cloudformation package --template $INPUT_FILE --s3- bucket $S3_BUCKET --output-template post-saml.yaml artifacts: type: zip files: - post-saml.yaml - beta.json Variables to be used by phases of build Examples for what you can do in the phases of a build: You can install packages or run commands to prepare your environment in ”install” Run syntax checking, commands in “pre_build” Execute your build tool/command in “build” Test your app further or ship a container image to a repository in post_build Create and store an artifact in S3
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Testing tools Code inspection/ test coverage: Landscape https://landscape.io/ (only for Python) CodeClimate https://codeclimate.com/ Coveralls.io https://coveralls.io/ Mocking/ stubbing tools: https://github.com/atlassian/localstack “A fully functional local AWS cloud stack. Develop and test your cloud apps offline!” Includes: https://github.com/spulec/moto boto mock tool https://github.com/mhart/dynalite DynamoDB testing tool https://github.com/mhart/kinesalite Kinesis testing tool API interface/ UI testing: Runscope https://www.runscope.com/ API Monitoring/Testing Ghost Inspector https://ghostinspector.com/ Web interface testing
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Metrics and logging are a universal right! CloudWatch Metrics: 7 Built in metrics for API-Gateway API Calls Count Latency 4XXs 5XXs Integration Latency Cache Hit Count Cache Miss Count Error and Cache metrics support averages and percentiles 7 Built in metrics for Lambda Invocation Count, Invocation duration Invocation errors Throttled Invocation Iterator Age DLQ Errors Concurrency Can call “put-metric-data” from your function code for custom metrics
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Metrics and logging are a universal right! CloudWatch Logs: API Gateway Logging 2 Levels of logging, ERROR and INFO Optionally log method request/body content Set globally in stage, or override per method Lambda Logging Logging directly from your code with your language’s equivalent of console.log() Basic request information included Log Pivots Build metrics based on log filters Jump to logs that generated metrics Export logs to AWS ElastiCache or S3 Explore with Kibana or Athena/ QuickSight
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Metrics and logging are a universal right! CloudWatch Logs: API Gateway Logging 2 Levels of logging, ERROR and INFO Optionally log method request/body content Set globally in stage, or override per method Lambda Logging Logging directly from your code with your language’s equivalent of console.log() Basic request information included Log Pivots Build metrics based on log filters Jump to logs that generated metrics Export logs to AWS ElastiCache or S3 Explore with Kibana or Athena/ QuickSight
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon API Gateway custom access logging
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS X-Ray Trace requests View service mapRecord traces Analyze issues View the service map to see trace data such as latencies, HTTP statuses, and metadata for each service Drill into the service showing unusual behavior to identify the root issue X-Ray combines the data gathered from each service into singular units called traces AWS X-Ray traces requests made to your application X-Ray collects data about the request from each of the underlying applications services it passes through 860 traces min avg – 0.15 ms Index DynamoDB
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Application instrumentation (Node.js)
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. X-Ray service map
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. X-Ray trace timeline
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. How do I figure out what’s wrong? These tools are here, so use them! 1. Turn on X-Ray now look at wrapping your own calls with it via the X-Ray SDKs 2. Don’t underestimate the power of logging in Lambda Simple “debug: in functionX” statements work great and are easy to find in CloudWatch Logs 3. The most valuable metrics are the ones closest to your customer/use-case How many gizmos did this function call/create/process/etc
  • 51. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda Dead Letter Queues “By default, a failed Lambda function invoked asynchronously is retried twice, and then the event is discarded. Using Dead Letter Queues (DLQ), you can indicate to Lambda that unprocessed events should be sent to an Amazon SQS queue or Amazon SNS topic instead, where you can take further action.” https://docs.aws.amazon.com/lambda/latest/dg/dlq.html Turn this on! (for async use-cases) Monitor it via an SQS Queue length metric/alarm If you use SNS, send the messages to something durable and/or a trusted endpoint for processing Can send to Lambda functions in other regions If and when things go “boom” DLQ can save your invocation event information ☠️ ✉️ Q
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 53. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release processes have four major phases Integration tests with other systems Load testing UI tests Penetration testing Source Build Test Production Check-in source code such as .java files Peer review new code Compile code Unit tests Style checkers Code metrics Create deployable artifacts Deployment to production environments
  • 54. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release processes levels Continuous integration Continuous delivery Continuous deployment Source Build Test Production
  • 55. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Continuous delivery service for fast and reliable application updates Model and visualize your software release process Builds, tests, and deploys your code every time there is a code change Integrates with third-party tools and AWS AWS CodePipeline
  • 56. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. An example minimal developer’s pipeline: MyBranch—Source Source CodeCommit MyApplication Build test-build-source CodeBuild MyDev—Deploy create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-stubs AWS Lambda This pipeline: Three stages Builds code artifact One Development environment Uses SAM/CloudFormation to deploy artifact and other AWS resources Has Lambda custom actions for running my own testing functions
  • 57. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Build Source An example minimal production pipeline Code review via Pull Requests (NEW In CodeCommit) Source CodeCommit MyApplication test-build-source CodeBuild Deploy Testing create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-stubs AWS Lambda Deploy Staging create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Run-API-test Runscope QA-Sign-off Manual Approval Review Deploy Prod create-changeset AWS CloudFormation execute-changeset AWS CloudFormation Post-Deploy-Slack AWS Lambda Lint/syntax check Unit tests pass Code successfully compiles Application deploys successfully Mocked/stubbed integration tests Application deploys successfully Tests against real services (potentially against production dependencies) Deploy canaries Complete wait period successfully Deploy 100%
  • 58. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Uses AWS SAM to deploy serverless applications Supports Lambda Alias Traffic Shifting enabling canaries and blue|green deployments Can rollback based on CloudWatch Metrics/Alarms Pre/Post-Traffic Triggers can integrate with other services (or even call Lambda functions) AWS CodeDeploy + Lambda
  • 59. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. CodeDeploy comes with a number of added capabilities: Custom deployment configurations like: “Canary 5% for 1 hour” “Linear 20% every 1 hour” Notification events via SNS on success/failure/rollback Console with visibility on deploy status, history, and rollbacks AWS CodeDeploy + Lambda
  • 60. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Environments, Stages, Versioning, & Canaries? A few best practices: 1. Use blue|green or canaries for production deployments with a rollback as automated as possible 2. In Lambda Versioning is useful if you need to support multiple versions to multiple consumers/invocation points 3. In API-Gateway Stages work similarly and are useful if you need to support multiple API versions 4. Try to always have separate “stacks” for Development, Testing, Staging, Production environments 1. Do not use Stages or Versioning for this 2. Think about having different accounts all together for different environments
  • 61. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Start with AWS CodeStar
  • 62. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. aws.amazon.com/serverless
  • 63. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 64. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 65. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.