2019 2nd International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT)
Devops, A New Approach To Cloud Development &
Testing Prashant Agrawal1, Neelam Rawat2 1,2 KIET Group of Institutions, Ghaziabad, India
Abstract: Organization’s proficiency to deliver services and
applications at high velocity requires competing effectively in Inconsistency across Dev and Ops environments. the market. The practices and tools for such management Time constraints for frequent releases. processes demands the quick and reliable model. Changes need Slow deployment between dev and test to start at the software engineering level when building environments, lowering productivity for applications in the cloud, so there is a need to automate our downstream teams. DevOps processes using cloud and non-cloud DevOps Difficulties managing multiple application automation tools. The aim of this paper is to move DevOps to Cloud and become more agile at software development and configurations and versions across servers. operations. In parallel, consideration of how to extend those Higher risk of errors due to increased manual DevOps process and automation into public and/or private interventions. clouds are the prime approach for this research. While Higher costs. investigating the emergence of DevOps, this paper paints it as a dramatic change in IT world for process improvement. Goal is to understand how the DevOps and Cloud work together to The suitable methodology to implement DevOps in help businesses achieve their transformation goals. cloud platforms at probable benefits over traditional IT implementation are defined through the steps Keywords: DevOps, Cloud Computing, Cloud Development, mentioned as in Figure 1. However, it’s not a cascade Cloud Testing, Agile. cycle where the phases are separated by boundaries. Nor are initiated when the previous one has ended I. INTRODUCTION completely.
To possess advantage of cloud platform, we need to design
application so that they are decoupled from physical resources. When we consider decoupled architecture Continuous Planning (CP) especially in cloud design for platform as a service and infrastructure as a service, perceive the efficiency of the development, deployment stages of an applicationsand Continuous Integration (CI) utilization of the underlying cloud resources. Cloud computing efficiency saves money. DevOps, a system of Continuous Testing (CT) thinking with a primary concern for developing, deploying, and operating high-quality software. If you consider development, deployment, and operations as a pipeline for Continuous Deployment (CD) your code to flow through, then DevOps is about looking at that pipeline from a holistic perspective. The goal of looking Continuous Feedback & Monitoring (CFM) at the pipeline holistically is to find ways to make it more efficient and produce higher quality products. This paper focuses on the set up of a cloud-based DevOps process and leverage services. Figure 2: DevOps Framework as defined set of cascade-less phases
The initial step for DevOps adoption in cloud is continuous
planning i.e., bring all developers, operational team members, testers and business analysts at some common platform to prepare and release the plan. Pipeline the requirements and understratum all resource budgetswith strong focus on common strategy that may be reflective to the business objectives for DevOps. Figure 1: DevOps Life Cycle Model In Continuous Integration (CI), Developer team has been Traditional software delivery methods can present addressed during DevOps lifecycle. Routine practice for significant challenges, including: integration process of developer’s code may detect the errors Methodology quickly and can avoid failure of builds. Selection of right tool that fit according to the requirements would be the main
challenge for CI. Combining the selected tool in effectual Integration of existing scripts way with different methodologies. Deployment metrics Continuous Testing (CT) considers one of the important Centralized tool orchestration that allows aspect of development that ensures the product quality elimination of overlapping, expensive tools while deploy to the end-user. DevOps process focuses on maintaining service levels automating all the types of testing and build the appropriate Major issues like understratum the requirements, state testing environment for the development scenarios. DevOps process, stating tools for development & testing Continuous Testing replaced this traditional testing process, more focus on automating testing, organizational mentioned in Figure 2. In the continuous process, the change & implementation. To overcome these issues, we occurrence of changes in software from development to propose a new approach of using DevOps in cloud testing to deployment is very frequent. So, development process is not the same as was in past where software development and testing. DevOps consider as a progressive handoff from one team to another and focus was on model with considerable success in IT world. By automating increasing revenues for the company.Continuous testing is a end-to-end delivery, pipelineCollaboration, monitoring, process of testing early, testing often, testing everywhere, tool-chain pipelines, automation and Cloud adoption are and automate. One of the challenge in CT is the leveraged by DevOps as a service to cloud applications. environment of heterogeneity, which will never reflect Large enterprises and start-ups align their development and actual production environment and application architecture. operations with the consultation of DevOps, so that high In this regard, it restricts the DevOps adoption efficiency, faster time to market and better quality of too.Therefore, we shouldn’t consider DevOps mere an software builds with early identification of emerging issues, implementation of a set of tools. letting the code be in a releasable state always, can be achieved.
Figure 3: Process of Continuous Testing
Continuous Deployment (CD): Continuous deployment
states that each change that occur, move through a pipeline of tests and if it qualifies/ passes all tests, it automatically get deployed for in the production process. By that approach, software quality completely depends on the quality to test cases and suites because everything is automated in the whole procedure of deployment. The major advantage of CD is reduce lead time i.e., the time elapsed between requirement identification and its fulfilment.
Figure 5: DevOps As A Service
Linkage between DevOps and Cloud Computing can be
defined as to combine the centralization ability of Cloud Computing that may provide automation of DevOps as testing, production and deployment in centralized platform. When DevOps automation will become cloud-centric, most Figure 4: Process of Continuous Deployment of the cloud computing either public or private supports DevOps systematically on the platform including the Continuous Deployment followed by Continuous Delivery, process of tools for Continuous Integration and Continuous which means software should always be release-ready. Development. In addition, through tight integration, the cost lowers down for DevOps automation technologyand Deployment Automation and Orchestration services include: associate central governance with soft control on DevOps Faster, Error-free and Automated Deployment process. Unique agentless architecture development DevOps Evolution that process Cloud Development & Continuous deployment in single click Testing: Deploying in all environments with Single-tool 1. Technology stack normalization: Initial step towards DevOps evolution.Adopt true agile methodology and implement proper version control so that continuous integration and delivery should be provided. Stack will be normalized when redundant technologies are eliminated i.e. there should be a standard set of technologies in version control for practitioners. 2. Variability Standardize: Development and Operation teams ensure the technology for further consolidation to single OS or OS family. Process complexity and variability should be reduced with collaboration opportunities exploration. Redesign the system configurations in version control and application to fit business needs. 3. DevOps practices expansion: This phase is to remove the discrepancies created by previous changes and all foundational pieces should be in place. For instance, outcomes from the team of application development should ensure the delivery for true effectiveness. 4. Infrastructure delivery automation: At this stage, discrepancies related to development outputs and operations delivery times are omitted. Security and system configurations are automated after that in such a way it means DevOps team can deliver Figure 6: Hype cycle for DevOps applications services. faster and is better set-up for future as in service. 5. Self-service capabilities: Provision of DevOps III. DISCUSSION deployment at this stage Testing environment are deployed by the developers and then success Adopting new paths for development and operations at the metrics would be shown and visible to the entire same time seems to be difficult from the implementation team. end, so need a guidance to handle such DevOps as a service to cloud applications. Unit, system, acceptance and II. RESULTS regression test automation are the main automation expertise that may further promote continuous integration, continuous Development to operations lifecycle involves delivery, continuous deployment and continuous industrialization, automation and connecting the complete monitoring. process of infrastructure, application and business changes. Since the introduction of DevOps in 2009 it evolved from IV. CONCLUSION the niche to integral part of the IT strategy. Its adoption rate was huge because of the immediate and quickly value To adopt DevOps methodologies for pilot projects with realization and how it can change business world by Cloud Computing proves to be a great success in terms of improving quality of the services and products.According to the following ways: a study it was shown that 80% of the outages are because of Acceleration of Innovation: Applications can be the ill planned changes which are due to developers or developed and deployed rapidly with integrated administrators. operations and development teams. DevOps engineers can easily grasp impact of DevOps can help in these changes in order to get real value application changes. Software fixers are of the planning. If DevOps is applied correctly to the comparatively faster. organizations, it can help improve the stability of the IT and Improve Collaboration: DevOps with cloud overall impact of the business. DevOps is mainly focused o projects continuously emphasizes on the overall the main 4 value propositions which are agility, quality, achievement by building the bridge to make the innovation and outages. DevOps can increase agility by work more efficient. enabling the changes of instant deployment, improve the quality in order to enhance end user satisfaction, innovative Increase Efficiency: For DevOps best practices, the improvements in order to enhance innovation cycle and main key elements are standardized production and finally it helps in reduction of outages by 80%. automated tools. DevOps also offers scalable infrastructure to cloud while speed testing and deployment processes. Reduce Failures: DevOps approach promotes more frequent code releases as both development and operation cycles are associated with this approach [14] Bruneo, D., Fritz, T., Keidar-Barner, S., Leitner, P., Longo, F., Marquezan, C., Metzger, A., Pohl, K., Puliafito, A., Raz, D. and in cloud platform. Roth, A., 2014, June. CloudWave: Where adaptive cloud Accelerate Recovery Time: Deployment of management meets DevOps. In 2014 IEEE Symposium on DevOps are generally isolated and targeted, so bugs Computers and Communications (ISCC) (pp. 1-6). IEEE. are easier to spot and in turn easier to fix and [15] Mullaguru, S.N., 2015. Changing Scenario of Testing Paradigms Using DevOps–A Comparative Study with Classical implement further. Models. Global Journal of Computer Science and Technology. Enhance Job Satisfaction: DevOps promote [16] Ebert, C., Gallardo, G., Hernantes, J. and Serrano, N., 2016. performance bases environment, which reduces the DevOps. Ieee Software, 33(3), pp.94-100. bureaucratic obstacles and fosters sharing of risks. [17] Weber, I., Nepal, S. and Zhu, L., 2016. Developing dependable and secure cloud applications. IEEE Internet Computing, 20(3), pp.74-79. [18] Wettinger, J., Breitenbücher, U. and Leymann, F., 2014, DevOps with cloud computing projects focuses on September. Devopslang–bridging the gap between development speed-to-delivery of application development so that and operations. In European Conference on Service-Oriented and business needs meet faster with lowering the cost of Cloud Computing (pp. 108-122). Springer, Berlin, Heidelberg. [19] Rajkumar, M., Pole, A.K., Adige, V.S. and Mahanta, P., 2016, development, operations, testing and deployment. April. DevOps culture and its impact on cloud delivery and software development. In 2016 International Conference on REFERENCES Advances in Computing, Communication, & Automation (ICACCA)(Spring) (pp. 1-6). IEEE. [1] Soni, M., 2015, November. End to end automation on cloud with [20] Jabbari, R., bin Ali, N., Petersen, K. and Tanveer, B., 2016, May. build pipeline: the case for DevOps in insurance industry, What is devops?: A systematic mapping study on definitions and continuous integration, continuous testing, and continuous practices. In Proceedings of the Scientific Workshop Proceedings delivery. In 2015 IEEE International Conference on Cloud of XP2016 (p. 12). ACM. Computing in Emerging Markets (CCEM) (pp. 85-89). IEEE. [2] Hummer, W., Muthusamy, V., Rausch, T., Dube, P., El Maghraoui, K., Murthi, A. and Oum, P., 2019, June. Modelops: Cloud-based lifecycle management for reliable and trusted ai. In 2019 IEEE International Conference on Cloud Engineering (IC2E) (pp. 113-120). IEEE. [3] Pietrantuono, R., Bertolino, A., De Angelis, G., Miranda, B. and Russo, S., 2019, May. Towards continuous software reliability testing in DevOps. In Proceedings of the 14th International Workshop on Automation of Software Test (pp. 21-27). IEEE Press. [4] Erich, F., 2018, March. DevOps is Simply Interaction Between Development and Operations. In International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment(pp. 89- 99). Springer, Cham. [5] Ghantous, G.B. and Gill, A.Q., 2018, July. DevOps Reference Architecture for Multi-cloud IOT Applications. In 2018 IEEE 20th Conference on Business Informatics (CBI) (Vol. 1, pp. 158-167). IEEE. [6] Trihinas, D., Tryfonos, A., Dikaiakos, M.D. and Pallis, G., 2018. Devops as a service: Pushing the boundaries of microservice adoption. IEEE Internet Computing, 22(3), pp.65-71. [7] Jones, C., 2018, March. A Proposal for Integrating DevOps into Software Engineering Curricula. In International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment(pp. 33- 47). Springer, Cham. [8] Poth, A., Werner, M. and Lei, X., 2018, September. How to Deliver Faster with CI/CD Integrated Testing Services?. In European Conference on Software Process Improvement (pp. 401-409). Springer, Cham. [9] Raj, G., Mahajan, M. and Singh, D., 2018, June. Security Testing for Monitoring Web Service using Cloud. In 2018 International Conference on Advances in Computing and Communication Engineering (ICACCE) (pp. 316-321). IEEE. [10] Weber, I., Nepal, S. and Zhu, L., 2016. Developing dependable and secure cloud applications. IEEE Internet Computing, 20(3), pp.74-79. [11] Younas, M., Jawawi, D.N., Ghani, I., Fries, T. and Kazmi, R., 2018. Agile development in the cloud computing environment: A systematic review. Information and Software Technology, 103, pp.142-158. [12] Zimmerer, P., 2018, May. Strategy for continuous testing in iDevOps. In 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion) (pp. 532- 533). IEEE. [13] Airaj, M., 2017. Enable cloud DevOps approach for industry and higher education. Concurrency and Computation: Practice and Experience, 29(5), p.e3937.