Lecture 6: Microservices Flashcards

1
Q

How is scalability achieved when designing microservice-based systems?

A

Scaling the resources of only those services that demand more resources.

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

T/F

Microservices suggest to put logic in the communication channel instead of the endpoints.

A

False

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

T/F
Microservice can be developed in any programming language, inependently form the programming language used to develop the other microservices

A

True

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

T/F

Microservices communicate using system calls

A

false

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

T/F

microservices are more complex to mange than monolithic application

A

true

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

T/F

microservices are effective even if the domain of the applicaiton is not well known

A

false

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

T/F

microservices allows for partial deployement of the system

A

true

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

t/f

monoliths allows for partial deployment of the system

A

false

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

t/f

monoliths have greater degree of availability compared to microservices

A

false

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

is easier to perform inter-module refactoring in monoliths rather than in microservices

A

true

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

When micorservices should not be considered as a valid option?

A
  • unclear domain boundaries

- low level of complexity

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

Microservices are characterized as

A

small, isolated components, independently upgradable components

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

What are microservices

A

Microservices is an architecture style, in which large complex software applications are composed of one or more services. Microservice can be deployed independently of one another and are loosely coupled. Each of these microservices focuses on completing one task only and does that one task really well.

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

Provide at least 3 major common characteristics of microservices

A
  • small and focused
  • loose coupling
  • language neutral
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are potential drawbacks of microservices

A
  • infrastructure complexitiy
  • latency issues
  • management of an high number of services
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

what are the benefits of microservices

A
  • it is easier for a developer to start working on a monolithic application rather than a micorservice-based application
  • enables you to avoid large code base, making it easier to maintain or add new features
  • makes it easier to use exisitng skills, or the most suitable language,
  • enables teams to work independently of each other
  • simplifies tracking code dependencies
  • enables complete ownership by a self-contained single team, from definiton through development, deployement, operations
  • makes it easier to scale bottlenecks
17
Q

What are the main reasons for companies to migrate their monolithic application into microservice-based applicaiton

A
  • difficulty to maintain, modify and become productive quickly
  • long cycles of time-to-market to roll out new services
  • need for better ROI from exisitng software initiatives, to spend money for current initiatives
  • that fits newer architecture, and a future roadmap that has longer shelf life and better ROI
  • scalability issues and performance issues
  • 27 x 7 availability and security issues
18
Q

What are the benefits of building products not projects and hwy is it suitable to MSA?

A
  • team should own a product over its full lifetime
  • more maintainable
  • clear responsibilities
  • you build, you run it
19
Q

What is the meaning of decentralized governance

A

one of the consequences of centralised governance is the tendency to standardise on single technology platforms. Experience shows that this approach is constricting as it is not possible to choose the right tool for the job

20
Q

what does it mean design for failure

A

consequence of using service as components, is that applications need to be designed so that they can tolerate the failure of services.

21
Q

Teams are responsible to develop, operate and maintain the services over time

A

True

22
Q

Team size is irrelevant in microservices

A

false

23
Q

team are responsible for testing the service

A

true