Sei sulla pagina 1di 12

MIS603 Microservices Architecture

Assessment Two
Due Date: 28th of July

Name: Hasibul Islam


SID: 00277504T
Email: hasibul.islam@business.torrens.edu.au
Facilitator: Wen Shao
Co-ordinator: Lin Yue

1
Executive Summary

The Whiteboard is a well-known company for providing service regarding student learning
and management system. There are stake of obstacles are currently facing by Whiteboard
company using monolithic system for that reason the company decided to change the system
into microservices. I will provide a brief summary of the microservice architecture.

First phase of the introduction explains definition microservice architecture, which includes
meaning and key benefits of microservice architecture then elaborates key problem may face
Whiteboard company to splitting monolithic into microservices.

As, a microservice architecture is fairly new to the software development industry, for that
reason not voluminous companies using this service, but some company used it and left it
success story such as Netflix. After introduction of the microservice architecture, I have
overviewed some of the success story and challenges in different industries who used
microservices.

The service modelling and integration process follows after the different company’s success
stories. This paragraph will explain, what are the best technology available for services
modelling and integration in microservice architecture such as Rest-API.

Splitting a system always an arduous task. So, breaking down monolithic system component
into microservice also hazardous. There is substantial amount of microservices task and
challenges overview in this section who is taking part in the splitting process.

The life cycle of software development process always battling with the matter of ethical,
legal and security concern. Ethical, legal and security issues are co-relating each other,
ethical issues are moral but legal and security issues are more relate to man made legislative
law. This paragraph overviewed the key issues in transition period.
Table of Contents
Introduction.......................................................................................................................4
Industrial Portfolio:............................................................................................................5
Service Modelling:.............................................................................................................7
Service integration.............................................................................................................8
Splitting Monolithic system................................................................................................9
Transition to microservice Architecture............................................................................10
Ethical........................................................................................................................................10
Legal...........................................................................................................................................10
Security:.....................................................................................................................................10
Conclusion.......................................................................................................................11
Reference.........................................................................................................................12
Introduction:
Mathematically micro means small or tiny, microservice means smaller service.
Microservice architecture is an architectural approach which is autonomous and small. It is
also distributed and loosely coupled. There are numerous benefits to use microservice
architecture such as high maintainability, testability and business capability. It also can
deploy independently and managed by small group. There is long tradition to use monolithic
system but now it is possible to split into microservices. However, there are some challenges
for transitioning into monolithic to microservices.

The Whiteboard is a third-party IT company who provides student learning and


management systems to over six hundred universities and institutes across the globe.
Currently, over ten million students are advancing from this system, but it is encumbrance for
monolithic system to handle enormous data. If any component fails to perform any task in the
system, then whole system suffers a drawback. So, Microservice is the paramount
alternatives to allocate the process and handle the system failure.

Figure 1: Comparisons of Monolithic and Microservices

Figure 1 shows, the monolithic system compressed all component together which is difficult
in terms of flexibility on the other hand microservices separate the all component which is
more flexible to handle. For example, student learning management system includes student
recruitment, student enrolment, tuition fee payment, learning content management, academic record
management, graduation and the issuance of qualification and certificate. There is initial challenge to
store each component separately. I will discuss it in following paragraph.

Firstly, dependency between services. It will hard to identify dependency even if build one
service then have to be careful about other dependency.

Testing will be the second major issue specially when all services integrated to the system.
When final system will be ready then end to end testing will face major barrier.

As a student management and learning system have over hundreds of services that’s why
remote debugging will be concerning issue.
System security also another concern because it is not possible to keep one version of
software. As world is changing over the time so application may need to change for security
reason.

To overcome all these challenges, need proper plan and in-house microservice team then it
will be easy to solve every step.

Industrial Portfolio:
Microservice architecture is quite new to software development industry but performance is
outstanding. There are lots of success story in terms of flexibility, security and business
capability. I will overview some of the stories in the following paragraph with benefits and
challenges of microservice architecture in the company.

Walmart is a successful company in retail world, but we don’t know the story of Walmart’s.
As, we know most of the retail company increases their sale in black Friday. So, it was
difficult for Walmart online application to handle 6-million-page view in a day then they
decide to re-architect the application and implement microservice in 2012.

