Microservices Architecture: Advantages and Challenges
VerifiedAdded on 2025/06/20
|14
|2257
|165
AI Summary
Desklib provides solved assignments and past papers to help students succeed.

MIS603 Micro services Architecture
1
1
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Introduction
Computers and technologies are widely used in every aspect of everyone’s life. The major uses
of computers and technologies are done in the field of business. It is thus important to understand
the history of computing and the usage of computers and technologies at various stages. As a
technical assistant in the organisation, it is the responsibility to make the employees aware about
the different types of system software that can be used by them to make the business successful
and accomplish their tasks in an effective manner (Oussalah, 2014). This report will emphasize
the meaning of software architecture and the different types of software architectures that can be
used by a business. The report will also present the history of computing with the differences in
the information suites used at different ages. The report will throw light on the concepts of
microservice architecture and the advantages and issues faced by the micro service architecture.
This report is presented by the technical assistant of the company to the management of the
company so that the management can make effective use of the report and implement the
necessary changes in the organization. As the technical assistant of the company, it is an
obligation to suggest new changes and techniques that can help the company to have effective
growth and profitability of the company us increased. As an expert of micro service architecture,
it is a responsibility to make the employees aware about the advantages and uses of software
architecture and the different types of software architectures.
2
Computers and technologies are widely used in every aspect of everyone’s life. The major uses
of computers and technologies are done in the field of business. It is thus important to understand
the history of computing and the usage of computers and technologies at various stages. As a
technical assistant in the organisation, it is the responsibility to make the employees aware about
the different types of system software that can be used by them to make the business successful
and accomplish their tasks in an effective manner (Oussalah, 2014). This report will emphasize
the meaning of software architecture and the different types of software architectures that can be
used by a business. The report will also present the history of computing with the differences in
the information suites used at different ages. The report will throw light on the concepts of
microservice architecture and the advantages and issues faced by the micro service architecture.
This report is presented by the technical assistant of the company to the management of the
company so that the management can make effective use of the report and implement the
necessary changes in the organization. As the technical assistant of the company, it is an
obligation to suggest new changes and techniques that can help the company to have effective
growth and profitability of the company us increased. As an expert of micro service architecture,
it is a responsibility to make the employees aware about the advantages and uses of software
architecture and the different types of software architectures.
2

History of computing
As everybody knows that the history of computing started from the abacus. The first tool that
was used for counting is called abacus, and that was introduced in the 300 BC. Talking about the
world’s first gear driving tool, it was called the Schickard’s calculating clock that was invented
in the year 1623. Later on, a calculator was invented to carry out the simple addition, subtraction,
multiplication and division.
The next stage in the era of computing was the invention of the binary system. International
business machines, widely known as IBM, made wider uses of the first electronic computers. In
the year 1939, the company called HP invented its first computers, and the computers were
capable of performing different tasks. The company installed a memory system called the
random access memory chip set in the computers that made the computers capable of handling
huge sets of data at a time (Hanmer, 2012).
In the next stage of computer development, the invention of the first personal computer was
done. The world’s the first personal computer was invented in 1975. Apple is a company that
developed apple I which gave a new version to the personal computers as it made the computers
smaller and easy to handle. Then the era of laptops came, and the first laptops were introduced
by Osborne computers in the year 1981. This was a revolution in the history of computing as
everyone made effective uses of computers and laptops in their daily lives (Gomaa, 2011).
The use of computers and laptops gained huge popularity as it made the work of human beings
easier and the people were able to complete their work in time by putting lesser efforts. The main
advantage of the computer system and technology was taken by the businesses and the people
working in organisation (Bell, 2016). As in the today’s business scenario, no work can be done
without the usage of computers; computing has become the main part of the operations of any
business. Even to do simple calculations, computers and effective software are used. Businesses
also make use of computers and technology to have effective future planning for their business
and to forecast the future sales of the organisation.
3
As everybody knows that the history of computing started from the abacus. The first tool that
was used for counting is called abacus, and that was introduced in the 300 BC. Talking about the
world’s first gear driving tool, it was called the Schickard’s calculating clock that was invented
in the year 1623. Later on, a calculator was invented to carry out the simple addition, subtraction,
multiplication and division.
The next stage in the era of computing was the invention of the binary system. International
business machines, widely known as IBM, made wider uses of the first electronic computers. In
the year 1939, the company called HP invented its first computers, and the computers were
capable of performing different tasks. The company installed a memory system called the
random access memory chip set in the computers that made the computers capable of handling
huge sets of data at a time (Hanmer, 2012).
In the next stage of computer development, the invention of the first personal computer was
done. The world’s the first personal computer was invented in 1975. Apple is a company that
developed apple I which gave a new version to the personal computers as it made the computers
smaller and easy to handle. Then the era of laptops came, and the first laptops were introduced
by Osborne computers in the year 1981. This was a revolution in the history of computing as
everyone made effective uses of computers and laptops in their daily lives (Gomaa, 2011).
The use of computers and laptops gained huge popularity as it made the work of human beings
easier and the people were able to complete their work in time by putting lesser efforts. The main
advantage of the computer system and technology was taken by the businesses and the people
working in organisation (Bell, 2016). As in the today’s business scenario, no work can be done
without the usage of computers; computing has become the main part of the operations of any
business. Even to do simple calculations, computers and effective software are used. Businesses
also make use of computers and technology to have effective future planning for their business
and to forecast the future sales of the organisation.
3
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

