Professional Documents
Culture Documents
Microservices can be considered a specialisation or ex Architectures are symmetrical rather than hierarchitension of service-oriented architectures (SOA) used
cal (producer - consumer)
to build distributed software systems. As with SOA,
services in a microservice architecture (MSA)[1] are
A microservices-based architecture
processes that communicate with each other over a
network in order to fulll a goal. Also, like SOA, these
lends itself to a continuous delivery software develservices use technology-agnostic protocols.[2][3][4] The
opment process. A change to a small part of the
microservices architectural style is a rst realisation of
application only requires one or a small number of
SOA that followed the introduction of DevOps and is beservices to be rebuilt and redeployed[2]
coming more popular for building continuously deployed
[5]
systems.
is distinct from a service-oriented architecture
Because of its focus on incremental and localized
(SOA) in that the latter aims at integrating various
changes, Microservices tend to enable realization of ben(business) applications whereas several microserets and return on investment (ROI) more quickly than
vices belong to one application only
investment in large traditional transformation programs.
naturally enforces a modular structure[2]
In contrast to SOA, microservices respond to the questions of how big a service should be and how services
should communicate with each other. In a microservices
architecture, services should be small and the protocols
should be lightweight. The benet of distributing dierent responsibilities of the system into dierent smaller
services is that it enhances the cohesion and decreases the
coupling. This makes it easier to change and add functions and qualities to the system at any time.[6] It also allows the architecture of an individual service to emerge
through continuous refactoring,[7] and hence reduces the
need for a big up-front design and allows for releasing
software early and continuously.
2 History
Dr. Peter Rodgers introduced the term Micro-WebServices" during a presentation at Cloud Computing
Expo in 2005. On slide #4 of the conference presentation, he states that Software components are MicroWeb-Services. Juval Lwy had similar precursor ideas
about classes being granular services, as the next evolution of Microsoft architecture.[8][9][10] Services are composed using Unix-like pipelines (the Web meets Unix =
true loose-coupling). Services can call services (+multiple language run-times). Complex service-assemblies
are abstracted behind simple URI interface. Any service,
at any granularity, can be exposed. He described how
a well-designed service platform applies the underlying
architectural principles of the Web and Web services together with Unix-like scheduling and pipelines to provide
radical exibility and improved simplicity by providing a
platform to apply service-oriented architecture throughout your application environment.[11] The design, which
originated in a research project at Hewlett Packard Labs,
aims to make code less brittle and to make large-scale,
complex software systems robust to change.[12] To make
Micro-Web-Services work, one has to question and
analyze the foundations of architectural styles (such as
SOA) and the role of messaging between software components in order to arrive at a new general computing
abstraction.[13] In this case, one can think of resourceoriented computing (ROC) as a generalized form of the
Web abstraction. If in the Unix abstraction "everything
is a le", in ROC, everything is a Micro-Web-Service.
Details
Properties of Microservices:
The services are easy to replace
Services are organized around capabilities, e.g.,
user interface front-end, recommendation, logistics,
billing, etc.
Services can be implemented using dierent
programming languages, databases, hardware and
software environment, depending on what ts best
1
4 CRITICISM
It can contain information, code or the results of computations so that a service can be either a consumer or
producer in a symmetrical and evolving architecture.
Users
6 Implementations
Bluemix
Cloud Foundry[19]
Docker
GE Predix
The Guardian
SoundCloud
Spotify[33]
Uber
Wix.com
9
conguration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership
election, distributed sessions, cluster state).
Test tool for Microservices: Wilma[41][42]
Vert.x
[43]
See also
Self-contained Systems
Conways law
Fallacies of distributed computing
Service-oriented architecture (SOA)
[9] Lwy, Juval (2007). Programming WCF Services 1st Edition. pp. 543553.
[10] Lwy, Juval (May 2009). Every Class As a Service. Microsoft TechEd Conference, SOA206. Archived from the
original on 2010.
[11] Rodgers, Peter. Service-Oriented Development on
NetKernel- Patterns, Processes & Products to Reduce
System Complexity. CloudComputingExpo. SYS-CON
Media. Retrieved 19 August 2015.
[12] Russell, Perry; Rodgers, Peter; Sellman, Royston (2004).
Architecture and Design of an XML Application Platform. HP Technical Reports. p. 62. Retrieved 20 August
2015.
Openshift
[18] Jan Stenberg (11 August 2014). Experiences from Failing with Microservices.
Notes
[8] Lwy, Juval (October 2007). Every Class a WCF Service. Channel9, ARCast.TV.
Unix philosophy
REFERENCES
References
[22] Alpert, Jesse; Hajaj, Nissan. We knew the web was big.
Ocial Google Blog. Google.com. Retrieved 22 August
2015.
10
Further reading
11
11
11.1
Microservices Source: https://en.wikipedia.org/wiki/Microservices?oldid=739356134 Contributors: Nealmcb, Kku, Nickg, Greenrd, Albany45, R, Diego Moya, Vald, Nbarth, Frap, Attys, Iridescent, Sanspeur, Rampa1987, CiaranHarron, Jhureley1977, Doc James, Cyfal,
JL-Bot, Niceguyedc, JustinClarkCasey, Rob Bednark, Chomsnl1, Chrilloni, Yobot, AnomieBOT, Dpurrington, Opex jr, Alvb, Search.ptw,
I dream of horses, Primaler, Jandalhandler, Cnwilliams, Lopifalko, Olof nord, Checkingfax, KennethTan1971, Tyrantbrian, Raywalk,
Dmearls, BG19bot, Noopman, Pooyanjamshidi, Cats paw, Phantummm, K0zka, Gorohoroh, P1973h, ColRad85, Sconaomi, Cguidi,
Kennedyangela, Kimw001, Xnts, CodeCleaner, Tkohegyi, My Chemistry romantic, Majora, Someone2, Zbrad, Lindenc, Madarsv, Kveigar,
Amit.kasher, Wolfoo2931, Irb zg, Benaryorg, Cbzha, BlueRiver02703, DrDivago2016, IDesignInc and Anonymous: 66
11.2
Images
11.3
Content license