MIS603 Concept Of Microservices Architecture Homework Answer

pages Pages: 4word Words: 890

Question :

ASSESSMENT 1 PART A BRIEF
Subject Code and TitleMIS603 Microservices Architecture
AssessmentMicroservices Case Study – Part A
Individual/GroupIndividual
Length1000 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.
Weighting25%
Total Marks100 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:
    1. What are the key principles and concepts of microservices architecture?
    2. 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.

  1. 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.

  1. 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:

  1. Your area of research and its context
  2. The key concepts you will be addressing
  3. 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:

  1. 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.
  2. 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.

1. 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.

2. Referencing

There are requirements for referencing this report using APA referencing style. It is expected that you reference any lecture notes used and five additional sources in the relevant subject area based on readings and further research.

3. You are strongly advised to read the rubric, which is an evaluation guide with criteria for grading the assignment—this will give you a clear picture of what a successful report looks like.

Show More

Answer :

Introduction

Microservice architecture is an emerging technology evolutionarily used in software development and related techniques. It is an upgraded technique than older monolithic and service-oriented architecture that was used in software development process. With the development of cloud computing, microservice architecture has a recognition of cloud-native approach. So, in this research report, we are going to discuss the concept of microservice architecture, its key principles and advantages and disadvantages of this architecture. In these sections, we will discuss various approaches of this architecture, especially with collaboration with the cloud platform. 

Microservice Architecture

Microservice architecture is a style to design an application as a collection of services which is maintainable, testable, loosely coupled, owned by a small team, deployed independently and developed according to the business capabilities. This architecture enables reliable delivery of large and complex applications and evolve technological stack. Each service in this architecture, is responsible for a specific task and can communicate with other service via API interface, in a complex environment (Kong, 2021).

Concept and Key Principles

A microservice architecture is developed based on Agile and DevOps approaches and have benefits of these. The traditional or monolithic architecture which uses a single unit, making slower an application and affect an entire system in different ways. The microservice architecture solve many challenges on the older monolithic architecture by making the way more modular. This system builds an application suite which is a group of many small services coupled to create a microservice architecture. Every small service in this group, running a process and can be independently deployed. These services can be written in different programming languages and can use different storage options. With several dynamic approaches, this will result the development of a scalable and flexible system. In a microservice architecture, every service is connected via an API to another service. This will create a restful ecosystem with similar technological solution. Testing can be done to verify and validate the flow of data through the deployment (Tom Huston, 2017)

The key principles of microservice architecture are here (Gupta, 2016):

  • It is built upon the single responsibility principle which is defined as a part of SOLID design pattern.
  • It focuses on some specific business functions and ensure the task is done. It will never be been restricted any technological stack to be involve to solve a business issue. 
  • The developing team is responsible for both developing and maintenance of the application in future.
  • The developed services can be independently deployable and bundled further to form a core business solution.
  • Design of a microservice architecture is created to avoid failure of service and minimal affect to the user experience.

The major characteristics of microservice architecture are here (Anil Kurmi, 2019):

  • The software application developed using this platform, can be break into multiple component services. Each service here can be deployed or redeployed independently without compromising the integrity of that application. 
  • The microservice architecture can be built around to fulfil a business needs and priority of service. A cross functional team is working in this architecture who is responsible for making specific product based on individual service communication. 
  • It has simplified routing approach, just like a UNIX system. Where it receives request, process it and generate response accordingly. 
  • It follows the decentralized governance to create a technological platform where it follows decentralized data management athwart different applications. 
  • The solution developed by the microservice architecture, is resistance toward failures of a service.
  • It offers a revolutionary design and an ideal system where it can anticipate with a type of devices which access the application. 

Advantages and Disadvantages of Microservice Architecture

The microservice architecture has some advantages and disadvantages (Tom Huston, 2017)

The advantages are –

This architecture enables the developer to independently develop and deploy a service. 
It can be developed by a small team instead of a large team of developers. 
It can be written in nay type of coding language. 
It is very easy to deploy and integrate this architecture. 
It is very easy to understand and modify its codes which make it more productive and quicker 
The developer can use any other latest technology with it
The codes can be developed according to the business capabilities 
The deployment of this service is faster by using the web containers 
When there is need to make a change in the service architecture, only a part of the code will be modified and re-deployed in the application
The microservice architecture has better fault isolation feature to avoid failure of application 
It can be easily scaled and integrate with the third-party applications

The disadvantages are – 

With its distributed deployment, testing of application will become complicated task 
When a number of services are used, it may result barrier in information handling 
This architecture can have complexities such as increased fault tolerance capabilities, network latency, load balancing, etc. 
It can result of duplication of efforts when used as a distributed system 
When the number of services is integrated, it become harder to manage the whole product 
Rather than the complexities of a monolithic architecture, this architecture also has some complexities of a distributed system 
When every part of a service will be developed separately, is become hard to implement the services and establish communication between them 
Sometime it is harder to maintain communication and collaboration between the teams working on this microservice project. 

Conclusion

In this assessment, we have conducted a detailed research on the microservice architecture. This architecture is an advance architecture than the traditional monolithic architecture which has many advance features and benefits to the developer as well as the organisation using it. The research is conducted to find out the characteristics of microservice architecture, its key principles, key concepts, advantages and disadvantages of this architecture. This microservice architecture works up on distributed service platform where each part of a service is developed separately and combined when developed. It has several benefits as well as disadvantages also. But we can say it is the most beneficial architecture with many benefits to the developers and organisation.