MIS603 Microservices Architecture

Verified

Added on  2022/08/20

|15
|3059
|18
AI Summary

Contribute Materials

Your contribution can guide someone’s learning journey. Share your documents today.
Document Page
Running head: MIS603 MICROSERVICES ARCHITECTURE
MIS603 MICROSERVICES ARCHITECTURE
Name of the Student
Name of the University
Author Note

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
1MIS603 MICROSERVICES ARCHITECTURE
Table of Contents
Introduction................................................................................................................................3
History of Computing................................................................................................................3
Software Architecture and its importance..................................................................................4
Main types of software architecture...........................................................................................9
Conclusion................................................................................................................................11
References................................................................................................................................13
Document Page
2MIS603 MICROSERVICES ARCHITECTURE
Introduction
Microservices is a distinctive method of designing of the software systems. The main
focus of this type of method is to develop single-function modules (Mohammed, Fiaidhi &
Tang, 2020). It has well-structured interfaces as well as operations. In the current scenario, it
becomes very popular because many enterprises are looking for more Agility in software
development. They are moving towards DevOps and continuous testing. These are the main
advantages of Microservices in software development.
In this report, the history of computing is discussed elaborately. This report discusses
regarding the defination of the software architecture (Rozi et al., 2020). In this report,
importance of the software architecture is discussed in detail. This report elaborates main
types of software architecture elaborately.
History of Computing
In early 300 B.C, abacuses were used for computing purposes. In 1623, a counting
tool was invented named Schikard’s calculating clock (Megargel, Shankararaman & Walker,
2020). After a few years, a calculator was invented to perform the addition, subtraction,
multiplication, and division. It was developed by a famous scholar named Gottfried Wihelm
Leibniz. He also developed calculus, binary numbers, and many other mathematical
operations.
In the first electronic computers, inventors were able to use the punch card systems
with the help of the binary system (Mazzara et al., 2020). Later on, International Business
Machines adopted this technology and implemented this one for many areas of computer
science. At the time of the Second World War, the IBM and Harvard University jointly
Document Page
3MIS603 MICROSERVICES ARCHITECTURE
designed Harvard Mark I. It was a mechanical computer. It was eight feet tall and fifty-one
feet wide.
In 1996, Hewlett Packard developed their first computer. The name of their first
computer was HP 2116A (Liu, Huang & Lu, 2020). It could control different types of
instruments. In 1974, HP designed a memory processing system named the dynamic random
memory access chips (DRAM).
In 1975, the first personal computer was designed. The name of the computer was
MITAS Altair computer (Khan, 2020). It was available inside a box and was integrated with
the purchaser. After this incident, Apple designed its first computer. It was smaller than the
computer designed by MITAS Altair computer. It was more powerful by leaps and bounds.
In 1981, the Osborne Computers released the Osborne Computers 1 and it was treated
as the first customized laptop (Kerr, Troth & Pickering, 2020). The weight of the computer
was 24.5 pounds and the expenditure was $1,795. If a manufacturer initiated to design
smaller computers then the revolution of the personal computer was started.
Software Architecture and its importance
The architecture of the software provides a detailed description of its major parts and
its relation among these (Jiang, Pei & Zhao, 2020). It involves many contributing factors such
as quality attributes, human dynamics, Information Technology Environment as well as
strategy of the business. It helps to elaborate on a constructive solution to meet all technical
as well as operational needs. It is performed while performing the optimization of common
quality attributes. It includes performance and security.
It includes a balanced set of significant decisions regarding the organisation which is
involved in software development (Hignite, Margavio & Chin, 2020). Every decision may

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
4MIS603 MICROSERVICES ARCHITECTURE
have some effect on the quality, performance, maintainability and the entire success of the
company. These decisions are consisting of –
Choice of some structural elements and their interfaces
Parts of structural as well as behavioural elements inside a large number of
subsystems.
Settlement in the software architecture by maintaining the business needs.
The style of the software architecture provides some relevant direction to the
company.
Figure 1: Software architecture for enterprise
Source: http://www.triumphsys.com/wwdEas.shtml
Designing of a framework is to detect the needs that may hamper the structure of the
application (Chandramouli & Butcher, 2020). The architecture framework of the software
decreases the risks related to the development of a technical solution as well as constructs a
Document Page
5MIS603 MICROSERVICES ARCHITECTURE
bridge in between the business and technical needs. Other goals of software architecture are
as follows:
Exposing the structure of a system, but it is responsible to hide the details of the
application.
Needs to understand all use cases as well as scenarios.
Trying to highlight all the needs of different stakeholders.
Handling of both functional as well as non-functional needs.
Improving the position of the market of the company
Decreasing the target of the ownership.
Improvement of the quality as well as functionality offered by a system.
Improvement of the external confidence either inside the company or the software.
There are various types of the importance of software architecture. These are as
follows:
A basis for performing the communication
Software architecture is treated as a sort of plan for the system of the
enterprise (Turner, Weickgenannt & Copeland, 2020). It is very important for
performing the understanding, negotiation, as well as communication among
all stakeholders of the company. It includes the user side, management of the
consumer and many others. It helps the employees of the enterprise to
understand the entire system. It can become a more efficient procedure for
decision making.
Taking faster decisions
Document Page
6MIS603 MICROSERVICES ARCHITECTURE
In this particular stage, the initial decision is made (Souza, Martins &
Dalcin, 2020). These initial decisions have a great importance in the entire
software development project. Making modifications in software architecture
is very difficult if they move to advance towards the procedure.
Transferability of the model
The software architecture elaborates on the model of the software as
well as functionality of the software. It is quite possible to reuse the model for
other software architecture (Song, Nguyen & Chauvel, 2020). The code for the
development of the software can be reused. The requirements of the software
can also be reused for other software. The developers are gained lots of
experiences during the development of the software architecture for the
enterprises. It can also be transferred. It means that the developers can reuse
their initial design of the software architecture.
Software architectures can elaborate on the problems that may
highlight the implementation of the architecture. It also highlights the culture
of the company. It also helps to take some easy decisions and managing all
kinds of modifications. It also provides some better estimates and expenditure
on the project.
Identification of the cost savings
The architecture of the software helps the company to perform the
analysis of its present Information Technology. It is used to detect some areas
where the modifications are needed for cost savings (Schwarz & Riehle,
2020). The architecture may highlight that various database systems could be

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7MIS603 MICROSERVICES ARCHITECTURE
modified so that a single product can be utilized. It helps to decrease the
development as well as support cost for the development of the software. It
provides some basic ideas regarding the reusability of the software. The
procedure of performing the architecting can support the use as well as general
of reusable components. These are very helpful for the company because they
can reduce the total expenditure of the system. It helps to modify the system
efficiently. Reusable components are quite helpful for the enterprise. It helps
to improve to quality of the system and decrease the expenditure of the
system.
Giving better code maintainability
It is very easy to maintain the existing software because the structure
of the code is visible (Schreiber, 2020). It helps to search the bugs as well as
anomalies.
Reducing the probability of the risks
Software architecture helps to decrease the chances of occurring of
many risks as well as failure (Rozi et al., 2020).
Serve as training for the team members
The architecture of the software, as well as its documentation, provides
as the training for the developers on the group (Pahl, Jamshidi &
Zimmermann, 2020). The software development team may have some
experiences for the modification such as joining of the new team members or
resigning from an existing employee. The introduction and training of the
newly joined team members to the team may take some time. An outstanding
Document Page
8MIS603 MICROSERVICES ARCHITECTURE
design of the software architecture makes it easier for the new team members
to develop the software.
The maintenance of the software system is very lengthy as well as
costly phases in a software development project (Mohammed, Fiaidhi & Tang,
2020). It is quite common for the new developers to perform work on the
latest systems which includes maintaining it. If the architecture of the software
is very good for teaching then the newly recruited developers many enjoy
some important advantage.
Main types of software architecture
There are many important types of software architecture. These are as follows:
Blackboard
It is a very important software development strategy (Megargel,
Shankararaman & Walker, 2020). In this particular strategy, no deterministic
solution strategies are known. In this particular case, many specialized
subsystems gather their knowledge to design a possible partial solution.
Client-Server architecture
It is a computing model. With the help of this model, the hosting of the
server is performed very efficiently. It is also responsible to manage and
provide most of the resources adopted by the client (Mazzara et al., 2020). It
consists of more than one client computers connected to a central server over a
network or an internet connection. This system shares some computing
resources and it is also called the network computing model.
Document Page
9MIS603 MICROSERVICES ARCHITECTURE
There are various features of the client-server architecture. These are
as follows:
Service
Functional modules
Shared resources
Scalability
Integrity
Authentication
Maintaining secret
Availability
Timelineness
Message based exchanges
Encapsulation of services
Component-based architecture
It mainly focuses on the segregation of the design into several logical
components. It has some well-defined communication interfaces that contain
various types of methods, events as well as properties. It gives a higher level
of abstraction and segregates the issues into the sub-problem (Liu, Huang &
Lu, 2020). The main objective of this architecture is to perform the reusability
of the components. There are various types of framework for this type of
architecture. These are COM/DCOM, JavaBean, EJB, CORBA, DOT NET,
web and grid services. These are very popular in the development of the local
GUI based application design.

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
10MIS603 MICROSERVICES ARCHITECTURE
It has various types of advantages for the development of the software.
These are as follows:
It helps to decrease the expenditure for the development of the
software with the help of reusing the existing component
(Khan, 2020).
It is used to enhance the reliability of the software with the help
of the reusing the software components.
Monolithic architecture
In the case of monolithic architecture, different parts of the architecture
are interconnected (Kerr, Troth, & Pickering, 2020). It provides higher
throughput than modular procedures. With the help of this architecture, one
can perform the testing and debug of a software application efficiently.
Peer to peer architecture
It is a very common architecture for the computer networking related
applications in which every work-station has a similar type of capabilities
(Jiang, Pei & Zhao, 2020). It can be compared with the classic client/server
architecture. It is also used to develop a single software program.
There are three types of peer to a peer computer networks. These are:
Pure P2P.
Hybrid P2P.
Centralized P2P.
These are designed as per the pre-defined condition as well as an
algorithm. A typical client/server network shares the demands but no
Document Page
11MIS603 MICROSERVICES ARCHITECTURE
resources (Hignite, Margavio & Chin, 2020). If extra clients are joined in the
system then fewer resources are available to every client.
Micro-services architecture
It is a collection of more than one service (Chandramouli & Butcher,
2020). It is highly maintainable and testable. It is loosely coupled and
deployed independently. It is arranged in accordance with the capabilities of
the businesses.
Conclusion
Microservices are the most suitable applications for large scale applications.
Monolithic code is used for small applications. Maintenance of the independent
microservices is very easy to perform. But the management of the network needs some extra
effort. For implementing the microservices architecture, Container platforms, DevOps
practices as well as cloud computing play a vital role. Maintenance, as well as monitoring of
the microservices architecture, is a very important aspect. RayGun APM, Real User
Monitoring and Crash Reporting are developed to perform these services. The size of the
microservices is not so important though the size is an important factor. It has some user
interface that can perform some modifications. It does not have any deployment unit. The
user interface and microservices must have the responsibility of a single team.
Document Page
12MIS603 MICROSERVICES ARCHITECTURE
References
Chandramouli, R., & Butcher, Z. (2020). Building Secure Microservices-based Applications
Using Service-Mesh Architecture (No. NIST Special Publication (SP) 800-204A
(Draft)). National Institute of Standards and Technology.
Hignite, M. A., Margavio, T. M., & Chin, J. M. (2020). Assessing the conflict resolution
profiles of emerging information systems professionals. Journal of Information
Systems Education, 13(4), 6.
Jiang, L., Pei, Y., & Zhao, J. (2020). Overview Of Serverless Architecture Research.
In Journal of Physics: Conference Series (Vol. 1453, p. 012119).
Kerr, D., Troth, A., & Pickering, A. (2020). The use of role-playing to help students
understand information systems case studies. Journal of Information Systems
Education, 14(2), 6.
Khan, M. (2020). Scalable invoice-based B2B payments with microservices.
Liu, Y., Huang, J., & Lu, N. (2020). Research on Environmental Monitoring System Based
on Microservices and Data Mining. In E3S Web of Conferences (Vol. 143, p. 02031).
EDP Sciences.
Mazzara, M., Bucchiarone, A., Dragoni, N., & Rivera, V. (2020). Size Matters:
Microservices Research and Applications. In Microservices (pp. 29-42). Springer,
Cham.
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.

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
13MIS603 MICROSERVICES ARCHITECTURE
Mohammed, S., Fiaidhi, J., & Tang, M. (2020). Towards using Microservices for
Transportation Management: The New TMS Development Trend.
Pahl, C., Jamshidi, P., & Zimmermann, O. (2020). Microservices and Containers. Software
Engineering 2020.
Rozi, I. F., Ariyanto, R., Pramudita, A. N., Yunianto, D. R., & Putra, I. F. (2020, January).
Implementation of microservices architecture on certification information system
(case study: LSP P1 State Polytechnic of Malang). In IOP Conference Series:
Materials Science and Engineering (Vol. 732, No. 1, p. 012085). IOP Publishing.
Schreiber, M. (2020). PREvant (Preview Servant): Composing Microservices into
Reviewable and Testable Applications. In Joint Post-proceedings of the First and
Second International Conference on Microservices (Microservices 2017/2019).
Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
Schwarz, G. D., & Riehle, D. (2020, January). What Microservices Can Learn From
Enterprise Information Integration. In Proceedings of the 53rd Hawaii International
Conference on System Sciences.
Song, H., Nguyen, P. H., & Chauvel, F. (2020). Using Microservices to Customize Multi-
Tenant SaaS: From Intrusive to Non-Intrusive. In Joint Post-proceedings of the First
and Second International Conference on Microservices (Microservices 2017/2019).
Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
Souza, D., Martins, E., & Dalcin, E. C. (2020, January). Assessing the risk of extinction of
Brazil's flora: a computational approach based on microservices and geospatial
analysis. In Anais do VII Workshop de Computação Aplicada a Gestão do Meio
Ambiente e Recursos Naturais (pp. 20-28). SBC.
Document Page
14MIS603 MICROSERVICES ARCHITECTURE
Turner, L., Weickgenannt, A. B., & Copeland, M. K. (2020). Accounting information
systems: controls and processes. John Wiley & Sons.
1 out of 15
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]

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

Available 24*7 on WhatsApp / Email

[object Object]