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:
|
Weighting | 25% |
Total Marks | 100 marks |
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
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.
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.
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:
The body of the report (800–850 words) will need to cover two specific areas:
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.
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):
The major characteristics of microservice architecture are here (Anil Kurmi, 2019):
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.