Transition from Monolithic Solutions
to MicroSevices
(BIG to SMALL)
Questions
Scale
Sustainability
Maintainability
What are the measures
of success?
Why small over big?
What problems are we attempting to solve?
How do we go from big to small
in a smooth and easy fashion?
What do our teams have to
look like to support
small vs big?
https://dzone.com/articles/microservices-and-team-organization
Deliver value faster
Accelerate the pace of change
Each service is self serving encapsulating
a business capability
Organize - Autonomous Teams
responsible for one / multiple
services
Size of the service is not important
(Microservices is a label not the description)
Increase speed of experimentation
Business service offerings
have independent lifecycles
Business and IT ecosystem enables
swift growth and scale
of operational changes
(Business OPS/ IT OPS)
Adhere To The Microservices
Prerequisites
https://martinfowler.com/bliki/MicroservicePrerequisites.html
Setup Basic Monitoring & Automated Response Mechanism
(Services, Infrastructure, Security)
Develop a Rapid Application Deployment Strategy
Pivot in Deployment Methodology
Go to the Cloud
Cloud Computing
Setup DevOps
Implement Automated Deployment Framework
Implement Container Orchestration
(deployment infrastructure abstraction)
(Continuous Integration/Delivery - GoCD - Kubernetes)
Create a Standard - Service Mesh
(Standard approach for API/ESB)
https://www.thoughtworks.com/radar/techniques/service-mesh
Decouple edge services first
Decouple capability not code
(Minimize dependency to monolith)
(Decouple interdependence to monolith)
Data decoupling is a must - Decentralize Data Management
https://medium.com/@nathankpeck/microservice-principles-decentralized-data-management-4adaceea173f
Bounded Context/Domain Concepts - Anti Corruption Layer
(Ensure monolith concepts do not leak out)
https://martinfowler.com/bliki/BoundedContext.html
https://hackernoon.com/microservices-bounded-context-cohesion-what-do-they-have-in-common-1107b70342b3
https://martinfowler.com/articles/microservices.html#DecentralizedDataManagement
Continuous Delivery
Continuous Integration
Modular Application Design
Application changes implemented with minimal
or no system downtime
Lower cost
to maintain, implement, rollback
(Applications, Infrastructure, Change Management, Risk)
(KPIs)
DevOps
Organize - Feature Teams
Change in Governance Model
(Open Source Governance Model)
https://en.wikipedia.org/wiki/Open-source_governance
Lower cost to maintain, implement,
impact to system
Develop an infrastructure strategy that
can achieve Microservices solutions