08 Nov 2021 |
Research article |
Software Systems, Multimedia and Cybersecurity
A Structured DevOps Approach
On February 15, ÉTS introduced the Kaloom-Telus Industrial Research Chair in DevOps
Purchased on Istockphoto.com. Copyright.
The digital transformation in today’s society impacts every aspect of the systems currently being used and developed in industry, including telecommunications, healthcare, industry 4.0, smart mobility, and e-commerce. The complexity of this new generation of systems—developed around 5G, IoT, and cloud computing—brings a set of important new challenges, both from a technical and a business perspective. Success with the development of these systems means organizations must have the technical and business agility to adapt to constantly evolving environments to deliver solutions faster and better adapted to user needs and environments. As an example, one of the main challenges defined by the 5G PPP European initiative is to reduce the average service creation cycle from 90 hours to 90 minutes.
In the last decade, DevOpsDevOps is a set of practices that combines software development (Dev) and IT operations (Ops). has emerged as the prominent approach in increasing productivity and system quality in the software industry. It is a software engineering approach that aims for continuous improvement, both in products and processes, through a systematic approach. It advocates automation and monitoring at all stages of software development and operations, and aims for shorter development cycles, increased deployment frequency, and more reliable releases. Its adoption by industry leaders (e.g. Amazon, Facebook, Google, and Netflix) has resulted in spectacular growth. However, in spite of its obvious benefits, DevOps brings major challenges and many companies are struggling with its implementation and evolution. To achieve the DevOps vision, the process must be systematically and constantly measured and analyzed, and any modification made to the process needs to be monitored and evaluated to ensure that the improvement objectives are being met. Without the use of a systematic approach, continuous improvement constitutes an ad hoc journey and, as a result, DevOps and “agility” all too often means “improvisation”.
Applying DevOps to Software-Defined Systems
The problem addressed by the Kaloom-Telus Industrial Research Chair (IRC) in DevOps is the lack of systematic engineering support to put DevOps into practice in a scalable and sustainable manner. The objective is to develop technologies to support the implementation and continuous improvement of DevOps processes.
More specifically, the DevOps IRC will focus on the use of DevOps in the context of Software-Defined Systems (SDS), in particular Software-Defined Networks (SDN), Software-Defined Wide Area Network (SD-WAN), and Software-Defined Data Centers (SDDC). Until now, DevOps has mainly been used by organizations developing software in the web application/system domain. Very little research has been conducted and published on the use and adoption of DevOps in domains like embedded systems, IoT, and SDS.
We propose a holistic approach that takes into consideration the DevOps process—and the team developing the system—the tools supporting the process, and the product being developed. Our research program addresses both process and technology aspects. The process aspects focus on how engineers collaborate to develop and operate the product in the most effective way, and how tools and automation are used to support the different tasks. The technology aspects focus on identifying core technologies that are used to develop SDS products and evaluating their impact on the DevOps process, i.e. the impact of these technologies regarding the technical agility they provide to develop and deliver services and products faster—reduced timespan from conception to deployment—and more easily adapted to constantly evolving deployment environments.
Increased Competitiveness for Industry
Results of the DevOps IRC will provide processes, methods, and tools to capture, monitor, and analyze different aspects of DevOps processes to find issues, evaluate impacts of modifications based on specific improvement objectives, integrate new technologies and tools, and automatically generate different types of artifacts to make the process more efficient. This will allow organizations developing SDS reduce the creation time and increase the quality of new services, reduce the time required to fix defects in production, and reduce the cost (required effort) of software updates. Ultimately, it will allow organizations increase their technical and business agility.
The proposed research will advance excellence in the foundations and industrial use of DevOps for the development of next-generation systems based on SDS. Our contributions will be found primarily at the engineering level, as the research program mainly focuses on the development of processes, methods, and tools to improve industrial engineering. Moreover, the DevOps IRC will strongly contribute to the training of highly qualified personnel (HQP) in DevOps, a domain in great demand in the Canadian software industry. The research program will provide the knowledge and skills they need to become sought-after graduates and make valuable contributions to the Canadian industry.
Also, a major objective of this research program is to ensure technology transfer. To meet this objective, the research team will work closely with industry partners in all phases of the project. All students involved in the research program will have the opportunity to conduct their research project in collaboration with an industry partner.