Microservice Flashcards

1
Q

What are microservices?

A

It is an architectural development style

which builds an application as a collection of many independently smaller components or services.

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

What do you understand by Monolithic Architecture?

A

Monolithic architecture is like a big container that contains all the software components of an application inside a single package

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

What are the main components of Microservices?

A
1- Containers, Clustering, and Orchestration
2- IaC [Infrastructure as Code]
3- Cloud Infrastructure
4- API Gateway
5- Enterprise Service Bus
6- Service Delivery
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the main features of Microservices?

A

Decoupling:
Microservices systems are largely decoupled from within which can be easily built, altered, and scaled.
Componentization:
Microservices can be easily replaced and upgraded as independent components.
Business Capabilities:
Microservices focus on a single capability.
Autonomy:
Developers and teams can work independently without much dependency, thus increasing speed.
Continuous Delivery:
Microservices is here to update frequently, through systematic automation of software creation, testing, and approval.
Responsibility:
Microservices is responsible enough to focus on products.
Decentralized Governance:
Microservices do not have a standardized pattern that makes the developers have the freedom to choose useful tools to solve their problems.
Agility:
Microservice is known for quick adaptation of any new feature and even discard the feature.

1 - Multiple Individually Deployable Components.
2 -Service Distribution based on Business Capabilities.
3 - Decentralized Data Management.
4 - DevOps Implementation.
5 - Technical Independence.
6 - Hidden Component Complexity to avoid unnecessary microservices dependencies.

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

Microservice advantages and disadvantages

A

Advantages:

  • Greater support for smaller and parallel team
  • Scalability
  • Fault isolation
  • independent modules.
  • Use of containers,( quick deployment and development of the application)
  • ## Developer freedom to develop and deploy services independentlyDisadvantages
  • High memory use
  • Time required to fragment different microservices
  • Complexity of managing a large number of services
  • Developer need to solve problems such as network latency or load balancing
  • Complex testing over the distributed deployment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

API gateways

A

An API gateway sits between external clients and the applications running in your datacenter and clouds. APIs define how applications can communicate, without the client having to know where or how they are implemented.

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

Serverless

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

Name three commonly used tools for Microservices

A
  1. ) WireMock,
  2. ) Docker
  3. ) Hystrix are important Microservices tool.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Spring Cloud?

A

Spring cloud is an Integration software that integrates with external systems.
It allows microservices framework to build applications which perform restricted amounts of data processing.

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

What are main differences between Microservices and Monolithic Architecture?

A

Microservices

  • Service Startup is fast
  • Microservices are loosely coupled architecture.
  • Changes done in a single data model does not affect other Microservices.
  • Microservices focuses on products, not projects

Monolithic

  • Service startup takes time
  • Monolithic architecture is mostly tightly coupled.
  • Any changes in the data model affect the entire database
  • Monolithic put emphasize over the whole project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is RESTful?

A

Representational State Transfer (REST)/RESTful web services is an architectural style that helps computer systems to communicate over the internet uses HTTP requests to access and use data.
That data can be used to GET, PUT, POST and DELETE data types.

These web services make microservices easier to understand and implement.

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

What is the meaning of OAuth?

A

OAuth means open authorization protocol.
This protocol allows you to access the client applications on HTTP for third-party providers GitHub, Facebook, etc.
It helps you to share resources stored on one site with another site without the need for their credentials.

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

What is the use of Docker?

A

It encapsulates your microservice into what we call as Docker container which can then be independently maintained and deployed.
Each of these containers will be responsible for one specific business functionality.

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

How independent micro-services communicate with each other?

A

It depends upon your project needs. However, in most cases, developers use HTTP/REST with JSON or Binary protocol. However, they can use any communication protocol.

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

What is a CDC?

A

CDC is Consumer-Driven Contract. It is a pattern for developing Microservices so that external systems can use them.

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

What are the challenges faced while using Microservices?

A
  • Microservices always rely on each other. Therefore, they need to communicate with each other.
  • As it is distributed system, it is a heavily involved model.
  • If you are using Microservice architecture, you need to ready for operations overhead.
  • You need skilled professionals to support heterogeneously distributed microservices.
17
Q

What issues are generally solved by spring clouds?

A

Complicated issues caused by distributed systems:
This includes network issues, latency problems, bandwidth problems, and security issues.

Service Discovery issues:
Service discovery allows processes and services to communicate and locate each other within a cluster.

Redundancy issues:
Distributed systems can often have redundancy issues.

Load balancing issues:
Optimize the distribution of workloads among multiple computing resources, including computer clusters, central processing units, and network links.

Reduces performance issues:
Reduces performance issues caused by various operational overheads.

18
Q

What is Eureka

A

Eureka Server is an application that holds the information about all client-service applications.
Each microservice registers itself with the Eureka naming server as client-service

19
Q

What is Zipkin server

A

Zipkin is a distributed tracing system.

It helps gather timing data needed to troubleshoot latency problems in service architectures.

20
Q

What is difference between SOA and microservices?

A

service-oriented architecture (SOA) has an enterprise scope,
while the microservices architecture has an application scope

21
Q

How Does Microservice Architecture Work?

A

A typical Microservice Architecture (MSA) should consist of the following components:

Clients
Identity Providers
API Gateway
Messaging Formats
Databases
Static Content
 Management
Service Discovery
22
Q

What is Spring cloud Gateway and how many way for routing

A

2 Ways to routing
1- Automatic
2- Manual