After re-architecting the system, Walmart realised that; The 98 percent of smart device order
increased, no downtime in major festival shopping like Black Friday and Boxing Day and of
course conversion increased 20 percent.

The challenge Walmart faced to migration to Microservice architecture such as too many
coding languages, mitigate integration issues, testing problem as well as communication. The
Figure 2 shows, how Walmart faced challenges when they are trying to communicate in
different tire of technology.

Figure 2: Challenge of communication between different tire.

Amazon, the world biggest logistic company as we know. They used to use monolithic
system back in 2000’s but over time it impacted on overall productivity. So, the company
decided to implement to microservice architecture and then each service will serve the single
purpose via web APIs. When system was fully ready then the productive is all over the place
and now, they are the biggest company in the world. Figure 2.1 illustrates the different
amazon microservice architecture which make them successful company.
Figure 2.1: Amazon microservice architecture.

The amazon faced countless problem in order to deploy microservice such as building
inhouse team for development, decoupling each service, integration testing and versioning of
the application, bug fixing and many mores.

Netflix, the revolutionary change in video streaming company name. Currently, more than 2
million movies streaming itself in USA at the same time. The proper system development
plan and process bring this success. The Netflix is a top brand in the world with the height
revenue in video streaming industries. The figure 2.2 explains Gatekeeper architecture which
solves liveness of video streaming. So, each upstream microservices are working
independently use this architecture.

Figure 2.2: Gatekeeper Architecture for liveness video

So, the microservice improved loading capacity, processing delays, performance related
issues, visibility, debuggability and liveness processing.

6
There are many challenges Netflix over come to implement microservices such as fix date
ranges, video set-ups, title name, synopsis, translation, appropriate rating, quality of video
and images etc.

Service Modelling:
In traditional application use single service data model where data is sharing space between
different components. When data stored in one database then multiple issue raise in the
model. The figure 3 is an example of monolithic data model where all components share
same database.

Figure 3: Monolithic service model.

In monolithic data model will face many issues such as schema changes, coordinate and
communicate all service, additional work in deploying changes, difficult to scale out, also
improve application performances. On the other hand, there are numerous service model in
microservices architecture such as data-driven model, event-driven model and domain-driven
model. I will explain event-driven data model and Domain driven data model in next
paragraph.

Event-driven data model is a loosely couple and highly scalable distributed system where
always maintain data consistency. Figure 3.1 describes, how event-driven data model
performance between services.

Figure 3.1: Event-driven data model


The following figure is showing the difference between tight coupling and loose coupling.
So, loose coupling provides better performance.

Domain-Driven model are binding contexts with each microservices. It also can modify
directly inside the database even in another microservices which does not affect the
performances. Figure 3.2 represents, how each microservices derived from bounded
contexts.

Figure: 3.2: Domain-Driven model to Microservice

Service integration:
One of the imperative aspects in microservice is integration. If integration is working
flawlessly then microservice will retain their autonomy and work independently otherwise
the whole system will suffer drawback. So, now question is which integration technology to
use for student learning and management system.
There are many characteristics which will validate the possible service integration, but what
are the available service collaboration. Synchronous and asynchronous are two
communication channels for service integration. The figure 4 illustrates how the different
microservices communicate in integration process.

Figure 4: Microservice Integration communication

By the nature of Whiteboard system, we have to integrate event-based communication such


as asynchronous communication. The asynchronous communication is good for long running
job and connection. This model also inverts services and distributed. It is also highly
decoupled and easy to add new users without client’s data interruptions. I will explain REST
style over SOAP and other architectural styles because it will fit easily in Whiteboard system.

Rest means Representational State Transfer. Rest is an architectural style which is based on
web and it is also stateless. Rest integration helps to overcome many challenges. How rest
helps in integration. The Figure 4.1 represents, the different layer of REST style.

Figure 4.1: Richardson Maturity RESTs layer integration Model

REST works over HTTP because it does not talk with underlying protocol. It is alternative
styles of XMAL-RPC. The best thing of REST service is decoupling.

