6 More On Advantages
6 More On Advantages
6 More On Advantages
• Robustness
• Independent scaling
• Free technology choice
• Security
• In general: isolation
Robustness #
Microservice systems are more robust.
To achieve resilience, microservices can cache values and use them in case of
a problem. Alternatively, there might be a fallback to a simplified algorithm.
For example, due to the distribution into several processes, many more
servers are involved in the system. Each of these servers can potentially
fail.
Communication between microservices occurs via the network, which
can also fail. Therefore, microservices need to implement resilience to
achieve robustness.
Independent scaling #
Most of the time, scaling the whole system is not required. For example, for
a shop system during Christmas, the catalog might be the most critical and
hardware-consuming part. By scaling the complete system, the hardware is
spent on parts that don’t require more power.
So, in the previous example, just the catalog would need to be scaled up. For
this to work, the microservices naturally have to fulfill certain requirements.
For example, they must be stateless. Otherwise, requests of a specific client
cannot be transferred to another instance, because this instance then would
not have the state specific to that client.
Security #
Microservices can be isolated from each other.
For example, it is possible to introduce firewalls into the
communication between microservices.
In general: isolation #
In the end, many advantages of microservices can be traced back to a
stronger isolation.
To sum it up:
The microservices are isolated in such a way that they can only
communicate via the network. Therefore, communication can be
safeguarded by firewalls, which increases security.
Q U I Z
1
In a microservice architecture, what will happen if one microservice
crashes?
COMPLETED 0%
1 of 3
In the next lesson, we’ll look at a few trade-offs of using the microservice
architecture, how to prioritize its advantages based on your application, the
two levels of microservices and how many microservices can be expected per
system.