SlideShare a Scribd company logo
1 of 68
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Dr. Tim Wagner
General Manager, AWS Lambda and Amazon API Gateway
Cecilia Deng
Software Development Manager, AWS Lambda
SRV315
Building Enterprise-Grade
Serverless Apps
Satish Malireddi
Principal Architect, T-Mobile
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Public Service Announcement:
Node 8.10 available in AWS Lambda
(And ICYMI: Go and .NET CoreCLR 2.0 are both GA!)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda: 6 ways to improve your serverless mojo
1. Think in patterns: the serverless architecture playbook
2. Scale like the pros: understanding concurrency & throttling
3. SecOps like you mean it: permissions & privileges
4. Think in apps
5. Software lifecycle: from coding to deployment
6. When things go wrong: Error-handling and diagnostics
Guest Speaker: Jazz – Serverless Tools from T-Mobile
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Trends
Don’t code it yourself!
The Rise of Managed Services
Stream processing and
“embarrassingly parallel” computing
Snowballing adoption of
microservices
Serverless, event-driven
architectures
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
1. Serverless Patterns:
Managed services + Lambda functions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Managed services as building blocks
Amazon SNS
Amazon SQS
Amazon S3
Messaging
Monitoring and Debugging
Storage
AWS X-Ray
AWS Lambda
Amazon API Gateway
Orchestration
API Proxy
Compute
AWS Step Functions
Amazon DynamoDB
Amazon Kinesis
Analytics
Database
Edge Compute
AWS Greengrass
Lambda@Edge
Amazon Athena
Amazon Aurora
Serverless (coming soon)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Patterns for the Cloud Era
• Media transform on upload: Amazon S3 event + Lambda
• NoSQL data cleansing: Amazon DynamoDB change streams + Lambda
• Serverless website: Amazon S3 + Amazon DynamoDB + Amazon API
Gateway + Lambda
• Click-stream analytics: Amazon Kinesis Data Firehose + Lambda
• Ordered event processing: Kinesis + Lambda
• Multi-function fanout: Amazon SNS (or Lambda) + Lambda
• Workflows: AWS Step Functions + Lambda
• Event distribution: Amazon CloudWatch Events + Lambda
• Serverless cron jobs: CloudWatch timer events + Lambda
• Login hooks: Amazon Cognito User Pools + Lambda
• GraphQL actions: AWS AppSync + Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Patterns for the Cloud Era
• On-the-fly image resizing: AWS Lambda@Edge + Amazon CloudFront
• Email rules: Amazon SES + Lambda
• Configuration policy enforcement: AWS Config + Lambda
• Stored procedures: Amazon Aurora + Lambda
• Custom authorizers for APIs: API Gateway auth + Lambda
• DevOps choreography: CloudWatch alarms + Lambda
• Alexa skills: Amazon Alexa + Lambda
• Chatbots: Slack + Amazon Lex + Lambda
• IoT automation: AWS IoT + Lambda
• Smart devices: AWS Greengrass + Lambda
• On-prem file encrypt for transit: AWS Snowball Edge + Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Meta-patterns
1. Service pushes async event to Lambda (S3, SNS)
2. Lambda grabs event from service (DynamoDB, Kinesis)
3. Synchronous exchange (Alexa, Lex)
4. Batch transform (Kinesis Firehose)
5. Microservice (API + Lambda + your choice of DB)
6. Customization via functions (AWS Config, SES rules)
7. Data-driven fanout (S3-Lambda, Lambda-lambda)
8. Choreography (Step Functions + Lambda)
9. Lambda functions in devices (Greengrass, Snowball Edge)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Coming Soon:
SQS as a built-in Lambda event
source
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Patterns: Best practices
• Don’t reinvent the wheel – use managed services when possible
• …and stay current 
• Lambda@Edge expands support for headers with S3 origin events
• Keep events inside AWS services for as long as possible:
• Example: S3  Lambda  client is preferable to S3  client  Lambda
• Verify limits end-to-end
• Prefer idempotent, stateless functions, and when you can’t…
• Use Step Functions if you need stateful control (retries, long-running)
• Building a SaaS or ISV platform? Use the techniques AWS uses:
1. Architect it serverlessly using Lambda and API Gateway
2. Offer your ecosystem customization via functions
3. Enable customers and partners to build reactive systems by emitting events
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
2. Concurrency, Throttling, &
Timeouts
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway Throttling
Three levels of throttling for APIs:
API Key level throttling – configurable in usage plan
Method level throttling – configurable in stage settings
Account level throttling – limits can be increased
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway Throttling
Token bucket algorithm
Burst – the maximum size of the bucket
Rate – the number of tokens added to the bucket
You can also set a daily, weekly, or monthly quota.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda Concurrency Management
Account level safety limit: 1,000 (we will happily raise it )
Per-function concurrency limits
• You set these
• Optional: all functions without them share the remaining pool
• Allows you to protect the capacity of a production system (but
there’s no provisioning charge if you don’t use it)
• Also good for:
• Keeping Lambda’s scale from overwhelming a legacy system
• Preventing a runaway function while you’re developing/testing
• Limiting your costs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda Burst & Scale Throttles
Instantaneous burst limits:
• In US-EAST-1, EU-WEST-1, and US-WEST-2: 3,000 concurrent
• All other regions: 1,000 concurrent
• Thereafter:
• 500/minute additional concurrent (until you reach per-function or
account limits)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Max Timeouts
API Gateway: 30 seconds
Lambda: 5 minutes
Lambda@Edge: 30 seconds (origin), 5 seconds (view events)
What do you do when you want to trigger a function that
needs more than 30 seconds? Go async:
1. API  Step Function  your function
2. API  f1 (sync)  f2 (async)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
3. Security and AuthZ
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Questions for Securing Serverless
Architectures
What can call this function / API?
What can this function / API call?
Who can change these decisions?
How can I know what’s happening?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key Tenets for Securing Serverless Architectures
What can call this function / API?
As few things as possible
What can this function / API call?
As few things as possible
Who can change these decisions?
As few people as possible
How can I know what’s happening?
Audit!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
3 Simple Concepts
1. Resource Policies
Analogy: Who would I invite into my
house?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
3 Simple Concepts
2. Execution Roles
Analogy: What do I let my kids play
with?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
3 Simple Concepts
3. Roles
Analogy: Am I at work or at home? ?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• Resource Policies for APIs who can call
the API, and under what conditions
• Sample Uses
• Enable users from a different AWS
account to securely access your API
• Enable customers to restrict access to
specific IP Address ranges or CIDR
blocks
• Limit access to a specific Lambda
function
New API Gateway Feature - Resource Policies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway: Resource policies vs. Custom
Authorizers
• Which should I use?
• If resource policies can express the restriction, use them.
(They’re free, fast, and built in.)
• How do these two features interact?
• We evaluate in three phases; all 3 have to pass:
• Pre-authN (time checks, source IP checks)
• Post-authN (call principal checks)
• Custom authorizer (if present)
• We stop as soon as permission is denied, so we only run your
custom authorizer if it’s necessary to make a decision.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway: Handy Auth Comparison Chart
Feature AWS_IAM Token Request
Amazon
Cognito
Authentication X X X X
Authorization X X X
Signature V4 X
Amazon Cognito User
Pools
X X X
Third-Party
Authentication
X X
Multiple Header
Support
X
Additional Costs None Pay per
authorizer
invoke
Pay per
authorizer invoke
None
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Roles and X-account Calls
• Lambda execution roles control what the function can do.
• API Gateway invocation roles let you change the calling
principal to any role/user in the same account.
• Stick to API Gateway as the principal unless you have a specific
need for this
• API Gateway now also supports:
• Cross-account Lambda invocations
• Cross-account Lambda custom authorizers
• Useful pattern: Switch accounts inside an API or function:
Kinesis stream in Account A  function (Account A)  API (Account B)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Keeping track: Auditing and Config Policies
• Use AWS CloudTrail to track API and function management
(creation, deletion, retrieval, etc.)
• Can also audit function invocation for Lambda
• Run queries against CloudTrail data using Amazon Athena
• Or build a simple analysis engine using Lambda functions
• Use AWS Config to continuously monitor and enforce
policies
• For example: Enforcing resource-level scoping on Lambda
functions or custom authorizers for APIs
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Calling Third Party Services Securely
AWS Secrets Manager
• Securely store, retrieve, and manage database credentials,
API keys, and other secrets for AWS or third-party systems
• Rotate, audit, and version secrets
• Built-in support for MySQL, PostgreSQL, and Amazon
Aurora on Amazon RDS
• Supports both default and custom KMS keys
• Avoid cleartext secrets in Lambda env vars or code!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
4. It’s All about [Serverless] Apps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Serverless Application Repository
• Discover, customize, and deploy serverless apps
• Publish and share apps…
• Within your AWS account
• Across accounts
• With everyone (public access)
• ICYMI: Now GA!
• Finance apps based on NumPy library
• Roadmap: Look for more app-centric features in the
Lambda console and fast iteration on the app repo
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Growing Set of App Producers
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Apps are based on SAM (Serverless App Model)
• ICYMI: SAM added more API Gateway support in March:
• Logging and metrics configuration
• CORS
• Regional endpoints
• Binary data
• Method-level settings like throttling limits and cache TTL
• Amazon CloudWatch Logging event source support
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Open Source Announcement
SAM implementation is now open source!
Help us build SAM tools by contributing to the open SAM
specification or the SAM translator:
• Add event sources
• Embed SAM transformations in other tools
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
5. Building, Testing, and Deploying
Serverless Apps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodePipeline
AWS Code Suite
AWS
CodeCommit
or GitHub
AWS
CodeBuild
(build)
AWS
CodeBuild
(test)
CloudFormation
(deploy)
AWS
CodeDeploy
AWS Cloud9
Editor
AWS
CodeStar
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Best Practices for Serverless Development
• CI/CD pipeline for apps (including repo publishing!)
• Test and debug locally
• ICYMI: Python debugging in Cloud9 IDE
• AWS CloudFormation can deploy to multiple regions
• Useful for multi-region APIs
• Deploy incrementally for safety
• Weighted aliases in Lambda
• Canary stages in API Gateway
• AWS CodeDeploy can automate SAM app deploys (including
rollback)
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
6. When Things Go Wrong:
Error-Handling and Diagnostics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway CloudWatch Metrics
API Gateway Default metrics (free):
Count total number of invokes received by API Gateway
4XXError #invokes that generated a 4XX error
(includes throttling)
5XXError number of invokes that generated a 5XX error
Latency total time to fully process request
IntegrationLatency time API Gateway took to call integration
CacheHitCount number of successful cache fetches
CacheMissCount number of unsuccessful cache fetches
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway CloudWatch Metrics
Included for free
Granularity: per-API stage
Default Metrics
CloudWatch pricing
Granularity: per-method
Can be globally enabled
Detailed Metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda CloudWatch Metrics (free)
At both function and version level:
• Invocations, Errors, Throttles, IteratorAge, DeadLetterError
At both account and function level (when limit is set):
• ConcurrentExecutions
At the account level only:
• UnreservedConcurrentExecutions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon CloudWatch Alarms
Any metric can be tied to an alarm
Alarm notifications can be sent to Amazon SNS topic
SNS topic can then send to any number of destinations
Email address
SQS queue
Lambda function
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
API Gateway CloudWatch Logs
API Gateway Logging
Two levels of logging, error and info
Optionally log method request/body content
Set globally in stage, or override per method
API Gateway Access Logging
Customizable format for machine parsable logs
Log Pivots
Build metrics based on log filters
Jump to logs that generated metrics
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Lambda CloudWatch Logs
Basics:
• Automatically configured
• Basic info (requests, duration, memory consumption,
etc.) handled automatically
• Application can add log entries easily
Cool Stuff:
• Grab a range on the console graph and jump to the
logs for that time range
• Send logs to another Lambda function
• Use Elasticsearch & Kibana to aggregate/analyze
• “Top talkers”
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The Lambda Function Request Lifecycle
1. Download your code (as a SquashFS filesystem)
2. Start the language runtime
3. Load your code (e.g., class loading in Java)
4. Run “init” code (e.g., static initializers in Java)
5. Process the request warm
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Same View in AWS X-Ray
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Things You Can Track in X-Ray
• Cold vs warm starts
• Async dwell time (time event spends in queue)
• Duration of calls to other AWS services (and with a little
work to add trace points, third-party services)
• Errors and throttles from AWS service calls
Lots of great third-party offerings can also help!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Making Cold Starts More Efficient
• Control the dependencies in your function's deployment
package
• Tree shake your Java code! (Hint: Spring is expensive )
• Can combine “hot paths”…but preserve agility
• Optimize for your language, where applicable…
• Node – Browserfy, Minify
• AWS Java v2 SDK (preview)
• Only use VPC if you need access to a resource there!
• Delay loading where possible
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Summary: 6 ways to improve your serverless
mojo
1. Think in patterns: the serverless architecture playbook
2. Scale like the pros: understanding concurrency & throttling
3. SecOps like you mean it: permissions & privileges
4. Think in apps
5. Software lifecycle: from coding to deployment
6. When things go wrong: Error-handling and diagnostics
Introducing Jazz
T-Mobile’s Serverless Development Platform
https://github.com/tmobile/jazz
Satish Malireddi
Principal Architect, T-Mobile
▪ As America's Un-carrier, T-Mobile
US, Inc. is redefining the way
consumers and businesses buy
wireless services through leading
product and service innovation.
▪ NASDAQ traded public company –
TMUS
▪ Operating two flagship brands: T-
Mobile and MetroPCS
▪ Based in Bellevue, Washington
About T-Mobile
Serverless computing allows
you to build and run
applications and services
without thinking about servers
• No server management
• Scales on demand
• High availability
• Don’t pay for idle capacity
Serverles
s…
Jazz…
 A Serverless Development