4
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Difference between contemporary suite of data systems and traditional
computer technology.
Contemporary suits of information Traditional computer technology
Cloud computing is the newest form of
computing, where all the data and
information can be stored over the
internet.
In traditional computer technology, it was a
pain to buy various computers and have a
separate space to keep them. It was very
difficult to keep a lot of information on those
computers as the memory storage was less.
In the present day scenario, the computers
have the capability to perform additional
tasks for the vendors lime the data
processing, load balancing, queuing, DNS
and other important functions.
Talking about the traditional computing
systems, it was very difficult for the
businesses to perform additional functions.
The main tasks of the computers were to store
the relevant data and information of the
company and to have a track record of the
accounts of the organisation (Duggan, 2012).
Designing of modern computers are such
that they are easy to carry and use. Even
the laptops are available in different sizes.
This makes it easier for people to work and
carry their computers with them wherever
they go. It provides place utility to the
users.
The designing of the early computers were
bulky. The computers had various hardware
parts that were necessary to operate the
computer. It was difficult for the users to
carry computers with them. Place and time
utility were absent in the traditional
computing system.
Artificial intelligence is the innovation that
has been very popular in recent years. The
application of AI in computers has made
computing more effective and interesting
for the users (Schmidt, 2013). The use of AI
has made the computers capable of
In the early systems of computing, it was not
possible for the businesses ton have the
virtual decisions support systems. It was not
easy for the business men to have a safe and
secure locking system in the computers which
led to the leakage of information and data
5
computer technology.
Contemporary suits of information Traditional computer technology
Cloud computing is the newest form of
computing, where all the data and
information can be stored over the
internet.
In traditional computer technology, it was a
pain to buy various computers and have a
separate space to keep them. It was very
difficult to keep a lot of information on those
computers as the memory storage was less.
In the present day scenario, the computers
have the capability to perform additional
tasks for the vendors lime the data
processing, load balancing, queuing, DNS
and other important functions.
Talking about the traditional computing
systems, it was very difficult for the
businesses to perform additional functions.
The main tasks of the computers were to store
the relevant data and information of the
company and to have a track record of the
accounts of the organisation (Duggan, 2012).
Designing of modern computers are such
that they are easy to carry and use. Even
the laptops are available in different sizes.
This makes it easier for people to work and
carry their computers with them wherever
they go. It provides place utility to the
users.
The designing of the early computers were
bulky. The computers had various hardware
parts that were necessary to operate the
computer. It was difficult for the users to
carry computers with them. Place and time
utility were absent in the traditional
computing system.
Artificial intelligence is the innovation that
has been very popular in recent years. The
application of AI in computers has made
computing more effective and interesting
for the users (Schmidt, 2013). The use of AI
has made the computers capable of
In the early systems of computing, it was not
possible for the businesses ton have the
virtual decisions support systems. It was not
easy for the business men to have a safe and
secure locking system in the computers which
led to the leakage of information and data
5

performing various functions like the face
unlock, virtual decision support system and
others. Voice recognition in the computers
makes it easy for the users to complete
their works easily as most of the work is
done by the voice recognition processes.
from the computers. Hacking of computers
was also easy for the hackers.
6
unlock, virtual decision support system and
others. Voice recognition in the computers
makes it easy for the users to complete
their works easily as most of the work is
done by the voice recognition processes.
from the computers. Hacking of computers
was also easy for the hackers.
6
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

