More Related Content Similar to Moving to Microservices (20) More from SAP Customer Experience (20) Moving to Microservices3. 3PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Why microservices?
Monolithic Microservice
5. 5PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Loose coupling and high cohesion
Loose coupling
across services
High cohesion
within services
6. 6PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Bounded contexts
§ Represent business capabilities,
not technical features
§ Contain private and shared
concepts
§ Communicate through explicit
contracts
§ Ensure that things that change
together belong together
Customer
profile
Product
catalog
management
Inventory
management
Content
management
Search
Pricing
Customer
management
Account
management
Fulfillment
Checkout
7. 7PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Task-focused architecture
What does this
context do?
What data does
it need to do it?
8. 8PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Model useful abstractions
Search
Inventory
management
Shipping
6
8
#V4B3R8T2
9. 9PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Decentralized data management (polyglot persistence)
Each microservice owns and manages its data without relying on a shared database
X
Inventory
management
Checkout
10. 10PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Example
Product
management
Shipping
§ Both services need updating.
§ There is more coordination between teams.
§ Removing shipping service leaves useless data.
§ There is less coordination between teams.
§ Shipping service can be easily replaced or removed.
Data-driven solution Business capability-driven solution
Product
management
Shipping
11. 11PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Order service
Event choreography
Subscribes
Subscribes
Order-
created
event
Publishes
Fulfillment
service
E-mail
service
13. 13PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Team structure
Presentation tier
Logic tier
Data tier
UX developers
Back end developers
Database administrators
XProduct
management
Inventory
management
Fulfillment
Product
management
Inventory
management
Fulfillment
14. 14PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
“You build it, you run it.”
Ownership and responsibility
16. 16PUBLIC© 2017 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Model around business capabilities
Build loosely coupled, highly cohesive services
Managed by dedicated teams
Summary
Easy to scale, replace, deploy