SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
From Monolith to Microservices
Daniele Stroppa, Solutions Architect, AWS
Ville Takanen, VP Engineering, Digital Goodie
September 18th, 2018
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
2009
48
280
722
82
2011 2013 2015
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
“The Monolith”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Challenges with monolithic software
Long
Build/Test/Release
Cycles
(who broke the build?)
Operations
is a nightmare
(module X is failing,
who’s the owner?)
Difficult to
scale
New releases
take months
Long time to add
new features
Architecture is hard
to maintain and
evolve
Lack of innovation
Frustrated customers
Lack of agility
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential“20080219BonMorningDSC_0022B” by Sunphol Sorakul . No alterations other than cropping. https://www.flickr.com/photos/83424882@N00/3483881705/
Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Monolith development lifecycle
releasetestbuild
Delivery pipeline
App
(aka the“monolith”)Developers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Too much software coupling
Shared libraries
Shared data
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Evolving towards microservices
“IMG_1760” by Robert Couse-Baker. No alterations other than cropping. https://www.flickr.com/photos/29233640@N07/14859431605/
Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
Adrian Cockcroft (former Cloud Architect at Netflix and
Technology Fellow at Battery Ventures, now VP Cloud
Architecture Strategy at AWS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
Services communicate
with each other over the
network
Adrian Cockcroft (former Cloud Architect at Netflix and
Technology Fellow at Battery Ventures, now VP Cloud
Architecture Strategy at AWS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts”
You can update the
services independently;
updating one service
doesn’t require changing
any other services.
Adrian Cockcroft (former Cloud Architect at Netflix and
Technology Fellow at Battery Ventures, now VP Cloud
Architecture Strategy at AWS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
“service-oriented
architecture
composed of
loosely coupled
elements
that have
bounded contexts” Self-contained; you can
update the code without
knowing anything about
the internals of other
microservices
Adrian Cockcroft (former Cloud Architect at Netflix and
Technology Fellow at Battery Ventures, now VP Cloud
Architecture Strategy at AWS)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Principles of Microservices
1. Rely only on the public API
Ÿ Hide your data
Ÿ Document your APIs
Ÿ Define a versioning strategy
2. Use the right tool for the job
Ÿ Polygot persistence (data layer)
Ÿ Polyglot frameworks (app layer)
3. Secure your services
Ÿ Defense-in-depth
Ÿ Authentication/authorization
6. Automate everything
Ÿ Adopt DevOps
4. Be a good citizen within the ecosystem
Ÿ Have SLAs
Ÿ Distributed monitoring, logging, tracing
5. More than just technology transformation
Ÿ Embrace organizational change
Ÿ Favor small focused dev teams
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Benefits of microservices
Rapid
Build/Test/Release
Cycles
Clear ownership and
accountability
Easier to scale
each individual
micro-service
New releases
take minutes
Short time to add
new features
Easier to
maintain and
evolve system
Faster innovation
Delighted customers
Increased agility
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
= 50 million deployments a year
Thousands of teams
× Microservice architecture
× Continuous delivery
× Multiple environments
(5708 per hour, or every 0.63 second)
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Challenges of Microservices
1. Distributed System
Ÿ Performance
Ÿ Reliability
2. Eventual Consistency
Ÿ Decentralized data management
3. Operational Complexity
Ÿ Deployments
Ÿ Monitoring
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
For less-complex systems,
the extra baggage required to manage
microservices reduces productivity
As complexity kicks in,
Productivity starts failing rapidly
the decreased coupling
of microservices
reduces the attenuation
of productivity
https://www.martinfowler.com/microservices/#when
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Strangling the Monolith
Database
StoreFront
UI
Browser
Cart
Service
Account
Service
User
Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
No New Feature on the Monolith
Database
StoreFront
UI
Browser
New
Microservice
New DB
Cart
Service
Account
Service
User
Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Anti-Corruption Layer for Integration
ACL
Database
StoreFront
UI
Browser
New
Microservice
New DB
Cart
Service
Account
Service
User
Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Cart
Service
Account
Service
Start with a Simple Existing Service…
Database
StoreFront
UI
Browser
User
Microservice
User DB
New
Microservice
New DB
User
Service
Client
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Account
Service
User
Service
Client
…Move on to More Complicated Services
Cart
Microservice
Database
StoreFront
UI
Browser
User
Microservice
User DB
New
Microservice
New DB
ACL
Cart DB
Cart
Service
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
…Keep Walking and…
Cart
Microservice
Database
StoreFront
UI
Browser
User
Microservice
User DB
New
Microservice
New DB
Account
Microservice
Cart DB Account DB
Account
Service
User
Service
Client
ACL
Cart
Service
ACL
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
…The Monolith is Eventually Gone
Cart
Microservice
StoreFront
UI
Browser
User
Microservice
User DB
New
Microservice
New DB
Account
Microservice
Cart DB Account DB
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Microservices Architecture on AWS
CloudFront API
Gateway
Application
Load Balancer
ECS
EC2
Lambda ElastiCache
RDS
DynamoDB
CloudWatchS3
Static
content
From monolith to microservices
The Digital Goodie Journey
@villetakanen
From Monolithic to Microservices (AWS & Digital Goodie)
”2.0”
2016 à 2017
In house development
Internal API
Challenges with
1. Performance / Cost
2. Bug trace / maintenance
3. RD / new features
Open, extendable, service
External API
Clean Microservices based architecture
• Apps, by us and 3rd party
• Platform by us and other MS compatible providers
• Integrations via API
Where we started The vision state
Hypotheses
1. Microservices model will enable us to mix-and-match the best tools and services for the customer
2. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense
3. Amazon services, Kubernetes, and standard approaches will make the transition simple
4. Meeting security and GDPR requirements will be easier with Microservices as they have clear and
separate responsibilities
5. Bug triaging and error tracing will become simpler, as each of the services has clear and separate
responsibilities
Microservices model
will enable us to mix-
and-match the best
tools and services for
the customer?
Microservices model
will enable us to mix-
and-match the best
tools and services for
the customer?
Confidential © Digital Goodie 2018
Lesson 1:
Microservices are like Cloud. You can start fast and
small.
And you should start now.
Confidential © Digital Goodie 2018
Lesson 2:
Microservice models promise of Lego like mix-and-match
works
Moving to
Microservices model
as an end-to-end
platform upgrade can
be done, and makes
sense
Moving to
Microservices model
as an end-to-end
platform upgrade can
be done, and makes
sense
Confidential © Digital Goodie 2018
Lesson 2.1:
Microservice models promise of Lego like mix-and-match
works…
When you are interfacing with other Cloud era API first
services.
Confidential © Digital Goodie 2018
Lesson 3:
While the Microservices are not a perfect solution to
development and architecture challenges
They are the most advanced yet, and can and should be
used to fast track development on the most valuable
services you offer
Confidential © Digital Goodie 2018
F
i
r
e
w
a
l
l
Data privacy in-transit:
All communication to-and-
from DG encrypted using
HTTPS
Web
Container
Application
Containers
F
i
r
e
w
a
l
l
F
i
r
e
w
a
l
l
Elastic load-balancing
& auto-scaling
Security Layer
Private
Subnet
Personal Data: Limited details stored, name, id etc.
Product Data: Extensive details stored
Order Data: Extra Personal Data (address) stored for limited time
Transaction/credit Data: Data cached for processing, no data stored
Sensitive Data: By default no data stored or cached, encrypted if needed
Data encryption
Security Infrastructure:
Intrusion detection
Threat monitoring
VPN Connectivity
Private
Subnet
Private
Subnet
Elastic load-balancing
& auto-scaling
AWF CloudFront
API GWRoute 53
Pesistency
Services
Amazon services, Kubernetes, and standard approaches will
make the transition simple
Confidential © Digital Goodie 2018
F
i
r
e
w
a
l
l
Data privacy in-transit:
All communication to-and-
from DG encrypted using
HTTPS
Web
K8S cluster
K8S
Clusters
F
i
r
e
w
a
l
l
F
i
r
e
w
a
l
l
Elastic load-balancing
& auto-scaling
Security Layer
Private
Subnet
Personal Data: Limited details stored, name, id etc.
Product Data: Extensive details stored
Order Data: Extra Personal Data (address) stored for limited time
Transaction/credit Data: Data cached for processing, no data stored
Sensitive Data: By default no data stored or cached, encrypted if needed
Data encryption
Security Infrastructure:
Intrusion detection
Threat monitoring
VPN Connectivity
Private
Subnet
Private
Subnet
Elastic load-balancing
& auto-scaling
AWF CloudFront
API GWRoute 53
Pesistency
Services
Amazon services, Kubernetes, and standard approaches will
make the transition simple
IS
K8S cluster
Confidential © Digital Goodie 2018
Lesson 4:
If you are already using Cloud services for security and
persistency – All you need is, to write the services
And learn to use Kubernetes*
*) My suggestion: look at the emerging K8S as a service
offerings from your Cloud provider or a parter.
Confidential © Digital Goodie 2018
Lesson 5:
Container auto-scaling and optimization is a completely
new game.
Your performance test scenarios, and ways you
approach perfomance issues might no longer work
Confidential © Digital Goodie 2018
Meeting security and GDPR requirements
will be easier with Microservices as they
have clear and separate responsibilities
Confidential © Digital Goodie 2018
Meeting security and GDPR requirements
will be easier with Microservices as they
have clear and separate responsibilities
1. ”Static container images”
2. Secret management for containers
3. Data encryption at rest
4. One way crypted keys and secrets
5. Service specific primary UUIDs
6. Minimize data duplication
Confidential © Digital Goodie 2018
Lesson 6:
Extra security benefits are created as… extra.
Security still requires a holistic approach, not a silver
bullet one.
Confidential © Digital Goodie 2018
Bug triaging and error tracing will
become simpler, as each of the
services has clear and separate
responsibilities
Confidential © Digital Goodie 2018
Bug triaging and error tracing will
become simpler, as each of the
services has clear and separate
responsibilities
L
o
g
Log Service (Datadog, Logz, etc)
Confidential © Digital Goodie 2018
Bug triaging and error tracing will
become simpler, as each of the
services has clear and separate
responsibilities
L
o
g
Log Service (Datadog, Logz, etc)
L
o
g
Confidential © Digital Goodie 2018
Bug triaging and error tracing will
become simpler, as each of the
services has clear and separate
responsibilities
L
o
g
Log Service (Datadog, Logz, etc)
L
o
g
L
o
g
Confidential © Digital Goodie 2018
Bug triaging and error tracing will
become simpler, as each of the
services has clear and separate
responsibilities
L
o
g
Log Service (Datadog, Logz, etc)
L
o
g
L
o
g
Confidential © Digital Goodie 2018
Lesson 7:
While services, and especially Microservices can be
deployed NoOps. Managing them does require DevOps
skills.
Confidential © Digital Goodie 2018
Lesson 8:
Logging practices, and exeptions need to be audited as a
part of your security.
Findings
1. Microservices model will enable us to mix-and-match the best tools and services for the customer
2. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense
3. Amazon services, Kubernetes, and standard approaches will make the transition simple
4. Meeting security and GDPR requirements will be easier with Microservices as they have clear and
separate responsibilities
5. Bug triaging and error tracing will become simpler, as each of the services has clear and separate
responsibilities
, but is not needed
And you should start experimenting now
, if you are allready having
a security first approach to development work.
But you will need modern log aggregation tools and
DevOps capabilities
Lessons compiled
1. Microservices are like Cloud. You can start fast
and small.
And you should start now.
2. Microservice models promise of Lego like mix-
and-match works…
When you are interfacing with other Cloud era
API first services.
3. While the Microservices are not a perfect
solution to development and architecture
challenges
They are the most advanced yet, and can and
should be used to fast track development on the
most valuable services you offer
4. If you are already using Cloud services for
security and persistency – All you need is, to
write the services
And learn to use Kubernetes*
5. Container auto-scaling and optimization is a
completely new game.
Your performance test scenarios, and ways you
approach perfomance issues might no longer
work
6. Extra security benefits are created as… extra.
Security still requires a holistic approach, not a
silver bullet one.
7. While services, and especially Microservices can
be deployed NoOps. Managing them does
require DevOps skills.
8. Logging practices, and exeptions need to be
audited as a part of your security.
Confidential © Digital Goodie 2018
KIITOS!
Digital Goodie
WE MAKE CONNECTED COMMERCE SIMPLE
Confidential © Digital Goodie 2018
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
It’s a journey…
Expect challenges along the way…
• Understanding of business domains
• Coordinating transactions across
multiple services
• Eventual Consistency
• Service discovery
• Lots of moving parts requires
increased coordination
• Complexity of testing / deploying /
operating a distributed system
• Cultural transformation
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
Thank you!
@moviolone
@villetakanen

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...Amazon Web Services
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Amazon Web Services
 
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...Amazon Web Services
 
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...Amazon Web Services
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerAmazon Web Services
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesAmazon Web Services
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesAmazon Web Services
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...An Overview of Best Practices for Large Scale Migrations - AWS Transformation...
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...Amazon Web Services
 
Accelerating Your Cloud Migration Journey with MAP
Accelerating Your Cloud Migration Journey with MAPAccelerating Your Cloud Migration Journey with MAP
Accelerating Your Cloud Migration Journey with MAPAmazon Web Services
 
Building the Business Case for AWS
Building the Business Case for AWSBuilding the Business Case for AWS
Building the Business Case for AWSAmazon Web Services
 

Was ist angesagt? (20)

Microservices: an introduction
Microservices: an introductionMicroservices: an introduction
Microservices: an introduction
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
Microservices on AWS: Architectural Patterns and Best Practices | AWS Summit ...
 
Microservices
MicroservicesMicroservices
Microservices
 
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...Using AWS Control Tower to govern multi-account AWS environments at scale - G...
Using AWS Control Tower to govern multi-account AWS environments at scale - G...
 
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
AWS Networking – Advanced Concepts and new capabilities | AWS Summit Tel Aviv...
 
AWS-Data-Migration-module3
AWS-Data-Migration-module3AWS-Data-Migration-module3
AWS-Data-Migration-module3
 
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...
AWS Security Best Practices in a Zero Trust Security Model - DEM08 - Toronto ...
 
Deploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control TowerDeploy and Govern at Scale with AWS Control Tower
Deploy and Govern at Scale with AWS Control Tower
 
Architecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-PracticesArchitecting-for-the-cloud-Best-Practices
Architecting-for-the-cloud-Best-Practices
 
Microservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web ServicesMicroservices Architectures on Amazon Web Services
Microservices Architectures on Amazon Web Services
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
AWS Cloud Security
AWS Cloud SecurityAWS Cloud Security
AWS Cloud Security
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...An Overview of Best Practices for Large Scale Migrations - AWS Transformation...
An Overview of Best Practices for Large Scale Migrations - AWS Transformation...
 
Accelerating Your Cloud Migration Journey with MAP
Accelerating Your Cloud Migration Journey with MAPAccelerating Your Cloud Migration Journey with MAP
Accelerating Your Cloud Migration Journey with MAP
 
Building the Business Case for AWS
Building the Business Case for AWSBuilding the Business Case for AWS
Building the Business Case for AWS
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 

Ähnlich wie From Monolithic to Microservices (AWS & Digital Goodie)

Microservices and Serverless for MegaStartups
Microservices and Serverless for MegaStartupsMicroservices and Serverless for MegaStartups
Microservices and Serverless for MegaStartupsBoaz Ziniman
 
AWS STARTUP DAY 2018 I If, how and when to adopt microservices
AWS STARTUP DAY 2018 I If, how and when to adopt microservicesAWS STARTUP DAY 2018 I If, how and when to adopt microservices
AWS STARTUP DAY 2018 I If, how and when to adopt microservicesAWS Germany
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Amazon Web Services
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...Amazon Web Services
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Amazon Web Services
 
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...Amazon Web Services
 
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...Amazon Web Services
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Amazon Web Services
 
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...Leadership Session: Using AWS End User Computing Services for Your Modern Wor...
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...Amazon Web Services
 
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...Martin Klie
 
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018Amazon Web Services
 
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Amazon Web Services
 
Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Amazon Web Services
 
Rethink Your Graphics Workstation Strategy with Amazon AppStream
Rethink Your Graphics Workstation Strategy with Amazon AppStreamRethink Your Graphics Workstation Strategy with Amazon AppStream
Rethink Your Graphics Workstation Strategy with Amazon AppStreamAmazon Web Services
 
Modernizing on EKS (Keynote)- AWS Container Day 2019 Barcelona
Modernizing on EKS (Keynote)- AWS Container Day 2019 BarcelonaModernizing on EKS (Keynote)- AWS Container Day 2019 Barcelona
Modernizing on EKS (Keynote)- AWS Container Day 2019 BarcelonaAmazon Web Services
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Amazon Web Services
 

Ähnlich wie From Monolithic to Microservices (AWS & Digital Goodie) (20)

Microservices and Serverless for MegaStartups
Microservices and Serverless for MegaStartupsMicroservices and Serverless for MegaStartups
Microservices and Serverless for MegaStartups
 
AWS STARTUP DAY 2018 I If, how and when to adopt microservices
AWS STARTUP DAY 2018 I If, how and when to adopt microservicesAWS STARTUP DAY 2018 I If, how and when to adopt microservices
AWS STARTUP DAY 2018 I If, how and when to adopt microservices
 
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
Building Microservices with Containers (CON308-R1) - AWS re:Invent 2018
 
DevOps: The Amazon Story
DevOps: The Amazon StoryDevOps: The Amazon Story
DevOps: The Amazon Story
 
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
[REPEAT 1] Safeguard the Integrity of Your Code for Fast and Secure Deploymen...
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
Safeguard the Integrity of Your Code for Fast and Secure Deployments (DEV349-...
 
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
Best Practices for Safe Deployments on AWS Lambda and Amazon API Gateway (SRV...
 
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
Moving 400 Engineers to AWS: Our Journey to Secure Adoption (SEC306-S) - AWS ...
 
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
Deep Dive into AWS X-Ray: Monitor Modern Applications (DEV324) - AWS re:Inven...
 
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...Leadership Session: Using AWS End User Computing Services for Your Modern Wor...
Leadership Session: Using AWS End User Computing Services for Your Modern Wor...
 
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...
2018 re:Invent - Safeguard the Integrity of Your Code for Fast and Secure Dep...
 
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018
Unlocking Software Innovation with AWS - Adrian White - AWS TechShift ANZ 2018
 
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
 
Breaking down the Monowhat
Breaking down the MonowhatBreaking down the Monowhat
Breaking down the Monowhat
 
Containers for Startups
Containers for StartupsContainers for Startups
Containers for Startups
 
Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...Accelerate Innovation and Maximize Business Value with Serverless Application...
Accelerate Innovation and Maximize Business Value with Serverless Application...
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
Rethink Your Graphics Workstation Strategy with Amazon AppStream
Rethink Your Graphics Workstation Strategy with Amazon AppStreamRethink Your Graphics Workstation Strategy with Amazon AppStream
Rethink Your Graphics Workstation Strategy with Amazon AppStream
 
Modernizing on EKS (Keynote)- AWS Container Day 2019 Barcelona
Modernizing on EKS (Keynote)- AWS Container Day 2019 BarcelonaModernizing on EKS (Keynote)- AWS Container Day 2019 Barcelona
Modernizing on EKS (Keynote)- AWS Container Day 2019 Barcelona
 
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
Build Your Own Log Analytics Solutions on AWS (ANT323-R) - AWS re:Invent 2018
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

From Monolithic to Microservices (AWS & Digital Goodie)

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential From Monolith to Microservices Daniele Stroppa, Solutions Architect, AWS Ville Takanen, VP Engineering, Digital Goodie September 18th, 2018
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential 2009 48 280 722 82 2011 2013 2015
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential “The Monolith”
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Challenges with monolithic software Long Build/Test/Release Cycles (who broke the build?) Operations is a nightmare (module X is failing, who’s the owner?) Difficult to scale New releases take months Long time to add new features Architecture is hard to maintain and evolve Lack of innovation Frustrated customers Lack of agility
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential“20080219BonMorningDSC_0022B” by Sunphol Sorakul . No alterations other than cropping. https://www.flickr.com/photos/83424882@N00/3483881705/ Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Monolith development lifecycle releasetestbuild Delivery pipeline App (aka the“monolith”)Developers
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Too much software coupling Shared libraries Shared data
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Evolving towards microservices “IMG_1760” by Robert Couse-Baker. No alterations other than cropping. https://www.flickr.com/photos/29233640@N07/14859431605/ Image used with permissions under Creative Commons license 2.0, Attribution Generic License (https://creativecommons.org/licenses/by/2.0/)
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Adrian Cockcroft (former Cloud Architect at Netflix and Technology Fellow at Battery Ventures, now VP Cloud Architecture Strategy at AWS)
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Services communicate with each other over the network Adrian Cockcroft (former Cloud Architect at Netflix and Technology Fellow at Battery Ventures, now VP Cloud Architecture Strategy at AWS)
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential “service-oriented architecture composed of loosely coupled elements that have bounded contexts” You can update the services independently; updating one service doesn’t require changing any other services. Adrian Cockcroft (former Cloud Architect at Netflix and Technology Fellow at Battery Ventures, now VP Cloud Architecture Strategy at AWS)
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential “service-oriented architecture composed of loosely coupled elements that have bounded contexts” Self-contained; you can update the code without knowing anything about the internals of other microservices Adrian Cockcroft (former Cloud Architect at Netflix and Technology Fellow at Battery Ventures, now VP Cloud Architecture Strategy at AWS)
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Principles of Microservices 1. Rely only on the public API Ÿ Hide your data Ÿ Document your APIs Ÿ Define a versioning strategy 2. Use the right tool for the job Ÿ Polygot persistence (data layer) Ÿ Polyglot frameworks (app layer) 3. Secure your services Ÿ Defense-in-depth Ÿ Authentication/authorization 6. Automate everything Ÿ Adopt DevOps 4. Be a good citizen within the ecosystem Ÿ Have SLAs Ÿ Distributed monitoring, logging, tracing 5. More than just technology transformation Ÿ Embrace organizational change Ÿ Favor small focused dev teams
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Benefits of microservices Rapid Build/Test/Release Cycles Clear ownership and accountability Easier to scale each individual micro-service New releases take minutes Short time to add new features Easier to maintain and evolve system Faster innovation Delighted customers Increased agility
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential = 50 million deployments a year Thousands of teams × Microservice architecture × Continuous delivery × Multiple environments (5708 per hour, or every 0.63 second)
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Challenges of Microservices 1. Distributed System Ÿ Performance Ÿ Reliability 2. Eventual Consistency Ÿ Decentralized data management 3. Operational Complexity Ÿ Deployments Ÿ Monitoring
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential For less-complex systems, the extra baggage required to manage microservices reduces productivity As complexity kicks in, Productivity starts failing rapidly the decreased coupling of microservices reduces the attenuation of productivity https://www.martinfowler.com/microservices/#when
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Strangling the Monolith Database StoreFront UI Browser Cart Service Account Service User Service
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential No New Feature on the Monolith Database StoreFront UI Browser New Microservice New DB Cart Service Account Service User Service
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Anti-Corruption Layer for Integration ACL Database StoreFront UI Browser New Microservice New DB Cart Service Account Service User Service
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Cart Service Account Service Start with a Simple Existing Service… Database StoreFront UI Browser User Microservice User DB New Microservice New DB User Service Client
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Account Service User Service Client …Move on to More Complicated Services Cart Microservice Database StoreFront UI Browser User Microservice User DB New Microservice New DB ACL Cart DB Cart Service
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential …Keep Walking and… Cart Microservice Database StoreFront UI Browser User Microservice User DB New Microservice New DB Account Microservice Cart DB Account DB Account Service User Service Client ACL Cart Service ACL
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential …The Monolith is Eventually Gone Cart Microservice StoreFront UI Browser User Microservice User DB New Microservice New DB Account Microservice Cart DB Account DB
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Microservices Architecture on AWS CloudFront API Gateway Application Load Balancer ECS EC2 Lambda ElastiCache RDS DynamoDB CloudWatchS3 Static content
  • 28. From monolith to microservices The Digital Goodie Journey @villetakanen
  • 30. ”2.0” 2016 à 2017 In house development Internal API Challenges with 1. Performance / Cost 2. Bug trace / maintenance 3. RD / new features Open, extendable, service External API Clean Microservices based architecture • Apps, by us and 3rd party • Platform by us and other MS compatible providers • Integrations via API Where we started The vision state
  • 31. Hypotheses 1. Microservices model will enable us to mix-and-match the best tools and services for the customer 2. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense 3. Amazon services, Kubernetes, and standard approaches will make the transition simple 4. Meeting security and GDPR requirements will be easier with Microservices as they have clear and separate responsibilities 5. Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities
  • 32. Microservices model will enable us to mix- and-match the best tools and services for the customer?
  • 33. Microservices model will enable us to mix- and-match the best tools and services for the customer?
  • 34. Confidential © Digital Goodie 2018 Lesson 1: Microservices are like Cloud. You can start fast and small. And you should start now.
  • 35. Confidential © Digital Goodie 2018 Lesson 2: Microservice models promise of Lego like mix-and-match works
  • 36. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense
  • 37. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense
  • 38. Confidential © Digital Goodie 2018 Lesson 2.1: Microservice models promise of Lego like mix-and-match works… When you are interfacing with other Cloud era API first services.
  • 39. Confidential © Digital Goodie 2018 Lesson 3: While the Microservices are not a perfect solution to development and architecture challenges They are the most advanced yet, and can and should be used to fast track development on the most valuable services you offer
  • 40. Confidential © Digital Goodie 2018 F i r e w a l l Data privacy in-transit: All communication to-and- from DG encrypted using HTTPS Web Container Application Containers F i r e w a l l F i r e w a l l Elastic load-balancing & auto-scaling Security Layer Private Subnet Personal Data: Limited details stored, name, id etc. Product Data: Extensive details stored Order Data: Extra Personal Data (address) stored for limited time Transaction/credit Data: Data cached for processing, no data stored Sensitive Data: By default no data stored or cached, encrypted if needed Data encryption Security Infrastructure: Intrusion detection Threat monitoring VPN Connectivity Private Subnet Private Subnet Elastic load-balancing & auto-scaling AWF CloudFront API GWRoute 53 Pesistency Services Amazon services, Kubernetes, and standard approaches will make the transition simple
  • 41. Confidential © Digital Goodie 2018 F i r e w a l l Data privacy in-transit: All communication to-and- from DG encrypted using HTTPS Web K8S cluster K8S Clusters F i r e w a l l F i r e w a l l Elastic load-balancing & auto-scaling Security Layer Private Subnet Personal Data: Limited details stored, name, id etc. Product Data: Extensive details stored Order Data: Extra Personal Data (address) stored for limited time Transaction/credit Data: Data cached for processing, no data stored Sensitive Data: By default no data stored or cached, encrypted if needed Data encryption Security Infrastructure: Intrusion detection Threat monitoring VPN Connectivity Private Subnet Private Subnet Elastic load-balancing & auto-scaling AWF CloudFront API GWRoute 53 Pesistency Services Amazon services, Kubernetes, and standard approaches will make the transition simple IS K8S cluster
  • 42. Confidential © Digital Goodie 2018 Lesson 4: If you are already using Cloud services for security and persistency – All you need is, to write the services And learn to use Kubernetes* *) My suggestion: look at the emerging K8S as a service offerings from your Cloud provider or a parter.
  • 43. Confidential © Digital Goodie 2018 Lesson 5: Container auto-scaling and optimization is a completely new game. Your performance test scenarios, and ways you approach perfomance issues might no longer work
  • 44. Confidential © Digital Goodie 2018 Meeting security and GDPR requirements will be easier with Microservices as they have clear and separate responsibilities
  • 45. Confidential © Digital Goodie 2018 Meeting security and GDPR requirements will be easier with Microservices as they have clear and separate responsibilities 1. ”Static container images” 2. Secret management for containers 3. Data encryption at rest 4. One way crypted keys and secrets 5. Service specific primary UUIDs 6. Minimize data duplication
  • 46. Confidential © Digital Goodie 2018 Lesson 6: Extra security benefits are created as… extra. Security still requires a holistic approach, not a silver bullet one.
  • 47. Confidential © Digital Goodie 2018 Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities
  • 48. Confidential © Digital Goodie 2018 Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities L o g Log Service (Datadog, Logz, etc)
  • 49. Confidential © Digital Goodie 2018 Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities L o g Log Service (Datadog, Logz, etc) L o g
  • 50. Confidential © Digital Goodie 2018 Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities L o g Log Service (Datadog, Logz, etc) L o g L o g
  • 51. Confidential © Digital Goodie 2018 Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities L o g Log Service (Datadog, Logz, etc) L o g L o g
  • 52. Confidential © Digital Goodie 2018 Lesson 7: While services, and especially Microservices can be deployed NoOps. Managing them does require DevOps skills.
  • 53. Confidential © Digital Goodie 2018 Lesson 8: Logging practices, and exeptions need to be audited as a part of your security.
  • 54. Findings 1. Microservices model will enable us to mix-and-match the best tools and services for the customer 2. Moving to Microservices model as an end-to-end platform upgrade can be done, and makes sense 3. Amazon services, Kubernetes, and standard approaches will make the transition simple 4. Meeting security and GDPR requirements will be easier with Microservices as they have clear and separate responsibilities 5. Bug triaging and error tracing will become simpler, as each of the services has clear and separate responsibilities , but is not needed And you should start experimenting now , if you are allready having a security first approach to development work. But you will need modern log aggregation tools and DevOps capabilities
  • 55. Lessons compiled 1. Microservices are like Cloud. You can start fast and small. And you should start now. 2. Microservice models promise of Lego like mix- and-match works… When you are interfacing with other Cloud era API first services. 3. While the Microservices are not a perfect solution to development and architecture challenges They are the most advanced yet, and can and should be used to fast track development on the most valuable services you offer 4. If you are already using Cloud services for security and persistency – All you need is, to write the services And learn to use Kubernetes* 5. Container auto-scaling and optimization is a completely new game. Your performance test scenarios, and ways you approach perfomance issues might no longer work 6. Extra security benefits are created as… extra. Security still requires a holistic approach, not a silver bullet one. 7. While services, and especially Microservices can be deployed NoOps. Managing them does require DevOps skills. 8. Logging practices, and exeptions need to be audited as a part of your security. Confidential © Digital Goodie 2018
  • 56. KIITOS! Digital Goodie WE MAKE CONNECTED COMMERCE SIMPLE Confidential © Digital Goodie 2018
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential It’s a journey… Expect challenges along the way… • Understanding of business domains • Coordinating transactions across multiple services • Eventual Consistency • Service discovery • Lots of moving parts requires increased coordination • Complexity of testing / deploying / operating a distributed system • Cultural transformation
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential Thank you! @moviolone @villetakanen