background preloader

Microservices

Facebook Twitter

Microservices. Microservices. "Microservices" - yet another new term on the crowded streets of software architecture.

Microservices

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 [1] 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.

Componentization via Services. Microservices Guide. "Microservices" became the hot term in 2014, attracting lots of attention as a new way to think about structuring applications.

Microservices Guide

I'd come across this style several years earlier, talking with my contacts both in ThoughtWorks and beyond. It's a style that many good people find is an effective way to work with a significant class of systems. But to gain any benefit from microservice thinking, you have to understand what it is, how to do it, and why you should usually do something else. This is a guide to useful resources to find out more about microservices. It's a personal choice of articles, videos, books, and podcasts that can teach you more about the microservices architectural style. Microservices - Wikipedia. Details[edit] There is no industry consensus yet regarding the properties of microservices, and an official definition is missing as well.

Microservices - Wikipedia

Some of the defining characteristics that are frequently cited include: MonolithFirst. Evolutionary design · microservices tags: As I hear stories about teams using a microservices architecture, I've noticed a common pattern.

MonolithFirst

MicroservicePremium. Microservices tags: The microservices architectural style has been the hot topic over the last year.

MicroservicePremium

At the recent O'Reilly software architecture conference, it seemed like every session talked about microservices. Enough to get everyone's over-hyped-bullshit detector up and flashing. MicroservicePrerequisites. Microservices tags: As I talk to people about using a microservices architectural style I hear a lot of optimism.

MicroservicePrerequisites

Developers enjoy working with smaller units and have expectations of better modularity than with monoliths. But as with any architectural decision there are trade-offs. Microservice Trade-Offs. Many development teams have found the microservices architectural style to be a superior approach to a monolithic architecture.

Microservice Trade-Offs

But other teams have found them to be a productivity-sapping burden. Like any architectural style, microservices bring costs and benefits. To make a sensible choice you have to understand these and apply them to your specific context. Strong Module Boundaries The first big benefit of microservices is strong module boundaries. So what do I mean by a strong module boundary? Advocates of microservices are quick to introduce Conways Law, the notion that the structure of a software system mirrors the communication structure of the organization that built it. Microservices - Not a free lunch! Microservices – Please, don’t. This blog post is adapted from a lightning talk I gave at the Boston Golang meetup in December of 2015.

Microservices – Please, don’t

For a while, it seemed like everyone was crazy for microservices. You couldn’t open up your favorite news aggregator of choice without some company you had never heard of touting how the move to microservices had saved their engineering organization. You may have even worked for one of those companies that got swept up in all the hype around these tiny, magical little services and how they were going to solve all of the problems in your big, ailing, legacy codebase. Of course, in hindsight, nothing could have been further from the truth. The beauty of hindsight is that it’s often much closer to the 20/20 vision we thought we had looking forward, all those months ago.

Building Microservices - O'Reilly Media. Throughout the text, the author introduces many different topics that must be taken into account, such as testing, and monitoring, among others.

Building Microservices - O'Reilly Media

Each chapter focuses on a specific subject. Here the author describes the problems of the old one huge application only and the benefits we get by moving towards microservices. He also covers the new challenges this new architecture brings with itself (nothing is free, after all). The whole thing is often coupled with real life anectods from the author's experience. As stated in the introduction, the book does not dive into any kind of platform or technology, thus ruling out becoming outdated in half a year. Production-Ready Microservices - O'Reilly Media. The animals on the cover of Production-Ready Microservices are leafcutter bees (of the genus Megachile).

Production-Ready Microservices - O'Reilly Media

There are over 1,500 species of this insect, which is widespread throughout the world. One species from Indonesia, Megachile pluto, is thought to be the largest bee in the world: individuals can be up to 0.9–1.5 inches long. Leafcutter bees gain their name from the female's common activity of cutting neat semicircles from the edges of leaves. She then carries these disc-shaped leaf pieces to her nest, which can be built in various places such as ready-made hollows, burrows in the ground, or rotting wood that the bee can bore into. Nests are between 4–8 inches long, cylindrical, and lined with leaf pieces in an overlapping pattern. The females arrange their nests in separate cells (building from the inside out) and lay one egg within each, along with a regurgitated pollen-and-nectar ball for the larva to eat. The cover image is from Lydekker's Royal Natural History.