Navigation Menu+

Name of architectural styles

Characteristics of a Microservice Architecture

26 Popular Architectural Home

"Microservices" - yet another new term on the crowded streets of software architecture. Although our natural inclination is to pass such things by with a contemptuous glance, this bit of terminology describes a style of software systems that we are finding more and more appealing. We've seen many projects use this style in the last few years, and results so far have been positive, so much so that for many of our colleagues this is becoming the default style for building enterprise applications. Sadly, however, there's not much information that outlines what the microservice style is and how to do it.

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.

To start explaining the microservice style it's useful to compare it to the monolithic style: a monolithic application built as a single unit. Enterprise Applications are often built in three main parts: a client-side user interface (consisting of HTML pages and javascript running in a browser on the user's machine) a database (consisting of many tables inserted into a common, and usually relational, database management system), and a server-side application. The server-side application will handle HTTP requests, execute domain logic, retrieve and update data from the database, and select and populate HTML views to be sent to the browser. This server-side application is a monolith - a single logical executable. Any changes to the system involve building and deploying a new version of the server-side application.

Such a monolithic server is a natural way to approach building such a system. All your logic for handling a request runs in a single process, allowing you to use the basic features of your language to divide up the application into classes, functions, and namespaces. With some care, you can run and test the application on a developer's laptop, and use a deployment pipeline to ensure that changes are properly tested and deployed into production. You can horizontally scale the monolith by running many instances behind a load-balancer.

Monolithic applications can be successful, but increasingly people are feeling frustrations with them - especially as more applications are being deployed to the cloud . Change cycles are tied together - a change made to a small part of the application, requires the entire monolith to be rebuilt and deployed. Over time it's often hard to keep a good modular structure, making it harder to keep changes that ought to only affect one module within that module. Scaling requires scaling of the entire application rather than parts of it that require greater resource.

These frustrations have led to the microservice architectural style: building applications as suites of services. As well as the fact that services are independently deployable and scalable, each service also provides a firm module boundary, even allowing for different services to be written in different programming languages. They can also be managed by different teams .

We do not claim that the microservice style is novel or innovative, its roots go back at least to the design principles of Unix. But we do think that not enough people consider a microservice architecture and that many software developments would be better off if they used it.

Organized around Business Capabilities

When looking to split a large application into parts, often management focuses on the technology layer, leading to UI teams, server-side logic teams, and database teams. When teams are separated along these lines, even simple changes can lead to a cross-team project taking time and budgetary approval. A smart team will optimise around this and plump for the lesser of two evils - just force the logic into whichever application they have access to. Logic everywhere in other words. This is an example of Conway's Law in action.

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

- Melvyn Conway, 1967

Figure 2: Conway's Law in action

The microservice approach to division is different, splitting up into services organized around business capability. Such services take a broad-stack implementation of software for that business area, including user-interface, persistant storage, and any external collaborations. Consequently the teams are cross-functional, including the full range of skills required for the development: user-experience, database, and project management.

Figure 3: Service boundaries reinforced by team boundaries

One company organised in this way is Cross functional teams are responsible for building and operating each product and each product is split out into a number of individual services communicating via a message bus.



QICAI 3 Pieces Black & White Chicago Skyline Night B&W And Modern Architecture Buildings Business Cityscape Coastline at Night Canvas Wall Art Painting for Home Decor Stretched And Framed ,3pcs/set
Home (QICAI)
  • Size:20x20inchx3
  • Registered Brand:QICAI
  • Materials: canvas, framed, cotton
  • Gallery wrapped and stretched with wooden frame on the back.Ready to hang on the wall.
  • A perfect choice for wall decoration and home decorations.A perfect wall decorations paintings for living room,bedroom,kitchen,office,Hotel,dining room,bathroom,bar...
QICAI 3 Pieces Black & White Chicago Skyline Night B&W And Modern Architecture Buildings Business Cityscape Coastline at Night Canvas Wall Art Painting for Home Decor Stretched And Framed ,3pcs/set
Home (QICAI)
  • Size:20x20inchx3
  • Registered Brand:QICAI
  • Materials: canvas, framed, cotton
  • Gallery wrapped and stretched with wooden frame on the back.Ready to hang on the wall.
  • A perfect choice for wall decoration and home decorations.A perfect wall decorations paintings for living room,bedroom,kitchen,office,Hotel,dining room,bathroom,bar...
Wieco Art - Architectures Modern 4 Panels Giclee Canvas Prints Europe Buildings Black and White Landscape Pictures Paintings on Canvas Wall Art Ready to Hang for Bedroom Home Office Decorations
Home (Wieco Art)
  • High Definition Giclee modern canvas printing artwork, picture photo printed on high quality canvas. A great gift idea for your relatives and friends.
  • Stretched and Framed canvas art prints ready to hang for home decorations wall decor. Each panel has a black hook already mounted on the wooden bar for easy hanging...
  • Canvas prints set size:12x12inchx4pcs(30x30cmx4pcs)
  • Gallery wrapped on wooden bars, the image continues around the sides.Authentic Wieco Art Paintings and home art are packed in carton box with Wieco Art logo printed...
  • A perfect wall decoration paintings for living room, bedroom, kitchen, office, Hotel, dining room, office, bathroom, bar etc..
OldTime B&W Bw And Modern Architecture Buildings Business Cityscape Coastline 3 Pieces Panel Paintings Modern Giclee Stretched And Framed Artwork
Home (OldTime)
  • Size:24x24inchx3
  • Registered Brand: So Crazy Art? Certificate ID: 10531171#52C42
  • Giclee artwork,Printed on canvas.Wooden frame stretched,ready to hang on wall.
  • Deliver Time:We will ship your painting by EMS,And it always needs 7-10 days arrive to you.
  • Note:If the painting have any problem,Please contact us,We are new seller here,But we know that your s shopping experience is very important to us,we will try our...
ZOVIE Modern Retro Home Decor Wrought Iron Welding Metal Paris Eiffel Tower Model Architecture Building Collections Romantic & Lovely Desktop Bookshelf Utility Decorations for Study Living Room Bedroom Dormitory Office (Birthday Valentine's Day or Business Gift) (Blend Color 7in)
Home (ZOVIE)
  • Handmade Eiffel Tower Model, a great gift for your families, lover, friends or business partners
  • Romantic & Lovely decoration, fill the room with love, culture, and fashion
  • Hand soldering, plating anti-rust treatment,sturdy and sound packing
  • Model might have some flaws, which indicates the authenticity of handmade process
  • Size:10CM/0.06KG, 13CM/0.08KG, 15CM/0.1KG, 18CM/0.14KG, 25CM/0.2KG, 32CM/0.3KG, 38CM/0.54KG



Related Posts