Microservices Architecture Assignment: Case Analysis of Greer John Wealth Management
You are required to research on microservices architecture assignment and write a 2500-word individual report in response to a case scenario. This assessment offers you an opportunity to apply the knowledge you gained about microservices architecture in Part A. You are required to use the case as context to write a report for both business and IT stakeholders explaining the advantages and disadvantages of microservices architecture and the benefits it can offer an organisation. You will need to demonstrate your ability to identify business priorities and relate relevant advantages to complex business needs through the strategy you recommend.
This assessment gives you an opportunity to demonstrate your understanding of microservices architecture and your capability to explain complex technology concepts in terms that a non-IT business leader can understand. This prepares you professionally for several roles that ‘build a bridge’ between IT and business leaders.
1. Carefully read the case scenario of Greer John Wealth Management to understand the concepts.
2. Review your subject notes to establish the relevant area of investigation that applies to the case. Re-read any relevant readings that have been recommended in the case area in modules. Perform additional research in the area of investigation and select 10 additional sources that will add value to your report in the relevant area of investigation.
3. Plan how you will structure your ideas for your report and write a report plan before you start writing.
The concept of micro service architecture explored in the present context of microservices architecture assignment refers to the style of architecture, which helps in structuring the application as the collection of services that is highly testable and maintainable, and is loosely coupled. This architecture style is independently deployable and is organized as per the business capabilities. As opined by Sampaio et al., (2019), the main idea of the micro service architecture is the applications that are made simpler for building as well as maintaining when these are broken into fragments that seamlessly work together. However, these modules communicate with each other with a simple, universally acceptable, and accessible API (Application Programming Interface). Hence, this micro service architecture style enables the frequent, reliable, and rapid delivery of complex and large applications that helps the organization (small or big) to evolve with its technological stack.
Thus, the present study focuses on the concept of micro services mainly highlighting the case study provided about the Greer John Wealth Management. The study mentions the benefits that the company will incur after transforming from monolithic architecture to micro services architecture. The discussion of the key elements regarding the service design and the definition of DevOps along with its test processes as well as typical builds that are required for the company to implement is also determined within the study. However, this present study will help the readers to gain information about the concept of micro service architecture, which assists both the small and large business organization to develop their technological and innovation skills, and the way it builds a bridge between the business leaders and IT concept.
Main body of the report
1. The specific benefits that Greer John Wealth Management will incur after transitioning from the monolithic architecture towards micro service style The Greer John Wealth Management (GJWM)is the mature organization that has the strong investment base of the customers who trust the company’s investment portfolios. However, the current system of production within the company utilizes the solution of monolithic software as the core platform for managing the accounts of its customers and the investment. Thus, as expressed by Go?tz Benjamin et al., (2018), the monolithic production system incurs certain drawbacks like lack of scalability and flexibility along with preventing the direct communication among the network nodes that are fundamental and faces the challenge of the highly personalized mass production. The global megatrends like globalization, urbanization, change in demographics, population growth as well as sustainable development provide a great impact upon the business enterprises that lead to the paradigm change in the entire production process. Thus brings about the revolutionary changes within the energy and consumption of the materials, capital and staff circulation along with the demands of the movement to the other markets. However, as the time is approaching GJWM will face challenges in addressing the demands of the market as the with the development of the market there will be a need for highly individualized products or services whereas for the emerging market the products are needed to be adapted for the regional requirements that include the cost, design, and functionality. Thus, this is leading to the increase of complexity for the organization within the market, along with the increase in the service variants and however, the quantities for per service, as well as variants, are going to be decreased.
Thus, the executive team of the company are now understanding the needs for seeking out the new ways in meeting the needs of the customers and thus, are in the urge of investigating the digital strategy which will allow the company to get incrementally and steadily changed from the old platform to the new one. As stated by Thones(2015), it is difficult for companies in order to make any functional changes within their application and they need to deploy this application towards the cloud for which the proposed solution of these issues is the implementation of Micro services or the SOA (service-oriented architecture). This is the idea evolved in starting up to split the application into the smaller components that cooperates and runs out of the process along with cooperating with each other. These applications could be maintained and scaled separately and if the company is no more in need of this, they can dismantle it. Moreover, the company could enjoy the independent service in terms of the development or the deployment of micro services and can be built up by the small developers’ team.
The application will be loosely coupled and it could be developed by the utilization of the different programming languages. The micro services facilitate the company as it is easy and flexible for integrating the automatic deployment along with the continuous tools for integration and this will make the productivity of the new team members much more quickly than the traditional ways. Furthermore, the micro service applications will allow the GJWM for taking advantage of the latest and emerging technology such as programming language and practice along with the framework, and hence, it is an easy fir scaling that is based on the demand. As observed by SriramaAdhikari& Paul, (2020), the micro service application could bring significant benefits through the development, designing, realization, along with the testing of the services having great agility and are deployed with Virtual machines that make the system much more reliable as well as increase the parallelism among the requested micro services. Thus, the company GJWM should transform its monolithic architecture towards the micro service-based application within the cloud operating system. This will not only help in meeting the parameters of the service quality, the company could acquire significant attention from the customers who are in search of more advanced innovation and technology as well, which would help them to create brand recognition as well as profitability within the domestic and global market.
2. Key elements of the service design
a. Considerations undertaken by splitting the monolithic system into the future micro service
The micro service architecture is becoming more and more popular and the developers like the GJWM company are intended to transform the traditional monolithic architecture into the service-based application or micro service architecture. Thus, for deploying the micro service application within the clouds, apart from the resource demands for each of the services, the demand of the traffic among the collaborative services are very much crucial for the overall performance (Yang et al., 2019). However, there are more considerations required to be undertaken for splitting the monolithic system to micro service such as:
Keeping the communication among the services with the Restful API needs to be adopted for the system. The communication protocol among the services needs to be simple only in the time of transmitting the data without transforming it. Thus, it will happen within the endpoint themselves as they will receive the request, process it along with emitting the response in return.
Unlike the monolith structure, the company needs to divide its data structure into several small databases where the services will be decoupled like the invoice, billing, customer information will have certain independent tables or columns so that it can be accessed even if the ordering system is down. Hence, each of the services needs to end up having its personal data store for persisting the data it requires.
The company needs to design the micro service application for the failures, as the monolithic architecture can incur multiple failures, which are needed to be catered, and the company requires to take into account the service which are not responding as well as to deal with the processes of slower network responses. Hence, the company requires extracting the capabilities out of the monolithic system with building applications, for addressing the failure.
As expressed by Li et al., (2019), the development of the data-driven approach is needed to transition from monolithic to micro service systems. This proposed mechanism will help the GJWH Company with cohesion and sound coupling. Thus, it is easy for operation as well as rigorous and with automatic support. Thus, the proposal of a data-driven mechanism will help in addressing the challenges of building the micro service-based systems. However, the monitoring of these micro services should be emphasized that makes it easy for the operation of the service-oriented application.
b. Benefits incurred from the service modeling
The concept of software service modeling in micro service has hyped within the GJWM organization which has helped in reaching the massive peak for the inflated expectation. Thus, there are specific benefits associated with the service modeling such as,
? Reduction of time for benefit: It is different from the traditional monolithic model, as within the service modeling the applications are already configured as well as installed. Hence, it would help the company to provision the servers within the cloud operating system and within a couple of hours, the company will have the application which is ready for use. These help in reducing the time spent on configuration and installation and also reduces the issue that could get within the way of developing the software.
Cost reduction: The service modeling has the differential as regards to the cost as it usually resides within the multi-tenant or shared environment in which the software and hardware license costs are very much low as compared to the traditional monolithic model. The cost of maintenance is low as well as the service modeling owns the environment along with splitting among all of the customers for the use of the solution. Moreover, it increases the base of the customer by allowing the company to use the micro services software, which can get affected by the high license cost.
Quality: As stated by Zheng et al., (2019), the service modeling has become the most prevalent way for software delivery and it allows companies like GJWM toimplement the micro service architecture style and the lightweight container, which is directly connected to the service modeling and facilitates its efficient development. Thus, service modeling has helped the company meet the quality of service constraints.
Integration and scalability: The service modeling resided within the cloud environment, which is scalable as well as have the integration with the other service-modeling offering. Thus, the customer now does not have to buy other Software; instead, they need to enable the service modeling offering of micro services for the planning of server capacity.
3. Defining DevOps and the typical test and build processes needed for GJWM for implementing it
The DevOps refers to the combination of the cultural philosophies, tools, and practices which helps in increasing the ability of the companies for delivering the services and application at the higher velocity as well as improving and evolving the products at the faster speed than the companies who are utilizing the traditional software infrastructure and development management procedures. As viewed by Lewerentz et al., (2019), the application of the DevOps practices should be done for the operation phase of the fusion machines. However, there are certain benefits caused by the implementation of this application such as guaranteeing the higher quality along with efficiency and reliability along with the achievement of the short development.
The DevOps are designed for the steady state of operation that involves the system of complex techniques for coping up with the complexity and thus, it is the component-based control, as well as data acquisition system, are developed. Thus, it is the practice of engineering software and is the term for the compound of operations and development that aims for the shorter cycle of development but the quality of the changed system within the operation stays at a very high level which is achieved by the use of the highly automated chain of tools. Hence, this is the operation and development collaboration, union of processes, working product, and people, which enable the continuous integration and the delivery of the value to the customers with high quality and high velocity. However, with the companies like GJWH needs to incur certain processes for implementation of the DevOps within their operations such as:
Preparing the cultural shift as it works as the backbone of the DevOps practice that will help in changing the culture of the company and thus, it needs to ensure that the developers and the operating personnel are aware of the values that are brought to the company prior to bridging together within the cross-functional teams.
As opined by Laukkarinen et al., (2018), the DevOps and the regulated software development should be implemented together so that it will make it easier for the developers for developing the regulated software along with the practice and tools that they are familiar with. Moreover, this allows the regulatory authorities for building up the confidence on the solutions that are provided by the manufactures in order to define the mapping between the regulatory software and the DevOps.
The creation of continuous integration along with the continuous platform for delivery is needed for providing the developer with accurate and updated information regarding the production environment in order to plan appropriate deployment. As argued by Sampaio et al., (2019), the complex apps can contain thousands of micro services, which makes the complicating ability for the DevOps engineers for reasoning about as well as automatically optimizing the deployment. Thus, the developers need to focus upon the coordinated Build and Run approach so that the developer can assess the complexities within the application and owns the building of the services.
Creation of the continuous testing environment, the establishment of the system that involves continuous deployment along with making the utilization of the green and blue deployment is needed for implementing the DevOps that is needed to be continuously monitored for its performance. Thus, as stated by Farcic, (2018), this DevOps system helps in getting deeper into the management and operations, and successfully builds on both the self-healing and self-adaptive systems.
The present study focuses on the concept of micro services, with a focus on the case study of Greer John Wealth Management Company, who are using the traditional monolithic architecture as the core platforms for managing customer accounts as well as investments and investment portfolios and have been enjoying the leading position since 2000. However, the company had to face several factors, which made it clear for the executive leadership team to change their operations, and management into the micro services architecture with the rapid growth of technology and innovation and for the demand of the customers for meeting their expectation with advancement in the digital platforms and the changes in the wealth management. Gradually the study thus mentions the specific benefits that are incurred by the Greer John Wealth Management Company after the transition of their operating system from the monolithic architecture to the micro service style. The key elements for the service design is also described within the study that includes the needs of consideration while the company is splitting the traditional monolithic system into the futuristic micro services along with the benefits gained by the company from the service modeling. Furthermore, the study also defines the concept of DevOps along with the typical test and builds princesses that are required for the Greer John Wealth management company for implementing the futuristic concept.
Farcic, V. (2018). The devops 2.2 toolkit : self-sufficient docker clusters. Packt Publishing.
Gotz Benjamin, Schel, D., Bauer, D., Henkel, C., Einberger, P., &Bauernhansl, T. (2018). Challenges of production micro services.ProcediaCirp, 67, 167–172
Laukkarinen, T., Kuusinen, K., &Mikkonen, T. (2018). Regulated software meets devops. Information and Software Technology, 97, 176–178
Lewerentz, M., Bluhm, T., Daher, R., Dumke, S., Grahl, M., Grün, M., … Werner, A. (2019). Implementing devops practices at the control and data acquisition system of an experimental fusion device. Fusion Engineering and Design, 146, 40–45
Li, S., Zhang, H., Jia, Z., Li, Z., Zhang, C., Li, J., … Shan, Z. (2019).A dataflow-driven approach to identifying micro services from monolithic applications. Microservices architecture assignmentThe Journal of Systems & Software, 157
Sampaio, A. R., Rubin, J., Beschastnikh, I., & Rosa, N. S. (2019).Improving micro service-based applications with runtime placement adaptation. Journal of Internet Services and Applications, 10(1), 1–30
Srirama, S. N., Adhikari, M., & Paul, S. (2020). Application deployment using containers with auto-scaling for micro services in cloud environment. Journal of Network and Computer Applications, 160
Thones, J. (2015). Micro services.Ieee Software, 32(1), 116–116
Yang, H., Cees, de L., &Zhiming, Z. (2019).Optimizing service placement for micro service architecture in clouds. Applied Sciences, 9(21)
Zheng, T., Zheng, X., Zhang, Y., Deng, Y., Dong, E. X., Zhang, R., & Liu, X. (2019).Smartvm: a sla-aware micro service deployment framework. World Wide Web : Internet and Web Information Systems, 22(1), 275–293