MIS603 Key Principles And Concept Of Microservice Architecture Assessment 1 Part A Answer
In this assessment, we are going to conduct a thorough research on the microservice architecture. As the microservice architecture is becoming mostly used architecture in the field of software development. A microservice architecture offer so many benefits as compared to the traditional service oriented and monolithic architectures. In this report we research the key principles and concept of microservice architecture with the advantages and dis-advantages of microservice architecture. This report also provides a comparison of both the traditional and microservice architecture.
Key principles and concept
The microservice architecture has so many benefits, it become the most popular architecture to be use today. It offers flexibility, scalability, agility and so many other advantages to a company. Microservice break a service into several small independent units and works on these units separately. So that each service has its own database, logic and perform a specific function. We can say that the microservice environment will split a function into small deployable parts that communicate with other unit via APIs. In microservice environment, each service will be deployed as an independent unit. Here each service is doing a separate task and can be communicate with other services in the architecture via an API. By splitting a function into smaller units, it makes the task easier to understand and manage and help in solving complex business problems. So, it offers advantage of scalability where each service element can be scale independently. The deployment team have the freedom to choose and move on to another technology at any stage of the deployment process. We will also use various frameworks and technologies for each microservice individually. With this approach, any error in a microservice unit will affect only that part of the service. This create a level of agility and limit the level of error (business?, 2020).
Advantages of microservice architecture
As we know microservice architecture offer so many benefits to a company as compared to the traditional service architecture. According to Vitaly Kuprenko,, to start a development of software, we need to clearly understand the key benefits of microservice architecture before selecting the core service for our development task. In this section, we will discuss the key advantages or benefits of a microservice architecture ("Key Benefits of Microservices Architecture", 2020). Here are they –
- It is very beneficial service in terms of resiliency and isolation. As it breaks the large service architecture into smaller chinks, if any single task fails, we have option of choosing another service at their place. This approach will help in continuously run a service with out any need to build, deploy and change the whole service architecture.
- With the implementation of smaller service components, a developer will scale up or down the services according to their need. With service isolation, changes can be done independently any time and the entire architecture will become more scalable.
- This architecture also provides enhance productivity as a part of service functionality. Its platform is very easy to understand and deploy as compare to traditional service architecture. If we want to expand our services, microservice is one of the best options to be use.
- It provides flexibility with the approach of choosing the right tool for the right task. We can use and build each usable server with different framework without affecting another task and can maintain a better communication between them.
- As microservices works independently, so we do not need to change the core code if we want to change or modify the service features. By changing only one service component, the particular service part will change and deployed separately. This approach will faster the delivery of project or service.
- It offers an evolutionary choice to developers who are unable to choose the type of service in their service or app development. They have the option of better control and faster upgrades without getting down and stop the services.
Disadvantages of microservice architecture
Although the microservice architecture has so many benefits, it is not always the perfect solution and choice for all types of development. So, before selecting a microservice architecture, we need to do a complete analysis of our requirements according to business objectives ("Top Microservices Disadvantages & Advantages | Tiempo Development", 2020). Here are the few disadvantages of microservice architecture that we need to consider before selecting it as the core architecture –
- As one of the biggest disadvantages, it is more complex architecture with more complex environment as compared to the traditional service architecture (monolithic). Its complexity is based upon the used applications with the number of services with this architecture.
- It requires so many core changes in work environment of an organisation who want to deploy the microservice architecture. It needs to have a developed agile and DevOps environment mostly.
- As a new working architecture, by breaking the services into smaller services, it become more expensive solution that need so many API and remote call integration with the core service. Use of these APIs enhance the durability but will cost.
- A microservice architecture has so many challenges due to its enhanced inter-service communication within the architecture.
A thorough comparison
Here is the brief comparison of the advantages and disadvantages of a microservice architecture –
|It offers isolation and resiliency of services
|It is more complex than other solutions
|It provides scalability of core service components
|It requires several cultural changes in the organisation
|It enhances service productivity in so many terms
|It is more expensive solution as compare to other solutions
|It is more flexible solution when right tool is chosen
|It has so many security challenges as compared to the monolithic architecture
|It increases the speed of project development by modifying so many important features
In this assessment report, we did a detailed research on the microservice architecture with focusing on their core concepts and key principles. It will address a brief of microservice, its working and so many benefits of having this architecture at a company. Further, the report provides a detailed discussion on the advantages and disadvantages of a microservice architecture. At the end we provide a comparison of advantages and disadvantages of the architecture and brief the selection of choosing the microservice architecture at the company.