Unit 2 Microservices Architecture and Cloud Natice Development Flashcards

1
Q

What is a monolithic application?

A

It is an architecture where all the software components of an application are integrated in the one large package

OR

All the functionalities of a project exist in a single code base, where all services are tightly coupled together

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

What does a traditional application have?

A

Front-end
API
Services
Load balancer
Database

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

Advantages of monolithic applications

A

Easier to develop
Easier to test
Easier to deploy
Less complex and less overhead

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

Disadvantages of monolithic applications

A
  • Difficult to manage
  • Need to deploy whole application for small change
  • new developers joining find it difficult to understand
  • as size increases startup and deployment becomes time consuming
  • for load balancing deployment of more than one instances in multiple servers and increases the cost (more resources)
  • change in technology is difficult
  • single error brings down the whole application
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is microservice architecture?

A

Architecture style in which the couple all the services from one another

They can be created deployed scaled and maintained independently

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

Implementing a micro services architecture:

A
  1. Communication
  2. Integration
  3. Deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Pros of microservices

A

Improved CI/CD
Better testing
Easier deployment
Improved distributed team functionality
Eaiser to understand
Faster performance
Fault isolation
Less code and stack lock-in

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

Cons of microservices

A

Additional complexity
Transition challenges
Complicated testing
Inter service communication needs
Careful deployments
Increase resource consumption

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

Characteristics of microservice architecture

A

Decoupling
Componentization
Business capabilities
Autonomy
Continuous delivery
Responsibility
Decentralised governance
Business agility

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

Micro services best practices

A
  • Single responsibility principle
  • Have a separate data store for your micro service
  • Use acynchronous communication
  • Fail fast by using circuit breaker
  • Proxy your microservice request through API gateway
  • Ensure your API changes are backwards compatible
  • Versioning your microservices for breaking changes
  • Have dedicated infrastructure hosting your microservices
  • Create a separate release train
  • Create Organisational efficiency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Deployment strategies of micro services

A

Recreate
Ramped
Blue / green
Canary
A/B testing
Shadow

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

What is orchestration?

A

Automated configuration coordination and management computer systems and software

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