an introduction to microservices
TRANSCRIPT
![Page 1: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/1.jpg)
An Introduction to MicroservicesURI GOLDSTEIN, MARCH 2017
![Page 3: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/3.jpg)
3/23
Agenda
History and DefinitionsMajor CharacteristicsStrengths and ChallengesFurther Investigation
![Page 4: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/4.jpg)
4/23
A Bit of History
Term coined in 2011 Popular and gaining
popularity Evangelized by Netflix, AWS All the cool kids are doing it*
* Not really, no.
![Page 5: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/5.jpg)
5/23
Definition
There Is No Band Official Definition
![Page 6: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/6.jpg)
Definitions
Netflix:“Fine grained SOA”
The web:“SOA Done Right”
@urig:“SOA in the Cloud”
James Lewis & Martin Fowler, 2014:
“An Architectural Style”
Must-read article 9 Common Characteristics
![Page 7: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/7.jpg)
7/23
Ex: Monolith vs Microservices
![Page 8: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/8.jpg)
Microservices are services
Single Responsibility
Easily upgraded
Easily replaced
1 Service = 1 Process
Exclusive Ownership of Data
Polyglot Technology
![Page 9: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/9.jpg)
9/23
Microservices are micro
“Small enough to fit in one’s head”
Typically Tens to Tens of Thousands LOC
Owned by single person / team
![Page 10: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/10.jpg)
10/23
Products not Projects
“You build it, You run it”
DevOps Skills and Mentality
Evolutionary Design
![Page 11: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/11.jpg)
11/23
Business drives architecture
Cross-functional teams
Organized around Business Capability
1 Service ≈ 1 Business Feature
![Page 12: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/12.jpg)
12/23
Smart endpoints and dumb pipes
Microservices are the Anti-ESB
![Page 13: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/13.jpg)
13/23
Smart endpoints and dumb pipes
More like WWW:
Logic resides in endpointsComm. layer is simpleTypically REST
![Page 14: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/14.jpg)
14/23
Distributed Means Distributed
Designed for FailureStatelessAsynchronous
![Page 15: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/15.jpg)
15/23
Benefits
Highly ScalableCost Effective*Fast and FuriousCloud Native
![Page 16: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/16.jpg)
16/23
Challenges
![Page 17: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/17.jpg)
17/23
![Page 18: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/18.jpg)
18/23
No Compiler Safety Net
TestingVersioningBackward Compatibility
![Page 19: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/19.jpg)
19/23
Easy Deployment Isn’t Easy
DevOpsAutomationContinuous Delivery / Deployment
![Page 20: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/20.jpg)
20/23
Network Latency and Reliability
Design for FailureRedundancyMonitoringAutomation
![Page 21: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/21.jpg)
21/23
Take-Aways
One size does not fit allChallenges are significantDo you have the skills to mitigate them?Are the benefits relevant for you?
The Good News:
It’s not all or Nothing
![Page 22: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/22.jpg)
22/23
Further reading
Microservices Resource Guidehttps://www.martinfowler.com/microservices/
Microservices Article: Lewis, James & Fowler, Martinhttps://martinfowler.com/articles/microservices.html
Adrian Cockroft: Migrating to Microservices (video)https://www.infoq.com/presentations/migration-cloud-native
Loads more…
![Page 23: An Introduction to Microservices](https://reader035.vdocuments.us/reader035/viewer/2022062900/58e575d11a28abbf5d8b489b/html5/thumbnails/23.jpg)
23/23
Thanks for listening – Question Time
GDG Rishon JetBrains give away!http://tinyurl.com/GDGRL-March