Microservices: Difference between revisions
Appearance
Content deleted Content added
m Changed link from IBM to IBM Bluemix |
m IBM Bluemix link broken. Fixed to direct to Bluemix |
||
Line 23: | Line 23: | ||
== Users == |
== Users == |
||
Known users of the Microservices architecture: |
Known users of the Microservices architecture: |
||
* [[ |
* [[Bluemix]] |
||
* [[Amazon.com|Amazon]] |
* [[Amazon.com|Amazon]] |
||
* [[Netflix]]<ref name="infoqbook">{{cite web|url=http://www.infoq.com/resource/minibooks/emag-microservices/en/pdf/Microservices-emag.pdf|title=Microservices}}</ref> |
* [[Netflix]]<ref name="infoqbook">{{cite web|url=http://www.infoq.com/resource/minibooks/emag-microservices/en/pdf/Microservices-emag.pdf|title=Microservices}}</ref> |
Revision as of 16:54, 30 January 2015
In computing, microservices is a software architecture design pattern, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs.[1] These services are small, highly decoupled and focus on doing a small task.[2]
Details
Properties of the Microservices architecture:
- The services are easy to replace
- Services are organized around capabilities, e.g. user interface frontend, recommendation, logistics, billing, etc.
- A microservices-based architecture
- lends itself to a continuous delivery software development process.
- is distinct from a Service-oriented architecture (SOA) in that the latter aims at integrating various (business) applications whereas several microservices belong to one application only
History
This section is empty. You can help by adding to it. (September 2014) |
Criticism
The microservices architecture is subject to criticism for a number of issues:
- services form information barriers[3]
- the architecture introduces additional complexity and new problems to deal with, such as network latency, message formats, load balancing and fault tolerance,[4] ignoring one of these belongs to the "Fallacies of Distributed Computing"
- testing and deployment are seriously more complex tasks[4]
- the complexity of a monolithic application is only shifted into the network, but persists:
You can move it about but it's still there!
— Robert Annett: Where is the complexity?[5]
Languages
Users
Known users of the Microservices architecture:
See other
- Conway's law
- Fallacies of Distributed Computing
- Service-oriented architecture
- Representational state transfer
- Web-oriented architecture
References
- ^ Martin Fowler. "Microservices".
- ^ Sam Newman. Building Microservices. ISBN 978-1-4919-5035-7.
- ^ Jan Stenberg (11 August 2014). "Experiences from Failing with Microservices".
- ^ a b c d "Microservices" (PDF).
- ^ Robert Annett. "Where is the complexity?".
- ^ "Jolie".