My Assignment Help

MIS603 Key Principles And Concept Of Microservice Architecture Assessment 1 Part A Answer

ASSESSMENT 1 PART A BRIEF
Subject Code and Title
MIS603 Microservices Architecture
Assessment
Microservices Case Study  Part A
Individual/Group
Individual
Length
1000 words (+/- 10%)
Learning Outcomes
The Subject Learning Outcomes demonstrated by successful completion of the task below include:
  1. Undertake research to demonstrate an understanding of microservices and how they contribute to business processes.
  2. Discuss core concepts of microservices architecture within a context of a business case study and summarise the advantages and disadvantages of adopting microservices architecture.
  3. Communicate the benefits of microservices architecture to a diverse stakeholder audience by addressing complex business needs and aligning strategies to business priorities defined by changing business requirements.
Weighting
25%
Total Marks
100 marks

Task Summary

For this assessment, you are required to write an individual report of 1000 words (+/- 10%) on the key principles and concepts of microservices architecture and discuss the advantages and disadvantages of adopting microservices architecture for businesses in general. This assessment is intended to build your fundamental understanding of these key concepts to enable you to respond to a case study as presented in Assessment 1 Part B. In doing so, it will formatively develop the knowledge required for you to apply to the case presented in Part B.

Context

Microservices architecture has emerged as an evolution of software development patterns and techniques. Previous software development techniques for self-contained monolithic applications and service-oriented architecture have been longstanding. More recently, with the development of

cloud computing, new ways of software development have evolved with microservices architecture recognised as a cloud-native software development approach.

As a professional, your role will require that you understand the principles of software development, especially in the field of cloud-based platforms, which are rapidly becoming the preferred hosting solution for many organisations. Having a working understanding of these concepts will enable you to fulfil many roles and functions, and be informed as to what factors influence decision making when software development architecture has been selected. Whilst you may not be a developer, it will enable you to have meaningful conversations about the principles of microservices architecture and why certain decisions may be made in a certain way. This will support you to manage the bridge between IT and the business.

Task Instructions

1. Write a 1000-word report to demonstrate your understanding of the theoretical concepts of microservices architecture in two specific areas:

a. What are the key principles and concepts of microservices architecture?

b. What are the advantages and disadvantages of microservices architecture?

Please note that this is intended to allow you to develop a strong theoretical understanding, which you will then apply to a specific case shared with you in Part B of this assessment. The aim is to allow you to progressively develop a foundational knowledge of the topic, which you will then extend by demonstrating how your knowledge can be applied in the case context.

2. Whilst most of the material to support your development of knowledge for this assessment can be found in the Essential Resources listed in the module content, you are encouraged to do further research in this topic area to broaden your knowledge.

Perform additional research in the area of investigation and select five additional sources that will add value to your report in the relevant area of investigation.

3. The report should consist of the following structure:

A title page with subject code and name, assignment title, student’s name, student number, and lecturer’s name.

The introduction (75–100 words) that will also serve as your statement of purpose for the report—this means that you will tell the reader what you are going to cover in your report. You will need to inform the reader of:

a. Your area of research and its context

b. The key concepts you will be addressing

c. What the reader can expect to find in the body of the report

The body of the report (800–850 words) will need to cover two specific areas:

a. What are the key principles and concepts of microservices architecture? Please use a paragraph to cluster similar concepts and principles together in structuring your report.

b. What are the advantages and disadvantages of microservices architecture?

A comparative table followed by a brief explanation is required in this section.

The conclusion (75–100 words) will summarise any findings or recommendations that the report puts forward regarding the concepts covered in the report.

4. Format of the report

The report should use font Arial or Calibri 11 point, be line spaced at 1.5 for ease of reading, and have page numbers on the bottom of each page. If diagrams or tables are used, due attention should be given to pagination to avoid loss of meaning and continuity by unnecessarily splitting information over two pages. Diagrams must carry the appropriate captioning.

Answer

Introduction

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 – 

Advantage
Disadvantages
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

Conclusion

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. 

Customer Testimonials