2. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
De un monolito a microservicios
3. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Citizens expect innovation from their public services;
organizations must innovate as rapidly as possible
FeedbackIdeas
Experiment
Innovation
Flywheel
4. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
What changes have
to be made
in this new world?
Architectural patterns
Operational model
Software delivery
5. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
When the impact of change is small,
release velocity can increase
Monolith
Does everything
Microservices
Does one thing
6. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Microservices architectures
Inventory
Query
Mobile client
Client
IoT
API
Gateway
Account DB
Shipping DB
Inventory DB
Store Front
Web App
Account
Lookup
Shipment
Query
Inventory
Query
7. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Why customers love AWS to deploy their
microservices
Microservices are a first-class citizen of the AWS Cloud
Deeply integrated
with AWS
Security and Compliance
Broad selection of compute instances
and IAM security, VPC networking,
load balancing, and autoscaling
ISO, HIPPA, PCI, SOC1, SOC2, SOC3
Infocomm Media Development Auth.
DevOps Workflow
Best place to build and operate
a complete DevOps workflow for
microservices
DEV OPS
8. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
How do I develop and deploy code in a
microservices architecture?
9. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Monolith development lifecycle
developers
delivery pipelines
services
monitorreleasetestbuild
10. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
11. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Containers and docker
A container is a standard unit of software that packages up code and all
its dependencies so the application runs quickly and reliably from one
computing environment to another.1
1 https://www.docker.com/resources/what-container
Server
Operating System
Docker Engine
AppA
AppB
AppC
AppD
12. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Microservice development lifecycle
developers services
monitorreleasetestbuild
delivery pipelines
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
13. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
AWS Developer Tools for CI/CD
AWS CodeBuild +
Third Party
AWS CodeCommit AWS CodeBuild AWS CloudFormation
AWS CodeDeploy
Amazon CloudWatch
AWS X-Ray
Source Build Test Deploy Monitor
AWS CodePipeline
14. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Best practices
Automate everything
Decompose for agility
(microservices, 2 pizza teams)
Standardized tools
Infrastructure as code
Belts and suspenders
(governance, templates)
15. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Isn’t all of this very hard now that
we have lots of pieces to operate?
16. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Comparison of operational responsibility
AWS Lambda
Serverless functions
AWS Fargate
Serverless containers
ECS/EKS
Container-management as a service
EC2
Infrastructure-as-a-Service
More opinionated
Less opinionated
AWS manages Customer manages
• Data source integrations
• Physical hardware, software, networking,
and facilities
• Provisioning
• Application code
• Container orchestration, provisioning
• Cluster scaling
• Physical hardware, host OS/kernel,
networking, and facilities
• Application code
• Data source integrations
• Security config and updates, network config,
management tasks
• Container orchestration control plane
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Work clusters
• Security config and updates, network config,
firewall, management tasks
• Physical hardware software,
networking, and facilities
• Application code
• Data source integrations
• Scaling
• Security config and updates, network config,
management tasks
• Provisioning, managing scaling and
patching of servers
17. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Decouple state from code using messaging
Queues
Simple
Fully-managed
Any volume
Pub/sub
Simple
Fully-managed
Flexible
Amazon Simple
Queue Service
Amazon Simple
Notification
Service
Messaging
Synchronization
Rapid
Fully-managed
Real-time
Amazon
CloudWatch
Events
18. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Sounds great; how do we get there?
19. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Questions & challenges on the migration journey
• Where to start?
• What to break out?
• Dependencies?
• Works as expected?
• Users happy?
• Does it scale?
• Does it perform?
• How to automate?
• Works as expected?
• Users happy?
• How to optimize?
Does it perform?
• How to automate?
?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
? ? ?
?
?
?
?
From
On-Premises Monolith
Via
Containerized Services
To
Functions & Cloud Services
20. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Methodical migration process
Evaluate Plan Design Migrate Optimize
• Discovery
• Migration
patterns
• Well Architected
• Tool selection
• Test planning
• Cutover planning
• Migration
workloads
• Migration tools
• Validation &
cutover
• Operation
• Optimization
• Migration
Readiness
Assessment
• On-boarding
• Planning and SOW
• Portfolio
discovery
• Requirements
collection
• Landing Zone
• People - skills and
organization
• Business case, TCO
Visualize the cloud adoption effort from planning to operating on AWS
21. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Discovery – Portfolio Data Gathering
• Storage
• Type
• Capacity
• Utilization
• . . .
• Server
• Physical/virtual
• OS version
• CPU, RAM, Disk
• type, utilization
• . . .
• Network
• Device type
• Firewall rule
• Network
connection
• . . .
• Application
• Owners,
criticality
• Characteristics
• Stack
• Infrastructure
• . . .
22. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Analysis … What Should We Look For?
• Completeness and usability
• If additional discovery is needed, determine the actions needed to complete discovery.
• Apps, Servers,
Connections
• No. of apps and servers
• Application and server
dependencies
• Performance
metrics
• Allocate and right-
size target resources
• Service naming,
tagging
• Identify patterns
• Group servers and
applications
23. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Asset
Inventories
CMBD
Tribal
Knowledge
SLA/OLA
App
Configuration
Data
Performance
Information
Architecture
Outcomes
Applications
Infrastructure
Performance
Portfolio Discovery & Analysis Outcomes
Resource Model
Application backlog
Cost Model
AWS Application
Discovery Service
Disconnected and
Incomplete Data
Gathering Data and
Organizing
“Discovery & Planning”
24. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Common migration strategies
There is no one size fits all approach to migrating your applications
25. 2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
2019, Amazon Web Services, Inc. o sus empresas afiliadas. Reservados todos los derechos.
Refactoring: Monolith to microservices