microservices - an integration perspective
TRANSCRIPT
![Page 1: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/1.jpg)
Who am I?• Coert van den Thillart• Solution Architect at rubiX• [email protected]• http://rubix.nl/coert-van-den-thillart
![Page 2: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/2.jpg)
Microservicesfrom an integration perspective
![Page 3: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/3.jpg)
Assumptions
About you:• You have at least heard/read/done/seen something about
Microservices• You are active in or at least familiar with the system
integration space
![Page 4: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/4.jpg)
The "what are microservices?" slide
"In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies."
- Martin Fowlerhttp://martinfowler.com/articles/microservices.html
![Page 5: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/5.jpg)
Sound familiar?
Composability
Loose coupling
Autonomy
Abstraction
![Page 6: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/6.jpg)
The Microservice difference?
Autonomy
Independent life cycleRuntime independence
Dedicated development team Autonomous deployment
![Page 7: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/7.jpg)
Nothing else?Other benefits and concepts associated with microservices aren’t exclusive to microservices. They are good practices applicable to any service oriented architecture. • Bounded context• High cohesion, low coupling• Focus on business functionality
But they are very valuable in achieving autonomy.
![Page 8: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/8.jpg)
The classic SOA
![Page 9: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/9.jpg)
Now, with Microservices
![Page 10: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/10.jpg)
What changes?Just another
service
No more"integration"
effort
Choreography >
Orchestration
![Page 11: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/11.jpg)
That’s it?• Using REST doesn't make something a microservice
anymore than using SOAP meant you were doing SOA. • The emphasis on autonomy does drive integration patterns
in a certain direction:• Asynchronous > Synchronous• Choreography > Orchestration
• These decisions shouldn’t be exclusive to Microservices
![Page 12: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/12.jpg)
Reasons to adopt microservices
• Scalability• Independent LCM• Runtime independence & Autonomous deployment
![Page 13: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/13.jpg)
Only good things? Not quite…
• Distributed systems are still hard• What about those pesky "enterprise features"?• Resilience doesn’t come included in the box
• Applications and services still need to be built for failure
• On top of "existing" service challenges like contract versioning
• Eventual consistency
![Page 14: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/14.jpg)
Sign of the times?
Microservices
Agile
Continuous Delivery
Develop something in a couple of weeks
Deploy it wheneverand properly
Run it autonomously
![Page 15: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/15.jpg)
?Any questions
![Page 16: Microservices - an integration perspective](https://reader034.vdocuments.site/reader034/viewer/2022052313/58819fd21a28ab1a398b4f2f/html5/thumbnails/16.jpg)
Other concepts of interest• Domain Driven Design (Eric J. Evans)• Vertically Aligned Synergistically Partitioned or 'Snowman'
Architecture (Roger Sessions)• Simple Iterative Partitions• Autonomous Business Capabilities
• Self-Contained Systems (http://scs-architecture.org/)