Platform
 Jazz provides developers a fast
on-ramp to build & manage their
serverless applications
 It is not another FaaS implementation.
Rather, it enhances the usability of
existing FaaS systems
 Jazz has well-built interfaces designed
to let developers quickly self-start and
focus on code
Serverless Use Cases at T-Mobile...
 APIs/Microservices
 Static websites/single page
applications
 Mobile backends & serverless data
stores
 Timer-based processing (cron jobs)
 Event-based processing
 S3 upload
 Payment failed
 Monitoring alert triggered
 Real-time stream processing
 IoT events
Our Serverless Journey…
 Cloud
Operations
 Proof of
concepts
 MobileLife
 Microsites
 Policy & compliance
Manager
 Jazz platform
Open source!
2016
2017
2018
 3000+ Lambda functions
 100+ API gateways
 25+ Applications that are
live
 Millions of invocations/day
 Alexa skills & slack bots
Initial set of challenges faced…
 Packaging & deploying (CI/CD)
 Multi-tenancy
 Local testing
 Logging & monitoring
 Service sprawl
 Secret management
 Security, auditing & best practices
 Integration with enterprise services
Now, how can we drive adoption within T-
Mobile?
 Serverless is just like cloud 6 years ago. We’ve seen that cloud
worked and we’ve realized that serverless works!
 FaaS is great, but can we build production ready applications &
