Microservices Architecture: MIS603 Assessment 2 Report Analysis

Verified

Added on  2022/09/14

|22
|3876
|15
Report
AI Summary
This report, prepared for the MIS603 Microservices Architecture course, examines the transition of Whiteboard Company's learning system to a microservices architecture. It begins with an executive summary outlining the benefits of microservices, such as agile development and scalability. The report then delves into successful implementations at companies like UBER, Zalando, and Netflix, highlighting their experiences and the advantages gained from adopting microservices. It explores service modeling principles, including SOAP, XML-RPC, and REST, providing detailed explanations of each. The limitations of monolithic architecture are discussed, along with the challenges associated with microservices. The report concludes with recommendations for Whiteboard Company and offers a comprehensive overview of microservices architecture.
tabler-icon-diamond-filled.svg

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: MICROSERVICES ARCHITECTURE
MIS603
MICROSERVICE ARCHITECTURE
Assessment 2
06/04/2020
2500 words
Name of the Student
Student ID
Torrens email address
Name of campus learning facilitator
Name of Subject coordinator
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1MICROSERVICES ARCHITECTURE
Executive Summary
Whiteboard Company wants to implement the strategy of Microservices architecture for their
learning system for ensuring the reliable services to their potential students. With the help of
“little and move approach”, they can move to their Microservices architecture from their
monolithic based systems. It provides agile development of the software. Microservices
adopts some concepts regarding the service oriented architecture. It gives lots of benefit to
the Whiteboard Company compared to their monolithic system. It helps the IT team of the
company to develop the software at a faster rate. It helps to provide scalable software
solutions to the company. This report gives a clear overview regarding the transition of the
Microservices architecture of Whiteboard Company.
Document Page
2MICROSERVICES ARCHITECTURE
Table of Contents
Introduction................................................................................................................................3
Three Successful implementation of Microservices architecture..............................................3
Service modelling principles......................................................................................................8
Limitations of monolithic architecture.....................................................................................15
Issues of Microservices architecture........................................................................................16
Conclusion................................................................................................................................17
Recommendation......................................................................................................................17
References................................................................................................................................19
Document Page
3MICROSERVICES ARCHITECTURE
Introduction
Microservices architecture is a procedure of designing software for deploying services
in independent manner (Pahl, Jamshidi and Zimmermann, 2020). It is totally based on the
single function module. It has some outstanding interfaces and some excellent operations. It
is a very popular technology among various companies because they want to implement
agility in the software. It is also very helpful for DevOps teams.
In this report, at first, successful implementation of Microservices architecture is
discussed elaborately (Perkusich et al., 2020). After that, it will discuss some service
modelling principles such as REST, SOAP, XML-RPC are discussed. After that, it will
discuss regarding the challenges of the monolithic system. At the end, it will discuss
regarding the issues related to the Microservices architecture. This report will discuss
regarding some recommendations of the Microservices architecture.
Three Successful implementation of Microservices architecture
There are lots of companies who are using Microservices for implementing the
software. Among three most successful companies are:
UBER
Like any other companies, initially UBER developed their cab booking system
by using the monolithic architecture. It was developed for the single offerings inside a
single city. They had one code base (Putra et al., 2020). It was quite enough to resolve
their business related issues. After that, their business had stated increasing. At that,
they felt that monolithic architecture was not at all sufficient for running their
business.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4MICROSERVICES ARCHITECTURE
Figure 1: Monolithic architecture of UBER
Source: https://medium.com/edureka/microservice-
architecture-5e7f056b90f1
In this architecture, REST API is used for establishing efficient
communication among their cab drivers as well as passengers. In this case, three
adapters are used with the REST API (Qiu et al., 2020). It gives lots of facilities to the
passengers such as billing, payments, email forwarding and many others. These
Document Page
5MICROSERVICES ARCHITECTURE
activities can be performed when a passenger is willing to book a cab for him or her.
They use MySQL as a database to preserve all the records.
But, these features of their cab booking system were found inside a single
framework (Ranjan & Sahoo, 2020). But, when they increased their business in
the entire world, then they faced lots of difficulties because they used monolithic
architecture while developing the cab booking system. Some difficulties are as
follows:
All features of system required to be developed again
Resolving of the bugs became very difficult while using the monolithic
architecture.
Faced difficulty to enhance the scalability inside the cab booking system of
UBER.
For resolving these problems, they decided to migrate from monolithic
architecture to Microservices architecture (Rumiński & Walczak, 2020). For example,
if a passenger wants to change his or her billing services, then he or she need to
deploy only that service. He or she does not require deploying other services of those
services. All the features of that software are scaleable.
Document Page
6MICROSERVICES ARCHITECTURE
Figure 2: UBER Microservices architecture
Source: https://medium.com/edureka/microservice-
architecture-5e7f056b90f1
UBER Company mainly modifies their API gateway. With the help of
this gateway drivers and passengers are able to perform effective communication
among them while booking a cab (Siavashi, 2020). In their new system, an individual
module performs individual services.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7MICROSERVICES ARCHITECTURE
Zalando
Zalando applies their Microservices architecture with the help of Amazon
Web Services for the purpose of provisioning (Sorgalla et al., 2020).
Unfortunately, a tiny amount of technology is used within this architecture. They
perform scaling in their new applications. Name of their new software is STRUMS.
It is open source software. They had one magneto based application. But that
application was not able to tackle a huge amount of load. For that reason, they
required new software (Takase et al., 2020). They shifted from monolithic to
Microservices in 2015. That new software was designed by keeping a closer touch
with the structure of Zalando. It was also related to the business logic as well as
culture. IT and business team wanted a new idea for their software. After the shift,
they designed as well as a global system. They also designed a latest work culture for
their management. By using their independent group, they increased their rate of
productions as well enhanced the number of innovations. They used four eye policies
while developing their software.
Netflix
Ten years ago, Netflix developed their Microservices based applications. The
special feature of this application is that, it can not be shred with each other. They
used an application programmable interface (Wang et al., 2020). It had some tightly
controlled procedures which could be tackled by any programs. It helped the software
developer to perform certain changes within the software to ensure that it executed in
an efficient manner.
Document Page
8MICROSERVICES ARCHITECTURE
The Company mentioned that they used around seven hundred Microservices
for every part of the Microservices architecture. One Microservices used to preserve
the videos watched by every user. Another service removed the monthly fee paid from
the authorised credit card of the user. They defined the Microservices for playing the
videos for the user (Siavashi, 2020). They wrote another service for the history and
guessing the available movies within the Netflix application. IT team of the
company modifies a lot within the software of Netflix. They have the ability to
perform modifications of the software without hampering the ongoing services
offered by the Netflix.
Service modelling principles
SOAP
It stands for Simple Object Access Protocol. It is not dependent on any
platform and it is a messaging protocol. It is based on the XML. It helps to transfer
data within the web services (Ranjan & Sahoo, 2020). It has the ability to establish
connections to the client software with the remote servers. Main purpose of this web
services is to perform the remote procedure call. It contains four major elements.
These are as follows:
o Envelop
It helps to do the starting and ending of the SOAP messages.
o Header
It is not all a mandatory attribute in SOAP architecture. It is mainly
used for message processing (Rumiński & Walczak, 2020). It has a header
entry which is defined inside the namespace.
Document Page
9MICROSERVICES ARCHITECTURE
o Body
Body of the message SOAP is entirely based on the XML. It can be
exchanged within the SOAP message (Putra et al., 2020). It is defined as the
child element. Semantics of the body is defined in the associated SOAP
schema.
o Fault
It is a mandatory element available inside SOAP (Marković &
Đorđević, 2020). It returns accurate information regarding the bugs involves
the predefined code, detailed description and addresses the SOAP processor
for calculating the outcome. It can carry one fault block. It is considered as an
optional part of the SOAP message. SOAP fault is associated with 500 to 599
ranges of status codes.
There are many advantages of SOAP web services. These are as follows:
SOAP uses XML based data for the purpose of payload as well as
contract (Madampe, Hoda & Singh, 2020). So that it can be easily fit
with any type of technologies.
It is accepted in the entire world. For that reason, it is considered as an
approach related to the industry standard. That is why; it is mainly use
in any type of open source applications offered by any organisation.
It is a light weight protocol (Houmani et al., 2020). It is used for the
exchange of data among various types of applications offered by
different companies.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
10MICROSERVICES ARCHITECTURE
There are some drawbacks of the SOAP based web services. These are as
follows:
o Only XML based protocol is used in SOAP web services (Araújo et al., 2020).
Other protocols such as JSON and other protocols are not used in this SOAP
web services.
o SOAP only uses the WSDL, but does not have any other procedure for using
these services.
Figure 1: SOAP web services
Source: https://medium.com/@dilshanramesh81/soap- web-
services-c62940e0de93
XML-RPC
Document Page
11MICROSERVICES ARCHITECTURE
It is a very simple version of the XML based protocol. It is used to shift the
information among the computers. It helps the computer programs to apply functions
in an efficient manner (Bora & Bezboruah, 2020). It helps the HTTP protocol for
shifting of information from one computer to another. A small XML vocabulary is
present in the XML-RPC. It has the ability to describe many responses. It has
three different parts. These are as follows:
o XML-RPC data model
o XML-RPC response structures
o XML-RPC request structures
There are some basic data types for XML-RPC. These are as follows:
o int or i64
o base64
o double
o Boolean
o dateTime.iso8601
If the developer wants to integrate more than one computing applications then
XML-RPC is the important way to perform this one. But they do not share any kind
of complicated data structures (Grambow et al., 2020). If the developer works within
a single platform, then RPC procedure makes it very easy to establish connection
among the programs. These programs may have various data models.
This architecture gives reusable logic for easy access. Basic data types are
enclosed with value elements (Heeager & Nielsen, 2020). Strings can also be
enclosed with the value elements but it can remove the string elements. In XML-RPC,
arrays contain some sequential information.
Document Page
12MICROSERVICES ARCHITECTURE
Figure 2: XML-RPC protocol and IP disclosure Attacks
Source: https://www.netsparker.com/blog/web-security/xml-
rpc-protocol-ip-disclosure-attacks/
REST
REST is called Representational State Transfer. It uses the protocol named
Hyper Text Transfer Protocol. REST server gives access to the resources. REST client
has the capability to modify the resources (Marković & Đorđević, 2020). Every
resource are detected by Uniform Resource Identifiers or global IDS. REST has the
capability for representing the resources like XML, JSON and text. There are
four HTTP methods used in the REST architecture. These are as follows:
GET
POST
PUT
PATCH
DELETE
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
13MICROSERVICES ARCHITECTURE
It has six architectural interfaces. These are as follows:
Uniform Interfaces
A resource situated inside a system must have a Uniform Resource
Identifier. It is very good procedure to perform synonymize operation of a
resource with the web page (Perkusich et al., 2020). Single resource is very
small. It contains everything inside itself. All of these resources can be
approached by using some simple and very popular approaches such as HTTP,
POST and many others. It must follow some pre-defined guidelines.
Stateless
In case of REST, all architectures are considered as stateless. Server
does not have any responsibility regarding the preserving of information. It is
performed with respect to the current request of HTTP (Putra et al., 2020). If
the REST architecture is totally based on the web services then it is called
RESTful web services. It also uses Hyper Text Transfer Protocol for
developing the REST architecture. It elaborates regarding the URI. It gives
some representation of the resources such as JSON and HTTP methodologies.
Client server
In REST, client and server can be easily stayed separately. It does not
have any dependency (Marković & Đorđević, 2020). Client must have a sound
knowledge regarding the Uniform Resource Locator of various resources.
Benefits are as follows:
REST architecture is quite easier than other software
development approaches such as SOAP (Madampe, Hoda &
Document Page
14MICROSERVICES ARCHITECTURE
Singh, 2020). It does not force the developers to reinvent the
wheel as long as the HTTP request for operation continues.
As the REST is totally related to the HTTP based protocols, it
utilizes some verbs having specific meanings such as ‘get’ or
‘delete’. It helps to avoid the ambiguity (Houmani et al., 2020).
Resources of the REST are allocated to the individual Uniform
Resource Identifier which adds flexibility.
With the help of REST architecture, produced and consumed
information are totally different from the technologies which
are facilitating the production as well as consumption (Heeager
& Nielsen, 2020). For that reason, REST performs
exceptionally well and it is highly scalable.
Testing can be done very easily inside the browser.
Document Page
15MICROSERVICES ARCHITECTURE
Figure 3: REST architecture
Source: https://medium.com/@ahmetozlu93/mastering-rest-
architecture-rest-architecture-details-e47ec659f6bc
Limitations of monolithic architecture
Drawbacks of monolithic architecture are as follows:
It has a limited amount of size.
Applications developed using monolithic architecture is very large as well as
complicated (Grambow et al., 2020). That is why; changes can be done in a
faster rate.
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
16MICROSERVICES ARCHITECTURE
Size of the application is responsible to slow down the start up time of the
application
For doing any update, developers have to redesign the entire application.
Effect of the modification is not very well-understood and it can lead to a huge
amount of manual testing.
It is hardly possible for the developers to perform the continuous development
of the software.
Monolithic applications are very difficult to perform the scaling.
It has a limitation for adopting various new technologies (Coulson, Sotiriadis
& Bessis, 2020). As a small modification affects the modifications inside the
framework then it may affect the entire application.
Issues of Microservices architecture
There are several issues of the Microservices architecture. These are as follows:
As the number of Microservices based software increases, management of that
software can be a challenging task (Bora & Bezboruah, 2020). Due to lack of
software management, things can go quickly out of the hand. Mismanagement
of the services can be a big deal for Microservices architecture as the problems
faced at the initial step of the transformation of the monolithic based
applications. It may have lots complexity and development process can be
very complicated.
Conventional IT monitoring approaches are not applicable for the
Microservices based architecture because more than one services are
performing the same functions (Bhavsar, Shah & Gopalan, 2020). When a
problem occurred then, searching for the main cause can be a challenging one.
Document Page
17MICROSERVICES ARCHITECTURE
Testing procedure is very complicated for Microservices architecture because
of different types of services, collaboration and internal dependencies (Araújo
et al., 2020). Team members are responsible for assuring the quality software
for performing the channel of communication between many services having a
full coverage.
Conclusion
Microservices architecture is considered as a distributed design approach which has
lots of ability to reduce the drawbacks of conventional monolithic based applications. If the
Whiteboard Company wants to design a learning system then they should select agile as a
software development methodology. For implementing agile methodology, Microservices are
very useful approach. It is also true that development of the Microservices based architecture
is a very challenging approach. It gives a paradigm shift with respect to the Microservices
architecture. It does not have the capability to resolve the complexity of the software. But it is
not a Cargo cult. However, Microservices architecture is very useful in software
development. For that reason, Whiteboard Company must choose the Microservices
architecture.
Recommendation
For developing their learning system, Whiteboard Company must use the
Microservices architecture. But they must be aware about the complexity, advantages and
disadvantages of those applications. A crucial mistake that can be made by the company is to
shift to the Microservices architecture without having a proper goal. If the company really
wants to apply Microservices then they should select RESTful web services because it has
lots of benefits with respect to the SOAP based web services. REST is collaborated with
JSON. That is why, it gives a good support to the browser.
Document Page
18MICROSERVICES ARCHITECTURE
References
Araújo, M., Maia, M., Rego, P., & de Souza, J. (2020, January). Performance analysis of
computational offloading on embedded platforms using the gRPC framework. In 8th
International Workshop on ADVANCEs in ICT Infrastructures and Services
(ADVANCE 2020) (pp. 1-8).
Bhavsar, K., Shah, V., & Gopalan, S. (2020). Scrum: An Agile Process Reengineering in
Software Engineering. International Journal of Innovative Technology and Exploring
Engineering (IJITEE), 9(3), 840-848.
Bora, A., & Bezboruah, T. (2020). Investigation on Reliability Estimation of Loosely
Coupled Software as a Service Execution Using Clustered and Non-Clustered Web
Server. International Journal of Engineering, 33(1), 75-81.
Coulson, N. C., Sotiriadis, S., & Bessis, N. (2020). Adaptive microservice scaling for elastic
applications. IEEE Internet of Things Journal.
Grambow, M., Meusel, L., Wittern, E., & Bermbach, D. (2020, March). Benchmarking
microservice performance: a pattern-based approach. In Proceedings of the 35th
Annual ACM Symposium on Applied Computing (pp. 232-241).
Heeager, L. T., & Nielsen, P. A. (2020). Meshing agile and plan-driven development in
safety-critical software: a case study. Empirical Software Engineering, 1-28.
Houmani, Z., Balouek-Thomert, D., Caron, E., & Parashar, M. (2020, November). Enhancing
microservices architectures using data-driven service discovery and QoS guarantees.
In The 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet
Computing CCGrid (p. 10).
Madampe, K., Hoda, R., & Singh, P. (2020). Towards Understanding Emotional Response to
Requirements Changes in Agile Teams. In New Ideas and Emerging Results track of
the 42nd IEEE/ACM International Conference on Software Engineering, ICSE2020.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
19MICROSERVICES ARCHITECTURE
Marković, M., & Đorđević, G. (2020). MOBILE GOVERNMENT SYSTEMS IN CROSS-
BORDER ENVIRONMENTS. MeTTeG14, 67.
Megargel, A., Shankararaman, V., & Walker, D. K. (2020). Migrating from Monoliths to
Cloud-Based Microservices: A Banking Industry Example. In Software Engineering
in the Era of Cloud Computing (pp. 85-108). Springer, Cham.
Pahl, C., Jamshidi, P. and Zimmermann, O., 2020. Microservices and Containers. Software
Engineering 2020.
Perkusich, M., e Silva, L. C., Costa, A., Ramos, F., Saraiva, R., Freire, A., ... & Almeida, H.
(2020). Intelligent software engineering in the context of agile software development:
A systematic literature review. Information and Software Technology, 119, 106241.
Putra, B. W., Saputra, A., Sanjaya, R., & Kurniawan, D. (2020, February). Implementasi
Framework CodeIgniter dan Restful API pada Sistem Informasi Manajemen Tugas
Akhir. In Annual Research Seminar (ARS) (Vol. 5, No. 1, pp. 307-313).
Qiu, J., Du, Q., Yin, K., Zhang, S. L., & Qian, C. (2020). A Causality Mining and Knowledge
Graph Based Method of Root Cause Diagnosis for Performance Anomaly in Cloud
Applications. Applied Sciences, 10(6), 2166.
Ranjan, A., & Sahoo, B. (2020). Web Service Selection Mechanism in Service-Oriented
Architecture Based on Publish–Subscribe Pattern in Fog Environment. In Artificial
Intelligence and Evolutionary Computations in Engineering Systems (pp. 269-281).
Springer, Singapore.
Rumiński, D., & Walczak, K. (2020). Large-scale distributed semantic augmented reality
services–a performance evaluation. Graphical Models, 107, 101027.
Siavashi, F. (2020). Model-based Verification and Testing of Web services: Functionality,
Robustness and Vulnerability Analysis.
Document Page
20MICROSERVICES ARCHITECTURE
Sorgalla, J., Rademacher, F., Sachweh, S., & Zündorf, A. (2020, March). Modeling
microservice architecture: a comparative experiment towards the effectiveness of two
approaches. In Proceedings of the 35th Annual ACM Symposium on Applied
Computing (pp. 1506-1509).
Takase, H., Mori, T., Takagi, K., & Takagi, N. (2020). mROS: A Lightweight Runtime
Environment of ROS 1 nodes for Embedded Devices. Journal of Information
Processing, 28, 150-160.
Wang, Z., Cheng, B., Zhang, W., & Chen, J. (2020). Q-Graphplan: QoS-Aware Automatic
Service Composition With the Extended Planning Graph. IEEE Access, 8, 8314-8323.
Document Page
21MICROSERVICES ARCHITECTURE
chevron_up_icon
1 out of 22
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]