Software architecture- Overview
In the words of the author, software architecture can be defined as the basic structures of
software systems. There are different subsystems in the structures, and each of the structure has
various elements like the software applications, there is a defined relationship between all the
software applications and the characteristics of all the elements are defined in advance (Semegn,
2011). Software structure can also be referred to as to the different possible designs of software
that can be formulated by a developer. A real-time computing language is chosen to have the
software architecture and design the software. It is also very important that there is proper
documentation of the software architecture so that there is suitable communication to all the
stakeholders of the business. This is also relevant so that the high-level designs and the reuse of
design elements can be done by the users and the stakeholders. There are certain characteristics
of the software architecture which are enumerated below:
Stakeholder’s multitude: There are various stakeholders that have interests in the
development of the software. The different stakeholders can be the business owners,
managers, suppliers, operators and others. The software architecture takes care of all the
stakeholder’s needs, and the software is developed by considering the needs of all the
stakeholders (Schmidt, 2013).
Driven by quality: Talking about the classic designs of software development, it can be said
that they were developed by the use of data that flows through the systems. It is also
important that there is functionality in the development of classic design software. But in the
present day scenario, the software development takes place by considering the quality
controls first. There are various quality aspects that are taken into consideration like the fault
tolerance, extensibility, reliability, availability, and utilities. Quality aspects are put on top,
and they act as the base for the development of software.
Cognitive constraints: It was observed that software development takes place by the
cognitive constraints. The software that is developed is the copied of the structures of
communication that are followed by the humans in the organisation (Semegn, 2011).
7
In the words of the author, software architecture can be defined as the basic structures of
software systems. There are different subsystems in the structures, and each of the structure has
various elements like the software applications, there is a defined relationship between all the
software applications and the characteristics of all the elements are defined in advance (Semegn,
2011). Software structure can also be referred to as to the different possible designs of software
that can be formulated by a developer. A real-time computing language is chosen to have the
software architecture and design the software. It is also very important that there is proper
documentation of the software architecture so that there is suitable communication to all the
stakeholders of the business. This is also relevant so that the high-level designs and the reuse of
design elements can be done by the users and the stakeholders. There are certain characteristics
of the software architecture which are enumerated below:
Stakeholder’s multitude: There are various stakeholders that have interests in the
development of the software. The different stakeholders can be the business owners,
managers, suppliers, operators and others. The software architecture takes care of all the
stakeholder’s needs, and the software is developed by considering the needs of all the
stakeholders (Schmidt, 2013).
Driven by quality: Talking about the classic designs of software development, it can be said
that they were developed by the use of data that flows through the systems. It is also
important that there is functionality in the development of classic design software. But in the
present day scenario, the software development takes place by considering the quality
controls first. There are various quality aspects that are taken into consideration like the fault
tolerance, extensibility, reliability, availability, and utilities. Quality aspects are put on top,
and they act as the base for the development of software.
Cognitive constraints: It was observed that software development takes place by the
cognitive constraints. The software that is developed is the copied of the structures of
communication that are followed by the humans in the organisation (Semegn, 2011).
7
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Significance of software architecture in business
As the meaning and characteristics of software architecture are discussed in the above section,
now it is important to have a discussion about the importance of software architecture in the
business. There is various importance of software architecture for successful business operations.
Some of the advantages of software architecture are discussed below:
Method for stakeholder communication: The main advantage of the software architecture is
that it enables the stakeholder’s communication in the business effectively. When the
systems in the business are developed in an effective manner, it paves the way for the
effective communication between the stakeholders of the business. The systems will make
sure that all the relevant business information is timely and effectively transferred to all the
stakeholders of the business (Duggan, 2012).
Ease in managing changes: There are various changes that are required in an organisation
and sometimes it is not easy for the management to implement those changes easily in the
business. The architectural attribute of software impacts the way in which all the elements in
a business interacts with each other. The local, non-local and architectural changes can be
easily implemented in the organization by the application of software architecture.
Accuracy in cost and time schedules: The application and utilization of software architecture
enables the managers of the business to have high accuracy in the cost and time schedules so
that the objectives and targets can be achieved in an effective manner (Gomaa, 2011).
Patterns of software architecture
Layered pattern: The layered pattern is the most used pattern of software architecture. In this
approach, the development codes are divided into layers and each layer provides support to the
upper layer. This is to make the task easier and systematic.
8
As the meaning and characteristics of software architecture are discussed in the above section,
now it is important to have a discussion about the importance of software architecture in the
business. There is various importance of software architecture for successful business operations.
Some of the advantages of software architecture are discussed below:
Method for stakeholder communication: The main advantage of the software architecture is
that it enables the stakeholder’s communication in the business effectively. When the
systems in the business are developed in an effective manner, it paves the way for the
effective communication between the stakeholders of the business. The systems will make
sure that all the relevant business information is timely and effectively transferred to all the
stakeholders of the business (Duggan, 2012).
Ease in managing changes: There are various changes that are required in an organisation
and sometimes it is not easy for the management to implement those changes easily in the
business. The architectural attribute of software impacts the way in which all the elements in
a business interacts with each other. The local, non-local and architectural changes can be
easily implemented in the organization by the application of software architecture.
Accuracy in cost and time schedules: The application and utilization of software architecture
enables the managers of the business to have high accuracy in the cost and time schedules so
that the objectives and targets can be achieved in an effective manner (Gomaa, 2011).
Patterns of software architecture
Layered pattern: The layered pattern is the most used pattern of software architecture. In this
approach, the development codes are divided into layers and each layer provides support to the
upper layer. This is to make the task easier and systematic.
8