operate them at scale?
 Can we make it simpler for enterprise users to use serverless?
 How can we drive adoption internally in T-Mobile?
Focus on code, Jazz takes care of everything
else!
Jazz – Our solution to drive serverless
adoption
CI/CD
Multi Environment
Compliance
Monitoring
Security
Multi-Tenancy
Code Templates
LoggingManagement &
Control
https://github.com/tmobile/jazz
Jazz Architecture
Jazz itself is
serverless—and
written in Jazz!
Jazz Components
Jenkins:
• CI/CD
• Package & deploy
• Code & Dependency scan
• Test integration
Bitbucket/Gitlab:
• NodeJS/Python/Jav
a/Go*
• Commit hooks for
CI/CD
• Code/Swaggers
CloudFront
S3 DynamoDB
AWS KMSAmazon ES
API Gateway AWS Lambda
Kinesis
How Jazz helped us with adoption within T-
Mobile Serverless microservices are being created in minutes
 Applications are going live without teams managing a single server
 Active users exploring serverless increasing each month
 3,000+ Lambda functions deployed & managed via the platform
 Code templates made it easy to share best practices
 CI/CD, compliance & security comes with platform
 No server patching & significant cost reductions
What’s Next…
 Serverless - First approach for cloud native applications
 Open source - First development for Jazz & community
