L7 - Microservices 2 (Migration from Monolithic to Microservices) Flashcards

1
Q

Explain the Second System Effect…

A

The tendency of small, elegant, and successful systems, to be succeeded by over-engineered, bloated systems, due to inflated expectations and overconfidence.

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

Who theorised Second System Syndrome?

A

Fred Brooks

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

What is Second System Syndrome usually a consequence of?

A

Restriction of scope in the first development iteration, leading to over ambition and over compensation in following iterations.

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

Explain Two Pizza Teams…

A
  • Idea that functional teams should be able to be fed by two pizzas.
  • Smaller teams enable better collaboration, and collaboration is fundamental for rapid software development.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the 2 main benefits of adopting Two Pizza Teams ideology?

A
  • Improve efficiency
  • Improve scalability due to non-siloed organisational structure and less overhead management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Who proposed Two Pizza Teams?

A

Jeff Bezos

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

What size of company is Big Ball of Mud usually an issue for?

A

Large companies with complex software, since smaller software usually requires less planning.

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

Explain Big Ball of Mud

A
  • Anti-pattern
  • An architectural structure that lacks modularity, or any sort of pattern or design.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain the concept of Technical Debt

A

A catch-all term used to describe the resulting technical issues due to a development team expediting development to prioritise rapidity over quality.

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

What is Technical Debt a consequence of?

A

Development teams prioritising speed over quality.

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

Who coined the term Technical Debt?

A

Ward Cunningham

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

Explain the CAP Theorem…

A

A theorem stating that a distributed system can only satisfy 2 out of 3 of the following properties: Consistency, Availability, Partition Tolerance

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

Explain the definition of each of C, A, and P in the CAP theorem…

A
  • Consistency → All clients see the same data at the same time, regardless of which node they are connected. For this to happen, a data written to one node must be written uniformly to all nodes.
  • Availability → All working nodes in the network but always provide request responses without exception.
  • Partition tolerance → A partition is a break in communication between 2 nodes in the network. Partition Tolerance means the network must continue working regardless of breakdowns.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Who proposed the CAP theorem?

A

Eric Brewers

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

Explain the Strangler Design Pattern…

A

When an old system is placed behind and intermediary facade, and over time the functionality and services of the old system are replaced behind the facade until a new set of functionality and services have been implemented.

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

Who created the Strangler Design Patter?

A

Martin Fowler