1. About Microservices Flashcards

1
Q

What is the aim of microservices architecture?

A

To solve the global challenges that today’s businesses face, as well as promote patterns of distribution, agility and scalability needed in today’s world.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does the microservices architecture promise?

A

A more agile framework that can be extended into a cloud-native world much easier than either monolithic applications or SOA-based (service-oriented application) architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What protocol lies at the heart of microservices?

A

HyperText Transfer Protocol (HTML)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is microservices architecture about at its core?

A

Applying the concept of decomposition to systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does decomposition mean?

A

It means breaking a software problem into smaller pieces that are easier to understand and solve.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does system decomposition mean?

A

It means breaking a system into smaller units that make it easier to solve a series of problems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What concept does microservices embrace to handle all communications, what does this mean, and what does this allow for?

A

Protocol-aware heterogeneous interoperability. This means that every call within the service boundaries is solved via REST, which allows microservices to be implemented in a true polyglot fashion as long as the language provides some mechanism for creating, responding to, and executing against RESTful endpoints.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In a pure microservices architecture, what can be said about giving/receiving calls to/from units of work, and what does this bring to the table?

A

Each unit of work can be called from any other unit of work within the system. This provides a lot of flexibility, but can also lead to headaches, and often hybrid architectures are leveraged to solve these concerns.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What concept does microservices embrace to handle all communications, and what does this mean?

A

Protocol-aware heterogeneous interoperability. This means that every call within the service boundaries is solved via REST.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is one of the biggest costs to pay, especially early in the process?

A

Complexity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

When should you “walk lightly” with microservices?

A

When your churn to production is not a simple case of packaging and deployment but instead a complicated process unless you are willing to update your process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What will microservices entail if your processes and procedures require a lot of “gates” in the software lifecycle?

A

A dramatic increase in the costs of time and money as you move from a few deployed artefacts to many. In addition to the deployment complexity, determining where all the code lives and operates in a microservices architecture can increase the complexity and costs associated with it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

When should you “walk lightly” with microservices?

A

When your churn to production is not a simple case of packaging and deployment, but instead a complicated process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What will microservices entail if your processes and procedures require a lot of “gates” in the software lifecycle?

A

A dramatic increase in the costs of time and money as you move from a few deployed artefacts to many. In addition to the deployment complexity, determining where all the code lives and operates in a microservices architecture can increase the complexity and costs associated with it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What does distribution tax mean in the context of microservices?

A

Another cost you pay with microservices.

As you build a microservices architecture out, there is a dramatic increase in network communications between the individual services. This increases the total latency of calls across the network as a whole.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What does the reduction of reliability mean in the context of microservices?

A

As you put more moving parts to a system, there is a decrease in the overall reliability of the system as a whole — if one microservices get “sick”, the impacts can and often are extended to multiple client calls.

17
Q

What should be a client consideration in regards to the reduction of reliability in microservices?

A

There are ways to build our systems to be more reliable. However, if the need is a system to either be up or down and not in a partial state, you may need to evaluate if microservices are the right pattern for you.

18
Q

What does the reduction of reliability mean in the context of microservices?

A

As you put more moving parts to a system, there is a decrease in the overall reliability of the system as a whole.

19
Q

What should be a client consideration in regards to the reduction of reliability in microservices?

A

There are ways to build our systems to be more reliable. However, if the need is a system to either be up or down and not in a partial state, you may need to evaluate if microservices are the right pattern for you.

20
Q

What can be said about microservices in relation to cloud-native architecture?

A

Microservices tend to fit very nicely into a cloud-native architecture because they tend to be a very smooth transition into Twelve-Factor applications — which is what cloud-native apps essentially are.

However, the two are very distinct concepts. You can build monolithic cloud-native applications, as well as building microservices that are not capable of moving to the cloud at all.

21
Q

What is cloud computing?

A

A pattern of globally distributing systems to provide increased uptime, increased scalability, and increased distribution.

22
Q

What can be said about microservices in relation to cloud-native architecture?

A

Microservices tend to fit very nicely into a cloud-native architecture because they tend to be a very smooth transition into Twelve-Factor applications — which is what cloud-native apps essentially are.

However, the two are very distinct concepts. You can build monolithic cloud-native applications, as well as building microservices that are not capable of moving to the cloud at all.

23
Q

What are three characteristics of cloud-native microservice-based apps?

A
  1. Single code base
  2. Completely self-contained
  3. Zero file system usage