(Fig. 1: Layered pattern)
(Source: Morlion, 2018)
Layer responsibility: The next pattern is the layer responsibility, which shows the obligation of
each layer of codes for the upper layer. This is a widely used pattern for the software architecture
and it is the most organized pattern with testable applications.
Microkernel: The microkernel is also called as the plug in pattern that has a set of obligations. It
also has a set of parts that can interchanged. In the business, the microkernel pattern is mostly
used in the task scheduler. The task scheduler contains all the necessary information about the
tasks and the time schedules to complete those tasks (Bell, 2016). One more application of
Microkernel is the workflow. In the business, there are various workflow plans prepared with
steps to accomplish the tasks in the stipulated period.
9
(Source: Morlion, 2018)
Layer responsibility: The next pattern is the layer responsibility, which shows the obligation of
each layer of codes for the upper layer. This is a widely used pattern for the software architecture
and it is the most organized pattern with testable applications.
Microkernel: The microkernel is also called as the plug in pattern that has a set of obligations. It
also has a set of parts that can interchanged. In the business, the microkernel pattern is mostly
used in the task scheduler. The task scheduler contains all the necessary information about the
tasks and the time schedules to complete those tasks (Bell, 2016). One more application of
Microkernel is the workflow. In the business, there are various workflow plans prepared with
steps to accomplish the tasks in the stipulated period.
9
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

(Fig. 2: Plug-in pattern)
(Source: Morlion, 2018)
CQRS: Command and Query responsibility segregation is the next pattern of software
architecture that is used to separate the read and write operations of the applications. In this
pattern, the data is stored in different locations and the relational database. It is the most suitable
pattern for solving complex business queries.
(Fig. 3: CQRS)
(Source: Morlion, 2018)
Event Sourcing: The event sourcing is a pattern that is capable of providing a high-level audits
to the companies. Manipulation of data is not easy in this pattern of software architecture. The
performance of event sourcing can be improved by combining it with the CQRS pattern.
10
(Source: Morlion, 2018)
CQRS: Command and Query responsibility segregation is the next pattern of software
architecture that is used to separate the read and write operations of the applications. In this
pattern, the data is stored in different locations and the relational database. It is the most suitable
pattern for solving complex business queries.
(Fig. 3: CQRS)
(Source: Morlion, 2018)
Event Sourcing: The event sourcing is a pattern that is capable of providing a high-level audits
to the companies. Manipulation of data is not easy in this pattern of software architecture. The
performance of event sourcing can be improved by combining it with the CQRS pattern.
10
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Microservices: It is a software development technique which integrates the loosely packed
services. There is use of fine grained services and light weight protocols in the development of
software (Hanmer, 2012).
(Fig. 4: Micro services)
(Source: Morlion, 2018)
11
services. There is use of fine grained services and light weight protocols in the development of
software (Hanmer, 2012).
(Fig. 4: Micro services)
(Source: Morlion, 2018)
11

Conclusion
It is concluded from the report that the software architecture is very important in every field,
including the business. There are various patterns of software architecture that can be used for
the production of different types of software architecture. There are various advantages of
software architecture in the business as it leads to effective communication and enhancing the
accuracy in the time and cost schedules in the business (Oussalah, 2014). Thus it is relevant for
the employees of an organisation to understand the basic concepts of software architecture and
the relevant aspects associated with software architecture.
12
It is concluded from the report that the software architecture is very important in every field,
including the business. There are various patterns of software architecture that can be used for
the production of different types of software architecture. There are various advantages of
software architecture in the business as it leads to effective communication and enhancing the
accuracy in the time and cost schedules in the business (Oussalah, 2014). Thus it is relevant for
the employees of an organisation to understand the basic concepts of software architecture and
the relevant aspects associated with software architecture.
12
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 14
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2025 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.