Beruflich Dokumente
Kultur Dokumente
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
1. The Business Case for Modern Applications
2. Architectural Patterns
• Monoliths and microservices
• Event driven systems
• Workflow orchestration and state
3. Operating Model
• Deployment Model
• Choosing the right abstraction
• Distributed Tracing and Monitoring
4. Software Delivery
• Pipelines
• Deployment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Modern Applications – The Business Case
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
The new normal: companies are increasingly global and products
are increasingly digital
Source: Gartner
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
To maintain competitive advantage, digital businesses must
innovate as rapidly as possible
Experiment
Innovation
Flywheel
Ideas Feedback
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS customers are pioneering modern applications
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Modern applications
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Architectural patterns
What changes
have to be made Operational model
in this new world?
Software delivery
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Architectural Patterns
Monolith Microservices
Does everything Does one thing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Architectural Concerns
Monolith Microservice
Datastore
Datastore
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Architecture Choices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices architectures
APPLICATION
Mobile client
EVENT
API
MICROSERVICE
API
MICROSERVICE
Client
EVENT
MICROSERVICE
API
MICROSERVICE
API
IoT
MICROSERVICE
PERSISTENCE PERSISTENCE
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monoliths and Microservices
API
Gateway
Account Account DB
Mobile client
Lookup
IoT Shipping DB
Shipment
Query
Client
Store Front
Inventory DB
Web App
Inventory
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved. Query
Let’s take a look at the evolution of computing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is a container?
Code
Dependencies
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Evolving to Serverless
Virtual Servers
in Datacenters
Step Functions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APIs are the front door of microservices
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Manage APIs with API Gateway
AWS Lambda
API functions Endpoints
Gateway in your
Mobile apps cache VPC
AWS
Endpoints on Lambda
Amazon EC2 function
Websites s
Internet Amazon
CloudFront
All publicly
accessible
endpoints
Services
Regional API Endpoints
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Event-driven architectures
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservices messaging patterns
response
Lambda SQS Queue
Lambda SQS Queue
function
function
Service C
response
SNS
Service A Topic
Lambda SQS Queue Service D
function
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“I want to “I want to “I want
retry failed tasks” sequence tasks” try/catch/finally”
A A B
“I want to “I want to
select tasks based on data” run tasks in parallel”
A
A B C
B ? C
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Build workflows to orchestrate everything
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Simpler integration, less code
AWS No
Lambda
Get Job Status Lambda Synchronously Run a Batch Job
function functions
s Job Complete?
Publish Success to SNS Publish Error to SNS
End
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud-native architectures are small
pieces, loosely joined
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Isn’t all of this very hard now that
we have lots of pieces to operate?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS operational responsibility models
Less More
On-Premises Cloud
Storage Storage
S3
Messaging ESBs
Amazon MQ Kinesis SQS / SNS
Analytics
Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
What is serverless?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
COMPUTE
AWS AWS
Lambda Fargate
DATA STORES
INTEGRATION
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Comparison of operational responsibility
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tracing for your modern application
Amazon
DynamoDB
Cloud VPC
On-Premise
AWS
Amazon EC2 Amazon EKS Lambda
Users Amazon Amazon
API Gateway API Gateway
Frontend service Backend service Payments service
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Real life Distributed Tracing
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Troubleshooting SQL queries performance
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Included the SQL call as a metadata of the segment
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
SQL performance logs
7.0 @RecID Int 32639064 IF EXISTS (SELECT 1 FROM dbo.Schedule_Detail sd LEFT JOIN dbo.Schedule s on s.Schedule_RecID =
sd.Schedule_RecID . . .
34.8 IF EXISTS (SELECT sr.SR_Location_RecID FROM DBO.SR_LOCATION as sr WHERE
sr.SR_Location_RecID =24) SELECT . . .
1.0 @recid Int 65 SELECT Owner_Level_RecID FROM dbo.User_Defined_Field_Owner_Level WHERE
User_Defined_Field_RecID = @recid
18.6 @serviceRecId Int 11111899 SELECT Company_RecID FROM dbo.SR_Service WHERE SR_Service_RecID = @serviceRecId
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Entity sync issue
Sending messages
synchronously
….
Still waiting for the
response
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Entity sync resolved
Down to 0.0 ms
Syncing is now taking place on an asynchronous worker threads, no impact on main application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
By user
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Business impact - Usage analytics
Usage
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Changes to the delivery of software
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How do I develop and deploy code in a
serverless microservices architecture?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Monolith development lifecycle
developers services
delivery pipelines
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Microservice development lifecycle
developers services delivery pipelines
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Decompose for agility
(microservices, 2 pizza teams)
Automate everything
Infrastructure as code
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Developer Tools for CI/CD
AWS CodePipeline
AWS CodeCommit AWS CodeBuild AWS CodeBuild + AWS CodeDeploy AWS X-Ray
Third Party
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How can we best model and provision our infrastructure?
AWS
AWS CodePipeline
cfn-nag
pre-create AWS CodeBuild
post-create stack
region
Amazon SNS
stack
deploy Amazon S3 region
region bucket
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Cloud Development Kit
CDK Application
CloudFormatio
n Template
Stack(s)
Construct Construct
Resources
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS customers are pioneering modern applications
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Where to learn more
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Conclusion
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Your modern application development journey starts with
AWS Training and Certification
Training
Developing on AWS is where you will learn how to use the AWS AWS Certified DevOps Engineer –
SDK to develop secure and scalable cloud applications. We will Professional
explore how to interact with AWS using code and discuss key DevOps engineers with two or more
concepts, best practices, and troubleshooting tips. years of experience on AWS
This exam tests an engineer’s
AWS Certified Developer – Associate experience provisioning, operating, and
Developers with one or more years of hands-on experience on AWS managing AWS environments.
This exam validates an understanding of core AWS services, uses, Examinees will show an understanding
and basic AWS architecture best practices. Examinees must of how to build highly scalable,
demonstrate proficiency in developing, deploying, and debugging available, and self-healing systems on
cloud-based applications using AWS. the AWS platform and to design,
manage, and maintain tools to
automate operational processes.
Visit https://www.aws.training/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank You for Attending
AWS Online Event: Modern Application Development
aws-apac-marketing@amazon.com
twitter.com/AWSCloud
facebook.com/AmazonWebServices
youtube.com/user/AmazonWebServices
slideshare.net/AmazonWebServices
twitch.tv/aws
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019 Amazon Web Services, Inc. or its Affiliates. All rights reserved.