engagement
 Support new serverless patterns, service types & runtimes
 Enhanced Security Controls
 API Versioning, Rollbacks, B/G & Canary deployments
 Serverless Application Repository Integration
 Local testing and debugging
 What do you need?
GitHub: https://github.com/tmobile/jazz
OSS: https://opensource.t-mobile.com
Slack: https://tmo-oss-getinvite.herokuapp.com/
Email: serverless@t-mobile.com
Try Jazz: http://try.tmo-jazz.net
• For Reg. Code, Slack/Email us
Helpful Stuff…
Try it yourself…
http://try.tmo-jazz.net
For Reg. Code, slack/email us!
T-Mobile Confidential
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Speaker Info / Social Media Channels
t: timallenwagner@ (including DM)
aws.amazon.com/lambda
aws.amazon.com/api-gateway
serverlessrepo.aws.amazon.com/applications
aws.amazon.com/blogs/compute
AWS Forums
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Please complete the session survey in
the summit mobile app.
…and…Go Serverless!!
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session
you attended.
3. Tap Session
Evaluation to submit your
feedback.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!

More Related Content

What's hot

Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...
Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...
Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...Amazon Web Services
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Amazon 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
 
Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon Web Services
 
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS Config
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS ConfigSRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS Config
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS ConfigAmazon Web Services
 
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...Amazon Web Services
 
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018Amazon Web Services
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Amazon Web Services
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...Amazon Web Services
 
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...Amazon Web Services
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Amazon 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
 
SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...
 SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ... SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...
SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...Amazon Web Services
 
Multi-Account Strategy and Security with Centrica Hive
Multi-Account Strategy and Security with Centrica HiveMulti-Account Strategy and Security with Centrica Hive
Multi-Account Strategy and Security with Centrica HiveAmazon Web Services
 
ENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS ServicesENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS ServicesAmazon Web Services
 
Secure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneSecure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneAmazon Web Services
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Amazon Web Services
 
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Amazon Web Services
 
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...Amazon Web Services
 
AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview Amazon Web Services
 

