MIS603 Microservices Architecture - Torrens University
a) Synthesise research to determine understanding of micro-services and how they contribute to new business processes
b) Collaboratively recommend strategies for transitioning to contemporary computer architectures that maintain efficiencies and address changing business requirements
c) Negotiate change management and highlight benefits to address complex business needs.
d) Reflect on moral and ethical issues in transitioning to new technologies.
Dont miss your chance to excel in assignment! Hire tutor of Expertsminds.com for perfectly written MIS603 Microservices Architecture Assignment Help solutions!
Introduction
The present report is based on the company "Whiteboard". It is a leading provider of student and learning management system, which supports more than 10 million students all over the world. It is a solution that connects educators and learners globally, where they can interact with each other and create an environment of online learning. With the help of the Whiteboard, educators are able to provide online education to the learners in the form of slides. They can even collect notes of student's development, conduct tests, import files, and combined work on projects. Some of its major features include: audio conferencing, video conferencing, record classes, chart, pointing tool, highlighter, typing tool, gridlines, and symbols (Newman, 2015). It gives importance to flexibility and agility switch to incorporate new code and technologies that promote teaching and learning. Their IT strategy is behind there continuous and frequent service delivery and maintaining a competitive edge over its competitors. The system provided by the company manages the whole life cycle of a student which starts from student recruitment, enrollment fee payment, learning content management, academic record management, and issuance of graduation certificate.
The chief technology officer of the company suggested to break down the system into microservices, where the code released will have no dependency on other components of the system. In particular, "Microservice" is a software application which have applicable relevance in the field of architecture.
Microservice Architecture
Microservices is a well-known software used as a design principle for structuring applications. It is basically an approach of designing software applications in the form of suites of separately deployable services (Stubbs, Moreira & Dooley, 2015). According to a recent report, each of the components in this architecture is continuously devised and managed separately (Aderaldo, Mendonça, Pahl, & Jamshidi, 2017). Hence, the modules were collectively used by users which could be analogous to a graphical interface user window. Additionally, according to the report by Savchenko, Radchenko, & Taipale (2015), the structure of modules was integrated in such a way that modular components are defined clearly for easy recognition, examining and maintenance. The characteristics associated with microservices architecture are automatic deployment, decentralized command of language and information, and intelligence in the endpoints. The microservice form of software is highly flexible for the learning management system, as it is loosely linked and separately deployable. This form of software is useful for the "Whiteboard" company as it involves educators and students from different geographies, where multiple teams can work on their independent services thereby reducing downtime (Savchenko et al. 2015).
A few years back, applications are designed in monolithic architecture in a single unit from top to bottom. An illustration of the monolithic architecture and its evolution history in the organizational context can be learned from the report of Dragoni et al. (2017). The drawback of this structure is that it does not provide any scope for future and create problem to debugging and updating. Furthermore, lack of such features in monolithic architecture put forwards the driving foundation of microservices architecture, which is a kind of service-oriented architecture (SOA) (Dragoni, et al. 2017). A microservice is constructed by combining multiple units, this eventually makes the application faster than the monolithic system. This feature of multiple components makes it deployable and twistable without altering the fidelity of the application (Dragoni, et al. 2017).
(Balalaie, Heydarnoori, Jamshidi, 2018). Furthermore, the existence of smart endpoints in microservices architecture assists in information processing and then implementing logic. This is system comprises of a decentralized governance feature with minimum risk of failure (Balalaie et al., 2018).
Companies using the microservice architecture
Companies that have implemented the microservice architecture and are operating the business successfully includes, IBM, Microsoft, eBay, Amazon, Walmart, and Twitter, however the list is not exhaustive as the implementation have also been initiated in several medium-sized firms. Pahl, & Jamshidi (2016), illustrated that with the shift to the microservice architecture, there has been a tremendous improvement in their development, scalability and service delivery of these companies. In the below section, we will discuss some of the example companies and highlight how the microservice architecture is useful in their business operations.
Amazon - The retail website of this company was initially designed in multiple tiers system containing layers of information. The structure thus had various components in each tier, which are "semi-transparently coupled" in terms of data exchange, data writing to the disc, and retrieval system (Hasselbring & Steinacker, 2017). This structure acts as a single big monolithic website, where a number of developers works. However, with time, when the data volume increases, the developers faced problems while managing the data (for analytics) and implementing new changes to each member engaged in the project. Hasselbring & Steinacker (2017), have also argued that there exists a risk project failure with the inclusion of new features or through a "bugfix". Moreover, the old architecture does not allow Amazon to push out the customers on their own schedule, instead, it has to coordinate with the other developers who have fixed process change at that time (Kecskemeti, Kertesz & Marosi, 2016). From the perspective of a software engineers, the system management can be described as a procedure which is time-consuming, complex, and frustrating. Moreover, the software development lifecycle was also slowing down due to information volume loading. The risk of data management system due to this architecture system thus brings the change at Amazon. As a result of this, the paradigm was then shift successfully from monolithic to the microservice architecture and began to operate as an SOA. With the microservice architecture, the company broke down its central product development team into small teams, having 6 to 8 developers in each team. Each of the teams is provided ownership of one or more microservices, where they can independently test, deploy and operate them (Pahl, & Jamshidi, 2016). Initially, it faced problem in communication as there is no standardised or dependable source. These changes in its system architecture have raised its front end development cycle. Moreover, the product teams are able to make quick decisions and update new features in the system. At present Amazon makes 50 million developments per year with the help of the continuous delivery process of microservices architecture (Balalaie et al 2018).
Walmart - The case example with Walmart Company can be explained based on the report by Reyna et al. (2018), where, the operational unit in Canada was failing on the black Fridays, for two consecutive years. The IT department Walmart Canada identifies a serious issue that lies with the software architecture. The old monolithic architecture was unable to manage 6 million page views in each minute in the Walmart site, which is ultimately results into negative user experience (Reyna et al., 2018). Also, in a report by Winkelhake et al. (2018), it was mentioned that the traditional software architecture at Walmart, was designed for laptops and desktops, and thus, failed to work smartphones and loT devices. With a change management in the IT department of the company, in 2012 Walmart decided to restructure its system architecture by using microservices and set a target of serving 4 billion connections by the year 2020 (Schäffer, Leibinger, Stamm, Brossog, & Franke, 2018). With the migration to the microservice architecture, Walmart identified that there has been a tremendous increase in mobile orders by 98%. The reason is associated with ease in data handling and management of informational stacks on different IoS such as android and Iphone. Besides this, on "black Friday" there has been zero downtime. This also results in a 20% increase in customers, effected with immediate implementation (Birudavolu & Nag, 2-19). Walmart is also able to increase its operational savings, as it shifts to community hardware from expensive hardware. In another argument, Schäffer et al, (2018), have also mentioned that the implementation of microservice architecture also facilities a savings benefit on the overhead expense from 20 to 50%, since the informational array system saves the computing power. However, in the initial stage the company had a fear of security issues, which was later
Netflix - Netflix is considered as one of the major pioneers of the microservice movement. In August 2008, Netflix faced a major server outage due to the corruption of its important database. This corruption prevented the company from shipping DVDs customer service for at least 3 days. Thus, Netflix decided to move away from the point which can scale only vertically and shift to those components which can scale horizontally (Jamshidi, Pahl, Mendonça, Lewis, & Tilkov, 2018). In this context, it abandoned all the private data centers and relocated to a public cloud that has the provision of horizontal scalability. For eliminating the single points of failure, it decided a change in the architecture of the system into microservices. It decided to break the traditional monolithic architecture into Microsoft services in 2009. In the initial stage, Netflix faced issues data synchronization, which was later resolved. With the inclusion of microservice architecture and public cloud, Netflix is able to gain immense popularity and achieved remarkable growth in online video streaming services.
Service modelling and Technologies available for integration
Service modelling is defined as the structured method in an organisation conducted by the IT department for planning and defining the future strategy. The service modelling is based on five basic core principle, viz., customer-centric, sequencing, co-creative, evidencing, and holistic (Schäffer et al, 2018). Apart from this, for the integration of microservice application, it is needed to consider two types of connectivity, (i) microservice application internal connectivity, and (ii) connectivity between microservice applications (Bogner, Fritzsch, Wagner, & Zimmermann, 2019). In the first case of internal connectivity, the microservice application imposes several microservices as a set. This set of microservices communicate with each other, without the requirement of any API layer for security purposes. In the second case of connectivity between microservice applications, the integrated tasks are removed upon the implementation of microservices. In this method APIs as well as gateway is added for managing connectivity. There are different technologies that are used for integration purposes such as SOAP, REST, XML-RPC. Simple Object Access Protocol (SOAP) is the method of replacing XML based information over the internet for rendering and utilizing web services. The SOAP-based data are transferred in the form of SOAP-envelope. It is a lightweight protocol used for exchanging messages within a decentralized distributed environment. It consists of three basic parts: (i) an envelope to describe the message and its processing, (ii) set of codes rules, and (iii) convention for describing remote method calls and replies (Fritzsch, Bogner, Wagner, & Zimmermann, 2019). Representational State Transfer (REST) is the URL representation of any object. In this case, JSON, XML, HTML format can be used for representing the information in REST. It focuses on two major things, that is, resources and interface. XML-RPC is a set of implementations that allow the functioning of software on this planet operating systems over the internet. It uses XML for encoding and decoding the remote calls (Kecskemeti et al, 2016).
Challenges in splitting the monolithic system and transitioning to microservices
When the "Whiteboard" company will split from the monolithic system to the microservice architecture, then it will experience both technical and organizational challenges. In context to technical challenges, the company is mostly acquainted with the old domain and it will takes a lot of time to get out of it. For this reason, the refactoring into the microservices should be conducted in small parts. Besides the technical challenges, it will also encounter organizational challenges that need to be addressed while splitting the monolithic architecture (Chowdhury, Salahuddin, Limam, & Boutaba, 2019). In some cases, there exists a risk where the exiting employee's skills and organizational structure does not support the new architecture. Thus, for developing a good application, the company strives to align the organizational structure towards the structure of application architecture (Balalaie et al., 2018).
The transition to microservice architecture can also have ethical, legal and security related issues. For instance, transforming into this new form of architecture might need to recruit new employees having specific system knowledge and terminate the outdated employees, and creates legal issues. Moreover, a completely new technology that rearchitects the entire system is often perceived as risky by the employees and creates ethical issues (Aderaldo et al, 2017). Lastly, microservices are not completely secure and thus, creates a risk of data hacking.
Conclusion
In summary, the present report has illustrated a detailed description on transitioning to microservices architecture. The article is based on a learning management system provider company "Whiteboard" which proposes to shift from monolithic architecture to microservice architecture for improving its flexibility and agility. In this context, the report has provided information on microservices architecture, along with examples of companies with the successful implementation of microservice architecture. Three major companies, Amazon, Walmart, and Netflix are mentioned in the report, which has successfully implemented the architecture and gained immense success thereafter. Currently, most of the businesses favours microservice because the system has potential to meet the specific business requirement in which it is installed. It is the ideal pattern of architecture in the present time where the world is becoming interconnected. Besides this, technologies such as SOAP, XML-RPC, and REST have mentioned for use in system integration. Furthermore, the potential challenges to be faced while transitioning from monolithic architecture to microservices architecture is also summarised in this report. Mostly, the company "Whiteboard" is expected to face technical and organizational issues with the new system of architecture. Migrating to microservices will provide a flexible solution to the learning management system. However, there will be an increased cost due to the initial transition of the system, which will be later compensated in the form of long-term return on investment. Thus, it is a wise decision for the company to shift its architecture, because the microservice architecture holds an over simplified routing characteristic, in which, upon receiving the request, the system processes it and gives the output, accordingly.
Recommendations
It is evident that microservices supports numerous devices and platforms which work with the internet of things (IoT), cloud service, mobile, and wearable devices (Pahl, & Jamshidi, 2016). However, according to the report of Balalaie, Heydarnoori, & Jamshidi (2016), companies are implementing microservice with a different protocols including JSON or HTTP/REST. It is highly necessary for the given company to safely and efficiently migrate to microservices by using the appropriate protocol. For this purpose, the company should split its core monolithic architecture into microservices with the help of talented and skillful exports (Fritzsch etal, 2019). This procedure will not put any break in its existing system functioning and simultaneously restructure the outdated software. For the successful splitting of the monolithic system, it is necessary to inspect the system and recognize where the problem arises. These points problem should be replaced with microservices. Furthermore, the company should divide the entire team into smaller groups and provide the autonomy of each microservice for better management (Bogner etal, 2019). The primary reason that it has been widely implemented in the modern organizational systems is that this architecture is specifically designed in accordance with business priorities and capabilities, and thus the company should use it efficiently.
Get guaranteed satisfaction or money back under MIS603 Microservices Architecture Assignment Help services of Expertsminds.com– order today new copy of this assignment!
Get our Torrens University Australia Assignment Help services for below mentioned courses like:-
- Professional Practice Assignment Help
- Systems Analysis and Design Assignment Help
- Business Process Management and Systems Assignment Help
- Data Modelling and Database Design Assignment Help
- Principles of Programming Assignment Help
- Foundations of Information Systems Assignment Help
- Business Communications Assignment Help
- Project Execution and Control Assignment Help
- Requirements Engineering Assignment Help
- Principles of Project Management Assignment Help
- Business Environment Assignment Help