how to expedite design and development of serverless · 2021. 9. 6. · compute layer aws lambda...
Post on 12-Sep-2021
6 Views
Preview:
TRANSCRIPT
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How to expedite design and
development of serverless
applications on AWS
Presenter
Mike Pfeiffer, Ambassador,
DevOps Institute
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deliver more value to your business by minimizing the time and resources you spend on infrastructure-related requirements. Learn how to use fully managed, end-to-end serverless solutions to boost developer productivity, optimize resources, and accelerate pace of innovation.
Agenda
○ Core benefits of serverless computing
○ Common patterns and best practices
○ Case studies from the field
Ambassador, DevOps Institute
@mike_pfeiffer
Mike Pfeiffer
Mike has worked for some of the largest technology
companies in the world including Microsoft and Amazon
Web Services (AWS) and is the founder and chief
technologist at CloudSkills.io, a cloud consulting and
training firm. Mike is a published author, international
conference speaker, Microsoft Azure MVP, and host of
the CloudSkills.fm podcast.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Core Benefits and Patterns of
Serverless Computing
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
No Infrastructure Concerns
● Allows teams to focus on what matters most –
the application
● Enables simplified deployment scenarios
● Removes infrastructure concerns and
undifferentiated heavy lifting from the
architecture, deployment, and support
perspective
Benefits include:
Eliminates the administrative overhead included with managing IaaS
or PaaS solutions.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Flexible and Dynamic Scalability
● Infrastructure scalability within seconds to
match the demands of any workload
● Increase developer velocity by writing less
code
● Platform integrations simplify complex
scenarios
Benefits include:
Inherently scalable to match the resource demands of any workload.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Faster Time to Market
● Improved team agility and performance
● Built-in intelligent monitoring and
analysis capabilities
● Supports multiple application patterns
including hybrid, cloud, and edge
computing
Benefits include:
Reduction in operational dependencies on each development cycle
increases teams agility to deliver value quicker.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Resource Efficiency
● Reduced infrastructure costs and elimination of
server licensing concerns
● Intelligent security management
● New paths of innovation and revenue
opportunities
Benefits include:
Leveraging serverless technologies helps organizations reduce total
cost of ownership and accelerate the pace of innovation.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless Application Patterns
● Serverless functions
● Serverless containers
● Serverless workflows
● Serverless API gateways
Serverless applications enable multiple application patterns.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Case Study: Serverless
Migration of Hundreds of Single
Page Web Apps
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The project
Digital marketing agency running hundreds of one-page web
applications across a fleet of Windows-based virtual machines. The
company wanted to reduce the overhead of their Virtual Machine
foot-print and implement a more modern development and
deployment process.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The challenge
● Deployment process was painfully slow
● Lack of automation required multiple manual
steps that were time consuming and error
prone
● Administrative overhead of supporting dozens
of virtual machines was a burden on the core
infrastructure team
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The solution
● Re-factor the core application architectures
● Deliver web-front end through CloudFront and
S3
● Run backend code via AWS Lambda & API
Gateway
● Implement CloudWatch Events and AWS
Lambda for event-driven automation
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The solution
https://go.aws/2SZuioY
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The results
● Thousands in cost savings per month
● End-to-end automation reduced deployment
times by 70%
● Infrastructure team was able to spend more
time on innovative projects vs. maintaining
legacy infrastructure
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
x
The DevOps Institute (DOI) is the continuouslearning community dedicated to advancing thehuman elements of DevOps success.
Our mission is based on a framework of skills, knowledge, ideas and learning (SKIL) that practitioners need to advance DevOps and their careers. All of our work, including accreditations, research, events and continuous learning programs – is focused on providing the “know-how” to make DevOps possible.
Join our FREE community at www.devopsinstitute.com
About DevOps Institute
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
THANK YOU!
www.devopsinstitute.c
om
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Accelerating serverless application
development for mission-critical
workloads
Kanchan Waikar
Partner Solutions Architect, AWS
https://www.linkedin.com/in/kanchanwaikar/
https://twitter.com/KanchanWaikar1
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Increasing agility with serverless
Compute Virtual machine
Databases MySQL
Storage Storage
Messaging
ESBs
Analytics Hadoop
On-premises Cloud
Less More
Amazon EC2
MySQL on EC2
Hadoop on EC2
AWS Elastic Beanstalk AWS Fargate AWS Lambda
Amazon EMR Amazon Elasticsearch Service Amazon Athena
Amazon S3
Amazon
QLDBAurora ServerlessAmazon Aurora
Amazon RDS
MySQL
Amazon MQ Amazon KinesisAmazon
EventBridge
DynamoDB
Amazon
SNS
Amazon
SQS
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Security
CloudFront
Trusted Advisor
CloudWatch
Aurora
Cost Explorer
Route 53
EBS
Auto Scaling
RDS
ElastiCache
Glacier
Shield
Trusted Advisor
Auto Scaling
S3
CloudFront
GuardDuty
Identity and Access
Management (IAM)
Virtual Private
Cloud (VPC)
Key Management
Service (AWS
KMS)
Config
CloudWatch
CloudFormation
CloudTrail
Elasticsearch
Service
Operational
Excellence
Performance
EfficiencyReliability
Cost
Optimization
AWS native services help enable performance
across Well-Architected pillars
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless lens: Well-Architected Framework
https://d1.awsstatic.com/whitepapers/architecture/AWS-Serverless-Applications-
Lens.pdf
Components
Scenarios
1
2
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Serverless lens: Components
Deployment approaches
Compute layerAWS
Lambda
Amazon API
gateway
AWS Step
Functions
Data layerAmazon
DynamoDBAmazon S3
Amazon
Elasticsearch
Service
Amazon
CloudFront
AWS
AppSync
User management and identity layerAmazon
Cognito
Edge layerAmazon
CloudFront
Systems monitoring and deploymentAmazon
CloudWatchAWS X-Ray
Messaging and streaming layerAmazon
Kinesis
Amazon
SNS
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Meet AWS Serverless Application Model (SAM)
• What is SAM?
• How does SAM work?
• How much does it cost?
• Is it open-source?
• My Lambda function is in Python. Does SAM support that?
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS SAM templates
AWS Cloud
Amazon API Gateway
Lambda function
Table Role
AWSTemplateFormatVersion: '2010-09-09’
Transform: AWS::Serverless-2016-10-31
Resources:
GetProductsFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.getProducts
Runtime: nodejs10.x
CodeUri: src/
Policies:
- DynamoDBReadPolicy:
TableName: !Ref ProductTable
Events:
GetResource:
Type: Api
Properties:
Path: /products/{productId}
Method: get
ProductTable:
Type: AWS::Serverless::SimpleTable
===
Allowing
this
To become
this
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting started with SAM
~$ sam init
~$ sam build
~$ sam local invoke
~$ sam local start-api --port 8080
~$ sam package --s3-bucket sam-artifacts-bucket
~$ sam deploy --stack-name my-sam-app
~$ sam logs -n HelloWorldFunction --stack-name my-sam-app --tail
• Set up SAM
environment
– Install SAM on your
desktop
• Install AWS SAM CLI
• Set up credentials
– OR Use Cloud 9
• Deploy Sample
application
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scenarios: RESTful microservices
https://d1.awsstatic.com/whitepapers/architecture/AWS-Serverless-Applications-Lens.pdf
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scenarios: ALEXA skills
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scenarios: Mobile backend
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scenarios: Stream processing
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scenarios: Web application
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introducing Stackery
Top use cases
• Modernize monoliths
to microservices
• Improve security and
governance across
multiple teams
• Extend enterprise
applications
How Stackery helps
• Visual editing canvas makes
application development easier
• Helps you follow AWS Well-
Architected Framework practices
• Maintains data in your AWS account
• Manages namespaced environments
for delivery across AWS accounts
• Generates properly-scoped IAM
permissions between resources
Supported resources: https://docs.stackery.io/docs/using-stackery/resource-palette/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Stackery visual editor
StacksImportant
conceptsEnvironment
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
SAM template
generated by
Stackery
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting started with Stackery
https://youtu.be/iMwF
GhnX01A
Stackery Quickstart
Tutorial
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From monolith to serverlessAdopting a scalable technology stack to facilitate rapid growth
“Even though we
experienced
considerable growing
pains, many
enhancements were
realized throughout this
migration. In this new
cloud world, not only
could we scale our
application servers but
our database servers
as well.”
- Matthew Witt, VP of
Engineering, MasterStream
•Gain
performance,
scalability,
availability,
durability
•Eliminate need
for examining
internal code or
debugging
•Replace features
on legacy
system
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A serverless plugin for team efficiencyBranch Insurance unlocked a dedicated serverless software team in Stackery
“The best thing about
Amazon Web Services
(AWS) is that there are so
many tools and they have
all been iteratively built in
response to customer
demand.”
– Joe Emison, Co-founder and
CTO, Branch Insurance
•Get assistance
from live
knowledge bank
• Free up team to
build amazing
apps
•Consistent
control
environment
“Stackery essentially granted our
organization a team of skilled, serverless-
specific engineers that I don’t have to
professionally manage.”
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Get started on AWS Marketplace
Flexible consumption and contract models
Quick and easy deployment
Helpful humans to support you
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Flexible deployment options on AWS Marketplace
Meant for single instance solutions deployed directly into your VPC
Provides flexible BYOL, pay-for-what-you-use, free trials, and curated Open Source options
Amazon Machine Image
Software offered as a service with no resources required to manage infrastructure
SaaS
Find container products in AWS Marketplace or the Amazon Elastic Container Service (Amazon ECS) console and deploy them on Amazon ECS, Amazon ElasticKubernetes Service (Amazon EKS), and AWS Fargate
AWS Container Services
Application Program Interface is designed to integrate directly to an application
API
Find machine learning algorithms and models that can be deployed directly onto Amazon SageMaker
Amazon SageMaker
Meant for clustered and high availability implementations
Combines third-party software with AWS services and a complete solution implementation including multi-instance, tie-ins to AWS Services, and high availability cluster architectures
AWS CloudFormation Template
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting started with serverless
Use-
case
Discover
Learn
Test
Author
Diagnose
Monitor/
Observe
Deploy
Operate,
Secure
DebugPrototype
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Points to consider
Easily experiment
with software using
AWS Marketplace
– without license
lock-in.
Support your well
architected
framework with a
serverless lens.
Shift your focus to
application as code
and bring products
to market faster.
Serverless greatly
complements
microservices
architecture by
reducing your
infrastructure
burden.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Resources
AWS Marketplace: https://aws.amazon.com/marketplace
Quick Start Tutorial: https://youtu.be/iMwFGhnX01A
Server Application Lens for WAF: https://d1.awsstatic.com/whitepapers/
architecture/AWS-Serverless-Applications-Lens.pdf
Questions: aws-sa-marketplace@amazon.com
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Q&A
Use GoToWebinar’s Questions tool to
submit questions to our panel.
Please specify whether your question is
for Mike (DevOps Institute) or for
Kanchan (AWS).
top related