Management Assignment On Adoption Of Microservices Approach At VideoDev
Task: VideoDev Ltd is a video and production development company which works for clients across Australia and New Zealand. The company is considering moving some of its computer infrastructure into the Cloud. The VideoDev Board is contemplating this move as a way to increase the company’s flexibility and responsiveness, as well as to achieve some savings on the cost of maintaining their ICT infrastructure.
VideoDev has engaged you as a consultant to advise them on the use of Cloud Computing in their daily operations. They have some 100 video production, engineering and support staff that work on different projects for clients in Australia and New Zealand.
You were recently engaged to advise on re-factoring their video processing application to use a microservices approach. The VideoDev Board is keen to start to move to this direction as it sees the possibilities that it will open up for VideoDev in the future. They have also decided to start planning to migrate their existing web services from their two on-premise data centres to a public cloud.
The company is considering the following strategic proposal:
- They plan to retain the Sydney data centre for data storage. This would entail updating their Active Directory and data storage infrastructure, and moving all other infrastructure into the Cloud.
- They plan to move all their Web Services into the Cloud in order to provide an increased responsiveness to customer demand as well as an enhanced level of HA (High Availability) in supplying data to their customers and staff.
- They are considering changing their current web software architecture to take advantage of the flexibility and scalability that can be gained by moving to a Microservices model (this would entail the use of such services as AWS Lambda or Azure Functions, Containers, Data Services, and Cloud Edge capability and monitoring).
The VideoDev Board is contemplating this strategy as a way to increase the company’s flexibility and responsiveness. The Board also expects to achieve significant savings on the cost of maintaining their ICT infrastructure by closing one of their existing data centres. They appreciate that this would entail retraining for their existing ICT staff so that they can manage the new Cloud based infrastructure.
You have also advised the VideoDev Board that their Threat and Risk Assessment (TRA) needs to be updated as a result of these architectural changes. The Board has asked you to update the TRA as a matter of urgency.
The Board is also concerned about how this strategy will affect their BCP (Business Continuity Plan) and their backup and disaster recovery strategies.
Your team has been engaged to provide a report for the VideoDev Board on their proposed strategy.
The team’s task is to prepare a report for VideoDev that discusses the following:
- Discuss briefly what you would recommend should be included in VideoDev’s BCP as a result of their adoption of a Microservices approach. You will need to consider, as a minimum, the issues of application resilience, backup and disaster recovery. This section should be no more than 2 pages. (10 marks)
- Discuss the requirements that VideoDev will need to consider in order to conduct remote administration, resource management and SLA management for its proposed MicroService approach. This section should be no more than two to three pages in length.
Moving to cloud computing in order to enhance the operational feasibility factor for recent businesses has been a major area of operation. The current management assignment depicts the planning and possibility of a company named VideoDev in terms of incorporating cloud computing. The organization has been planning to incorporate its web services in to cloud in order to improve efficiency and reduce operational costing. This report explains various recommendations which are required to be included under the organizational BCP for the adoption of a micro services approach. Factors such as remote administration, SLA management and resource management are analysed to initiate the proposed micro services approaches.
Recommendation for adoption of a Microservices approach in VideoDev’s BCP
Adoption of microservices approach at VideoDev's BCP can help the organization to establish better operational designs across its defined regions of progress. In order to simplify its adoption, a number of recommendations can be made. These recommendations are liable to enhance the operating possibility of the organization and improvise its services.
- Deciding and providing the degree of independence in terms of operational environment: This is a deciding factor for the organization in order to include microservices approaches. Since each of the services are completely independent and require a different form of operation, thus the operational liabilities linked to produce different functionalities are used. This enhanced degree of independence is quite favourable in ensuring required standard for data and resource management across the provided section (Li, Seco & Sánchez Rodríguez, 2019).
- Codebase organization: There are a number of ways through which codes can be organized to attain a better result as a whole. Availability of independent services and codebase for each of the operations provide a more detailed form of microservices management. It empowers the user to take decisions and perform the tasks based on their individual needs.
- Decision making for the technology stack: Deciding over the technology stack is one of the most crucial aspects for a application development. However, this process is required by each of the microservices, the operational and practical operations are largely heterogeneous (Wagner, 2019). A balanced approach is required to finalise the preference of technology stacks and its applications.
- Managing the operational complexity: The inclusion of microservices leads to a certain increase in the operational complexity. This operational complexity provides ideologies which lead to a very fundamental standpoint. However, each of the included section under this particular perspective is important and requires sufficient attention for management but there are some exclusive regions which require additional support for managing its services (Dragoni et al. 2017). Infrastructure, service discovery, load balancing and scaling and monitoring are the key sections which needs to be analysed in order to attain a better perspective.
- Continuity in delivery: In order to maintain a continuous delivery possibility, it is provided in this management assignment that organizations develop home-grown delivery pipelines. But since, this process is intense and vast, it requires a significant amount of resources to fulfil the required workflow. However, there are several other choices which can be used to incorporate continuous delivery in the microservices possibilities for the organization. These services are cost effective as well as provide a significant approach towards the long term usability index.
- Organizing teams: Team organization is another major factor related to the development and implementation of microservices in the selected organization. Availability of teams provide a surety that each microservice is working effectively and thus multiple microservices can be operated simultaneously. The availability of self-contained and independent teams can help in limiting the errors and are capable of improving the quality of operations at each microservice level. The overall development and operation of the system is based on its ability to perform diverse services in the provided set of time duration (Krivic et al. 2017). Various types of system based operations like product management, centralizing the Ops and platform teams are used to signify the operability factor across microservices management.
- Availability of strategic transformation to microservices from monolithic architecture: A significant amount of time and direction is required to make this transition from monolithic architecture to microservices. Moving towards a distributed source control system such as GitHub can provide individual teams with the required independence and freedom to operate thus improving the overall quality index. In addition to this, building new functionalities as microservices are another major sector that needs to be assessed in order to function effectively (Avritzer et al. 2018). These initiatives can provide the system with required amount of flexibility and resources which can be withheld to perform better approaches for incorporating microservices.
Requirements outlined in management assignment to conduct remote administration, resource management and SLA management for proposed MicroService approach
Remote administration is a major help in the current context of business management across the organizations. In order to conduct this possibility, a series of requirements are involved. These requirements are based on available set of opportunities and interaction possibilities between connected systems across a distant factor. Some of the major requirements related to remote administration are as follows:
- Module and drupal requirements
- Administrative language
- Continuous integration
- Version control system
A series of resources are required to facilitate development of a microservice approach. These resources are based on the operability and efficiency factors which are integrated across the defined sections. It can facilitate a more ideal form of generating valuable results for the process and that too in a limited duration of time (Villamizar et al. 2017). The overall operability index that is associated with these resources is linked to improved efficiency and effectiveness of the whole system. Some of the most crucial resources required for implementation of microservice approach are:
- Properly scoped functionality: The basic issue with a monolithic application mentioned in this management assignment is its differing functionality in terms of coding and their implementation. In order to make any change, a resource for ensuring continuous operations across the codes and their applicable limits. Partitioning of services based on logical lines of functionality is very helpful in driving the growth across a microservice approach.
- API presentation: An API presentation is the string which provides a communicative provision for each of the fragmented form of application under the microservice possibility. Since, the various aspects and segments require a cooperative service to talk to each other in order to perform combined operations; the usability of API is very high under these conditions (Wagner, 2019).
- Traffic management: The process of cloud based operations is directly related to integration and management of huge organizational processes. This creates large scale data traffics and makes the communication platform busy. Thus in order to facilitate an efficient and hassle free experience, different set of devices are designed and implemented which function to control data and communication traffic.
- Data offloading devices: The operations under a cloud system are liable to carryout huge transfers based on uploading and offloading of data. This process is carried out simultaneously based on the proposed requirements of the organizational structure. Thus in order to maintain this uploading and offloading of data, a set of data offloading devices are required (Li et al. 2019). These devices function according to the set standards and work independently along with other applications.
- Monitoring devices: The inclusion of microservices based cloud operations are based on complex coding and application topology. In addition to this, the operational increase in performance requires additional support in terms of analysis and interpretation. Thus the monitoring devices are required at each subsequent level to functionalize the operational framework related to this system and provide required set of advantages for the process.
Service level agreements are the contracts which help an API client to learn the quality of service characteristics under an API and its related operations. It helps the clients in achieving the desired level of services from its providers. The availability of service level agreements help in building a much more wide range of supporting services which are crucial for building a better relationship with the client and the service providers. Some of the general instructions included under the service level agreements include penalties, actions and credits for compensation and violation reporting for the misconducts (Baškarada, Nguyen & Koronios, 2018). In addition to this, factors for enhancing the services and operations are also included in the provided service level agreements as it provides recognition based standardized service offerings for each of the included clients. The overall usability factor linked to provide a service level agreement is based on guiding the entire process and accessing the usability factor for all the possible threats. There are sections which signify the operationalise form of service level agreements as these can be used to sustain the authorities and seek changes in the service contracts. The enhanced form of service level agreements is very crucial for guiding the performance factor for any service such as cloud management. It provides adequate provisions for securing the available rights and responsibilities for both the service acceptors and the providers.
In order to conclude the present study of management assignment, it can be said that there are huge opportunities based on the availability of cloud computing possibilities in an organizational structure like the VideoDev. The company can enhance its administration, operability and cost effectiveness through incorporation of these possibilities. Cloud computing can also lead to increased protection against factors such as application resilience, disaster recovery and backup. The management assignment includes each of the significant recommendation and provides a supportive ideology for including microservices approach along the system.
Avritzer, A., Ferme, V., Janes, A., Russo, B., Schulz, H., & van Hoorn, A. (2018, September). A Quantitative Approach for the Assessment of Microservice Architecture Deployment Alternatives by Automated Performance Testing. In European Conference on Software Architecture (pp. 159-174). Springer, Cham.
Baškarada, S., Nguyen, V., & Koronios, A. (2018). Architecting Microservices: Practical Opportunities and Challenges. Journal of Computer Information Systems, 1-9.
Dragoni, N., Lanese, I., Larsen, S. T., Mazzara, M., Mustafin, R., & Safina, L. (2017, June). Microservices: How to make your application scale. In International Andrei Ershov Memorial Conference on Perspectives of System Informatics (pp. 95-104). Springer, Cham.
Krivic, P., Skocir, P., Kusek, M., & Jezic, G. (2017, June). Microservices as agents in IoT systems. In KES International Symposium on Agent and Multi-Agent Systems: Technologies and Applications (pp. 22-31). Springer, Cham.
Li, S., Zhang, H., Jia, Z., Li, Z., Zhang, C., Li, J., ... & Shan, Z. (2019). A dataflow-driven approach to identifying microservices from monolithic applications. Journal of Systems and Software, 157, 110380.
Li, Z., Seco, D., & Sánchez Rodríguez, A. E. (2019). Management assignment Microservice-Oriented Platform for Internet of Big Data Analytics: A Proof of Concept. Sensors, 19(5), 1134.
Villamizar, M., Garcés, O., Ochoa, L., Castro, H., Salamanca, L., Verano, M., ... & Lang, M. (2017). Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures. Service Oriented Computing and Applications, 11(2), 233-247.
Wagner, S. (2019). From Monolith to Microservices: A Classification of Refactoring Approaches. In Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment: First International Workshop, DEVOPS 2018, Chateau de Villebrumier, France, March 5-6, 2018, Revised Selected Papers (Vol. 11350, p. 128). Springer.