Splitting Monolithic system:


The company decided to split monolithic system to microservice because it will be easy to
handle complex student learning system. The microservice environment will manage and
support the moving parts as everyone believes. But I will discuss some of the challenges in
splitting backend systems.

Identify a moving part from monolithic system. This is the first task for programmer to
identify the component which services going to where. When they will decouple the services
then identify scalability of the component. As, many components interacting, failure point
also increasing. So, programmer have to make sure split the right component with checking
flexibility and scalability.

A monolithic system constantly communicate itself but when it will split to multiple
functions then all functions will interact same time. So, tracing the performance will be
problem in the tires.

Decoupling database is a major challenge. Initially, identify each service and allocate
database with matching ERD. In transition period, this will be major problem to solve it. No
easy to find the solution without bold plan.

Monolithic traditional system logging will be abortive because microservices are stateless
services. So, developer have to be careful about too many logs file.
Transition to microservice Architecture:

There are numerous obligations to handle students, teaching staffs and other employee’s data
in transition to microservices. As, each component provide service individually and
independently therefore developer must be careful about ethical, legal and security issue.
There are several ethical, legal and security issue in transition periods in microservice which
follows below;

Ethical:

In transition period, application log file is one of key file which developer have to handle for
each service such as student log file and teaching staff logfile. They are the only one allow to
access individual file for splitting to microservice. If there is an unethical practice in the
company or by programmer, then they can delete or erase log file then it will be problem for
individual user.

Data protections is another major ethical concern. There are many companies map our data
because we are using them as a third-party authentication such as login with Gmail or
Facebook. So, in transition period we have to take ethical measures that those companies not
selling out user’s profile to police or other agencies without user concern.

Legal:

The Whiteboard company will face some of the legal battle in transitioning phase such as
privacy, data liabilities and intellectual property. How the company will maintain the privacy
and data of every users. The have to take bold plan about this legal issue in the transition
period otherwise it will be major problem under ICT law.

Security:

There stake of questions around the corner regarding security, the company should take
measures even before transition stage. Following questions will focus the security concerns in
transitions to microservice architecture;

- How authentication will perform for each service?


- Who will authorise the log files to split from monolithic system?
- How the company will maintain the privacy of user’s data?

There are many more questions but if the company have policy and procedures to answer
these questions then it will be easy to start the decoupling. For examples, In GITHUB allow
many repos in same group to work multiple team remotely but it has authorization and
authentication system which is preform security issues. Nobody can violate the each other
privacy in a team.
Conclusion:

The synopsis of microservice architecture, which covered key concept, benefits, success
story, modelling, technological aspects and splitting challenges. The final part of this report
overview of ethical, legal and security issues. We also overviewed focal components of
service integration and modelling principles such as REST. Finally, every technology has
pros and cons. So, microservice architecture also provides numerous benefits and some
challenges in transition period. Actually, monolithic architecture is good for simple, small
and lightweight system but develop complex application is perfect for micro-service
architecture.
Reference:
Breaking the Monolithic Database in Your Microservice Architecture, By Bhera.S,
Retrieve from,
https://dzone.com/articles/breaking-the-monolithic-database-in-your-microserv

Integration Architecture Decisions-APIs, Services, and Microservices, By Alan.G,


Retrieve from,
https://developer.ibm.com/apiconnect/2018/09/26/integration-achitecture-decisions-
apis-services-microservices/

Microservice-Architecture Examples and diagram, By Maguire.J, Retrieve from,


https://www.devteam.space/blog/microservice-architecture-examples-and-diagram/

Newman, S. (CH 1,4,6,7). Building Microservice: Designing Fine-Grained


Systems (Edition One). O’Reilly Media.

Re-Architecting the Video Gatekeeper, By K. Drew, Retrieve from


https://medium.com/netflix-techblog

What are Microservices, Retrieve from,


https://www.redhat.com/en/topics/microservices/what-are-microservices

4 Challenges you Need to Address with Microservice Adoption, Retrieve from,


https://www.appdynamics.com/blog/product/4-challenges-you-need-to-address-with-
microservices-adoption/

Potrebbero piacerti anche