Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization
Rate it:
Open Preview
5%
Flag icon
With microservice architecture, an application can easily be scaled both horizontally and vertically, developer productivity and velocity increase dramatically, and old technologies can easily be swapped out for the newest ones.
7%
Flag icon
The reason most monoliths are susceptible to these problems is because the nature of a monolith is directly opposed to scalability in the most general possible sense. Scalability requires concurrency and partitioning: the two things that are difficult to accomplish with a monolith.
7%
Flag icon
The basic concept of a microservice is simple: it’s a small application that does one thing only, and does that one thing well.
7%
Flag icon
The goal of microservice architecture is to build a set of small applications that are each responsible for performing one function (as opposed to the traditional way of building one application that does everything), and to let each microservice be autonomous, independent, and self-contained.
8%
Flag icon
Small companies often do not have the necessary infrastructure in place to sustain microservices, even at a very small scale: good microservice architecture requires stable, often very complex, infrastructure. Such stable infrastructure requires a large, dedicated team whose cost can typically be sustained only by companies that have reached the scalability challenges that justify the move to microservice architecture. Small companies simply will not have enough operational capacity to maintain a microservice ecosystem.
9%
Flag icon
The API endpoints of microservices should be standardized across an organization.
10%
Flag icon
Versioning of API endpoints is another anti-pattern that should be avoided for the same reasons.
10%
Flag icon
In well-designed, sustainable microservice ecosystems, the microservices are abstracted away from all infrastructure. They are abstracted away from the hardware, abstracted away from the networks, abstracted away from the build and deployment pipeline, abstracted away from service discovery and load balancing.
11%
Flag icon
The hardware layer (layer 1) of the microservice ecosystem contains: The physical servers (owned by the company or rented from cloud providers) Databases (dedicated and/or shared) The operating system Resource isolation and abstraction Configuration management Host-level monitoring Host-level logging
12%
Flag icon
the second layer of a microservice ecosystem always contains the network, DNS, RPCs and API endpoints, service discovery, service registry, and load balancing.