What's hot (20)

Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...
Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...
Inside AWS: Technology Choices for Modern Applications (SRV305-R1) - AWS re:I...
 
Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS Threat Detection and Mitigation at Scale on AWS
Threat Detection and Mitigation at Scale on AWS
 
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 CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams Amazon CI-CD Practices for Software Development Teams
Amazon CI-CD Practices for Software Development Teams
 
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS Config
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS ConfigSRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS Config
SRV209 Monitor Cross-Account and Cross-Region Compliance Status with AWS Config
 
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...
Using AWS to Ingest, Store, Archive, Share and carry out Analysis of Video Co...
 
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018
Executive Security Simulation Workshop (WPS206) - AWS re:Invent 2018
 
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
Best Practices for Centrally Monitoring Resource Configuration & Compliance (...
 
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre... ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
ENT307 Move your Desktops and Apps to AWS with Amazon WorkSpaces and AppStre...
 
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
Re-Architecting a Banking Application for Scale and Reliability (SRV220-R1) -...
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate
 
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...
 
SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...
 SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ... SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...
SRV204 Creating Your Virtual Data Center: VPC Fundamentals and Connectivity ...
 
Multi-Account Strategy and Security with Centrica Hive
Multi-Account Strategy and Security with Centrica HiveMulti-Account Strategy and Security with Centrica Hive
Multi-Account Strategy and Security with Centrica Hive
 
ENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS ServicesENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS Services
 
Secure Your Customers' Data From Day One
Secure Your Customers' Data From Day OneSecure Your Customers' Data From Day One
Secure Your Customers' Data From Day One
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
 
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
Increase the Value of Video with ML & Media Services - SRV322 - New York AWS ...
 
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
Automated Solution for Deploying AWS Landing Zone (GPSWS407) - AWS re:Invent ...
 
AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview AWS Identity, Directory, and Access Services: An Overview
AWS Identity, Directory, and Access Services: An Overview
 

Similar to SRV315 Building Enterprise-Grade Serverless Apps

Serverless SaaS apllications on AWS
Serverless SaaS apllications on AWSServerless SaaS apllications on AWS
Serverless SaaS apllications on AWSAmazon Web Services
 
Build Enterprise-Grade Serverless Apps
Build Enterprise-Grade Serverless Apps Build Enterprise-Grade Serverless Apps
Build Enterprise-Grade Serverless Apps Amazon Web Services
 
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS SummitAmazon 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
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless 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
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural PatternsAmazon Web Services
 
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...Amazon Web Services
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessAmazon 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
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingAmazon Web Services
 
Serverless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventServerless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventBoaz Ziniman
 
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
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS SummitAmazon Web Services
 
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS SummitBuilding Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS SummitAmazon Web Services
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural PatternsMonica Lora
 
Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Amazon Web Services
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessChris Munns
 
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitBuilding serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitAmazon Web Services
 

Similar to SRV315 Building Enterprise-Grade Serverless Apps (20)

Serverless SaaS apllications on AWS
Serverless SaaS apllications on AWSServerless SaaS apllications on AWS
Serverless SaaS apllications on AWS
 
Build Enterprise-Grade Serverless Apps
Build Enterprise-Grade Serverless Apps Build Enterprise-Grade Serverless Apps
Build Enterprise-Grade Serverless Apps
 
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Atlanta AWS Summit
 
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
 
Introduction to Serverless on AWS
Introduction to Serverless on AWSIntroduction to Serverless on AWS
Introduction to Serverless on AWS
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...
Become a Serverless Black Belt - Optimizing Your Serverless Applications - AW...
 
Forza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni ServerlessForza Computazionale e Applicazioni Serverless
Forza Computazionale e Applicazioni Serverless
 
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
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 
Serverless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventServerless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless Event
 
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
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS SummitBuild Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS Summit
Build Enterprise-Grade Serverless Apps - SRV315 - Chicago AWS Summit
 
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS SummitBuilding Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
Building Serverless Enterprise Applications - SRV315 - Anaheim AWS Summit
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM Build and Deploy Serverless Applications with AWS SAM
Build and Deploy Serverless Applications with AWS SAM
 
All the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev ServerlessAll the Ops you need to know to Dev Serverless
All the Ops you need to know to Dev Serverless
 
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS SummitBuilding serverless enterprise applications - SRV315 - Toronto AWS Summit
Building serverless enterprise applications - SRV315 - Toronto AWS Summit
 

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
 

SRV315 Building Enterprise-Grade Serverless Apps

  • 1. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Dr. Tim Wagner General Manager, AWS Lambda and Amazon API Gateway Cecilia Deng Software Development Manager, AWS Lambda SRV315 Building Enterprise-Grade Serverless Apps Satish Malireddi Principal Architect, T-Mobile
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Public Service Announcement: Node 8.10 available in AWS Lambda (And ICYMI: Go and .NET CoreCLR 2.0 are both GA!)
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda: 6 ways to improve your serverless mojo 1. Think in patterns: the serverless architecture playbook 2. Scale like the pros: understanding concurrency & throttling 3. SecOps like you mean it: permissions & privileges 4. Think in apps 5. Software lifecycle: from coding to deployment 6. When things go wrong: Error-handling and diagnostics Guest Speaker: Jazz – Serverless Tools from T-Mobile
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key Trends Don’t code it yourself! The Rise of Managed Services Stream processing and “embarrassingly parallel” computing Snowballing adoption of microservices Serverless, event-driven architectures
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 1. Serverless Patterns: Managed services + Lambda functions
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Managed services as building blocks Amazon SNS Amazon SQS Amazon S3 Messaging Monitoring and Debugging Storage AWS X-Ray AWS Lambda Amazon API Gateway Orchestration API Proxy Compute AWS Step Functions Amazon DynamoDB Amazon Kinesis Analytics Database Edge Compute AWS Greengrass Lambda@Edge Amazon Athena Amazon Aurora Serverless (coming soon)
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patterns for the Cloud Era • Media transform on upload: Amazon S3 event + Lambda • NoSQL data cleansing: Amazon DynamoDB change streams + Lambda • Serverless website: Amazon S3 + Amazon DynamoDB + Amazon API Gateway + Lambda • Click-stream analytics: Amazon Kinesis Data Firehose + Lambda • Ordered event processing: Kinesis + Lambda • Multi-function fanout: Amazon SNS (or Lambda) + Lambda • Workflows: AWS Step Functions + Lambda • Event distribution: Amazon CloudWatch Events + Lambda • Serverless cron jobs: CloudWatch timer events + Lambda • Login hooks: Amazon Cognito User Pools + Lambda • GraphQL actions: AWS AppSync + Lambda
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patterns for the Cloud Era • On-the-fly image resizing: AWS Lambda@Edge + Amazon CloudFront • Email rules: Amazon SES + Lambda • Configuration policy enforcement: AWS Config + Lambda • Stored procedures: Amazon Aurora + Lambda • Custom authorizers for APIs: API Gateway auth + Lambda • DevOps choreography: CloudWatch alarms + Lambda • Alexa skills: Amazon Alexa + Lambda • Chatbots: Slack + Amazon Lex + Lambda • IoT automation: AWS IoT + Lambda • Smart devices: AWS Greengrass + Lambda • On-prem file encrypt for transit: AWS Snowball Edge + Lambda
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Meta-patterns 1. Service pushes async event to Lambda (S3, SNS) 2. Lambda grabs event from service (DynamoDB, Kinesis) 3. Synchronous exchange (Alexa, Lex) 4. Batch transform (Kinesis Firehose) 5. Microservice (API + Lambda + your choice of DB) 6. Customization via functions (AWS Config, SES rules) 7. Data-driven fanout (S3-Lambda, Lambda-lambda) 8. Choreography (Step Functions + Lambda) 9. Lambda functions in devices (Greengrass, Snowball Edge)
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Coming Soon: SQS as a built-in Lambda event source
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Patterns: Best practices • Don’t reinvent the wheel – use managed services when possible • …and stay current  • Lambda@Edge expands support for headers with S3 origin events • Keep events inside AWS services for as long as possible: • Example: S3  Lambda  client is preferable to S3  client  Lambda • Verify limits end-to-end • Prefer idempotent, stateless functions, and when you can’t… • Use Step Functions if you need stateful control (retries, long-running) • Building a SaaS or ISV platform? Use the techniques AWS uses: 1. Architect it serverlessly using Lambda and API Gateway 2. Offer your ecosystem customization via functions 3. Enable customers and partners to build reactive systems by emitting events
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 2. Concurrency, Throttling, & Timeouts
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway Throttling Three levels of throttling for APIs: API Key level throttling – configurable in usage plan Method level throttling – configurable in stage settings Account level throttling – limits can be increased
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway Throttling Token bucket algorithm Burst – the maximum size of the bucket Rate – the number of tokens added to the bucket You can also set a daily, weekly, or monthly quota.
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda Concurrency Management Account level safety limit: 1,000 (we will happily raise it ) Per-function concurrency limits • You set these • Optional: all functions without them share the remaining pool • Allows you to protect the capacity of a production system (but there’s no provisioning charge if you don’t use it) • Also good for: • Keeping Lambda’s scale from overwhelming a legacy system • Preventing a runaway function while you’re developing/testing • Limiting your costs
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda Burst & Scale Throttles Instantaneous burst limits: • In US-EAST-1, EU-WEST-1, and US-WEST-2: 3,000 concurrent • All other regions: 1,000 concurrent • Thereafter: • 500/minute additional concurrent (until you reach per-function or account limits)
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Max Timeouts API Gateway: 30 seconds Lambda: 5 minutes Lambda@Edge: 30 seconds (origin), 5 seconds (view events) What do you do when you want to trigger a function that needs more than 30 seconds? Go async: 1. API  Step Function  your function 2. API  f1 (sync)  f2 (async)
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3. Security and AuthZ
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key Questions for Securing Serverless Architectures What can call this function / API? What can this function / API call? Who can change these decisions? How can I know what’s happening?
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key Tenets for Securing Serverless Architectures What can call this function / API? As few things as possible What can this function / API call? As few things as possible Who can change these decisions? As few people as possible How can I know what’s happening? Audit!
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3 Simple Concepts 1. Resource Policies Analogy: Who would I invite into my house?
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3 Simple Concepts 2. Execution Roles Analogy: What do I let my kids play with?
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 3 Simple Concepts 3. Roles Analogy: Am I at work or at home? ?
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. • Resource Policies for APIs who can call the API, and under what conditions • Sample Uses • Enable users from a different AWS account to securely access your API • Enable customers to restrict access to specific IP Address ranges or CIDR blocks • Limit access to a specific Lambda function New API Gateway Feature - Resource Policies
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway: Resource policies vs. Custom Authorizers • Which should I use? • If resource policies can express the restriction, use them. (They’re free, fast, and built in.) • How do these two features interact? • We evaluate in three phases; all 3 have to pass: • Pre-authN (time checks, source IP checks) • Post-authN (call principal checks) • Custom authorizer (if present) • We stop as soon as permission is denied, so we only run your custom authorizer if it’s necessary to make a decision.
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway: Handy Auth Comparison Chart Feature AWS_IAM Token Request Amazon Cognito Authentication X X X X Authorization X X X Signature V4 X Amazon Cognito User Pools X X X Third-Party Authentication X X Multiple Header Support X Additional Costs None Pay per authorizer invoke Pay per authorizer invoke None
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Roles and X-account Calls • Lambda execution roles control what the function can do. • API Gateway invocation roles let you change the calling principal to any role/user in the same account. • Stick to API Gateway as the principal unless you have a specific need for this • API Gateway now also supports: • Cross-account Lambda invocations • Cross-account Lambda custom authorizers • Useful pattern: Switch accounts inside an API or function: Kinesis stream in Account A  function (Account A)  API (Account B)
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Keeping track: Auditing and Config Policies • Use AWS CloudTrail to track API and function management (creation, deletion, retrieval, etc.) • Can also audit function invocation for Lambda • Run queries against CloudTrail data using Amazon Athena • Or build a simple analysis engine using Lambda functions • Use AWS Config to continuously monitor and enforce policies • For example: Enforcing resource-level scoping on Lambda functions or custom authorizers for APIs
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Calling Third Party Services Securely AWS Secrets Manager • Securely store, retrieve, and manage database credentials, API keys, and other secrets for AWS or third-party systems • Rotate, audit, and version secrets • Built-in support for MySQL, PostgreSQL, and Amazon Aurora on Amazon RDS • Supports both default and custom KMS keys • Avoid cleartext secrets in Lambda env vars or code!
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 4. It’s All about [Serverless] Apps
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Serverless Application Repository • Discover, customize, and deploy serverless apps • Publish and share apps… • Within your AWS account • Across accounts • With everyone (public access) • ICYMI: Now GA! • Finance apps based on NumPy library • Roadmap: Look for more app-centric features in the Lambda console and fast iteration on the app repo
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Growing Set of App Producers
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Apps are based on SAM (Serverless App Model) • ICYMI: SAM added more API Gateway support in March: • Logging and metrics configuration • CORS • Regional endpoints • Binary data • Method-level settings like throttling limits and cache TTL • Amazon CloudWatch Logging event source support
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Open Source Announcement SAM implementation is now open source! Help us build SAM tools by contributing to the open SAM specification or the SAM translator: • Add event sources • Embed SAM transformations in other tools
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 5. Building, Testing, and Deploying Serverless Apps
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodePipeline AWS Code Suite AWS CodeCommit or GitHub AWS CodeBuild (build) AWS CodeBuild (test) CloudFormation (deploy) AWS CodeDeploy AWS Cloud9 Editor AWS CodeStar
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Best Practices for Serverless Development • CI/CD pipeline for apps (including repo publishing!) • Test and debug locally • ICYMI: Python debugging in Cloud9 IDE • AWS CloudFormation can deploy to multiple regions • Useful for multi-region APIs • Deploy incrementally for safety • Weighted aliases in Lambda • Canary stages in API Gateway • AWS CodeDeploy can automate SAM app deploys (including rollback)
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. 6. When Things Go Wrong: Error-Handling and Diagnostics
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway CloudWatch Metrics API Gateway Default metrics (free): Count total number of invokes received by API Gateway 4XXError #invokes that generated a 4XX error (includes throttling) 5XXError number of invokes that generated a 5XX error Latency total time to fully process request IntegrationLatency time API Gateway took to call integration CacheHitCount number of successful cache fetches CacheMissCount number of unsuccessful cache fetches
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway CloudWatch Metrics Included for free Granularity: per-API stage Default Metrics CloudWatch pricing Granularity: per-method Can be globally enabled Detailed Metrics
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda CloudWatch Metrics (free) At both function and version level: • Invocations, Errors, Throttles, IteratorAge, DeadLetterError At both account and function level (when limit is set): • ConcurrentExecutions At the account level only: • UnreservedConcurrentExecutions
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon CloudWatch Alarms Any metric can be tied to an alarm Alarm notifications can be sent to Amazon SNS topic SNS topic can then send to any number of destinations Email address SQS queue Lambda function
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. API Gateway CloudWatch Logs API Gateway Logging Two levels of logging, error and info Optionally log method request/body content Set globally in stage, or override per method API Gateway Access Logging Customizable format for machine parsable logs Log Pivots Build metrics based on log filters Jump to logs that generated metrics
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Lambda CloudWatch Logs Basics: • Automatically configured • Basic info (requests, duration, memory consumption, etc.) handled automatically • Application can add log entries easily Cool Stuff: • Grab a range on the console graph and jump to the logs for that time range • Send logs to another Lambda function • Use Elasticsearch & Kibana to aggregate/analyze • “Top talkers”
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The Lambda Function Request Lifecycle 1. Download your code (as a SquashFS filesystem) 2. Start the language runtime 3. Load your code (e.g., class loading in Java) 4. Run “init” code (e.g., static initializers in Java) 5. Process the request warm
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Same View in AWS X-Ray
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Things You Can Track in X-Ray • Cold vs warm starts • Async dwell time (time event spends in queue) • Duration of calls to other AWS services (and with a little work to add trace points, third-party services) • Errors and throttles from AWS service calls Lots of great third-party offerings can also help!
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Making Cold Starts More Efficient • Control the dependencies in your function's deployment package • Tree shake your Java code! (Hint: Spring is expensive ) • Can combine “hot paths”…but preserve agility • Optimize for your language, where applicable… • Node – Browserfy, Minify • AWS Java v2 SDK (preview) • Only use VPC if you need access to a resource there! • Delay loading where possible
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Summary: 6 ways to improve your serverless mojo 1. Think in patterns: the serverless architecture playbook 2. Scale like the pros: understanding concurrency & throttling 3. SecOps like you mean it: permissions & privileges 4. Think in apps 5. Software lifecycle: from coding to deployment 6. When things go wrong: Error-handling and diagnostics
  • 50. Introducing Jazz T-Mobile’s Serverless Development Platform https://github.com/tmobile/jazz Satish Malireddi Principal Architect, T-Mobile
  • 51. ▪ As America's Un-carrier, T-Mobile US, Inc. is redefining the way consumers and businesses buy wireless services through leading product and service innovation. ▪ NASDAQ traded public company – TMUS ▪ Operating two flagship brands: T- Mobile and MetroPCS ▪ Based in Bellevue, Washington About T-Mobile
  • 52.
  • 53. Serverless computing allows you to build and run applications and services without thinking about servers • No server management • Scales on demand • High availability • Don’t pay for idle capacity Serverles s… Jazz…  A Serverless Development Platform  Jazz provides developers a fast on-ramp to build & manage their serverless applications  It is not another FaaS implementation. Rather, it enhances the usability of existing FaaS systems  Jazz has well-built interfaces designed to let developers quickly self-start and focus on code
  • 54. Serverless Use Cases at T-Mobile...  APIs/Microservices  Static websites/single page applications  Mobile backends & serverless data stores  Timer-based processing (cron jobs)  Event-based processing  S3 upload  Payment failed  Monitoring alert triggered  Real-time stream processing  IoT events
  • 55. Our Serverless Journey…  Cloud Operations  Proof of concepts  MobileLife  Microsites  Policy & compliance Manager  Jazz platform Open source! 2016 2017 2018  3000+ Lambda functions  100+ API gateways  25+ Applications that are live  Millions of invocations/day  Alexa skills & slack bots
  • 56. Initial set of challenges faced…  Packaging & deploying (CI/CD)  Multi-tenancy  Local testing  Logging & monitoring  Service sprawl  Secret management  Security, auditing & best practices  Integration with enterprise services
  • 57. Now, how can we drive adoption within T- Mobile?  Serverless is just like cloud 6 years ago. We’ve seen that cloud worked and we’ve realized that serverless works!  FaaS is great, but can we build production ready applications & operate them at scale?  Can we make it simpler for enterprise users to use serverless?  How can we drive adoption internally in T-Mobile?
  • 58. Focus on code, Jazz takes care of everything else! Jazz – Our solution to drive serverless adoption CI/CD Multi Environment Compliance Monitoring Security Multi-Tenancy Code Templates LoggingManagement & Control https://github.com/tmobile/jazz
  • 59. Jazz Architecture Jazz itself is serverless—and written in Jazz!
  • 60. Jazz Components Jenkins: • CI/CD • Package & deploy • Code & Dependency scan • Test integration Bitbucket/Gitlab: • NodeJS/Python/Jav a/Go* • Commit hooks for CI/CD • Code/Swaggers CloudFront S3 DynamoDB AWS KMSAmazon ES API Gateway AWS Lambda Kinesis
  • 61. How Jazz helped us with adoption within T- Mobile Serverless microservices are being created in minutes  Applications are going live without teams managing a single server  Active users exploring serverless increasing each month  3,000+ Lambda functions deployed & managed via the platform  Code templates made it easy to share best practices  CI/CD, compliance & security comes with platform  No server patching & significant cost reductions
  • 62. What’s Next…  Serverless - First approach for cloud native applications  Open source - First development for Jazz & community engagement  Support new serverless patterns, service types & runtimes  Enhanced Security Controls  API Versioning, Rollbacks, B/G & Canary deployments  Serverless Application Repository Integration  Local testing and debugging  What do you need?
  • 63. GitHub: https://github.com/tmobile/jazz OSS: https://opensource.t-mobile.com Slack: https://tmo-oss-getinvite.herokuapp.com/ Email: serverless@t-mobile.com Try Jazz: http://try.tmo-jazz.net • For Reg. Code, Slack/Email us Helpful Stuff…
  • 64. Try it yourself… http://try.tmo-jazz.net For Reg. Code, slack/email us! T-Mobile Confidential
  • 65. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Speaker Info / Social Media Channels t: timallenwagner@ (including DM) aws.amazon.com/lambda aws.amazon.com/api-gateway serverlessrepo.aws.amazon.com/applications aws.amazon.com/blogs/compute AWS Forums
  • 66. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Please complete the session survey in the summit mobile app. …and…Go Serverless!!
  • 67. Submit Session Feedback 1. Tap the Schedule icon. 2. Select the session you attended. 3. Tap Session Evaluation to submit your feedback.
  • 68. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Thank you!