Figure 3 - uploaded by Christof Ebert
Content may be subject to copyright.
Continuous integration and continuous deployment (CI/CD) toolchain used by Netflix

Continuous integration and continuous deployment (CI/CD) toolchain used by Netflix

Source publication
Article
Full-text available
DevOps connects development, delivery, and operations and, thus, facilitates a fluid collaboration of these traditionally separated silos. As an agile method, DevOps is today used across industries and is not limited anymore to IT services and specific technologies. Lorin Hochstein and I present a brief overview on DevOps best practice. A Netflix c...

Context in source publication

Context 1
... delivery • operations Figure 3 depicts the CI/CD tooling that Netflix engineers use to go from source code to production. In particular, Netflix has separate tooling for doing continuous integration and continuous delivery. ...

Citations

Conference Paper
The fast adoption of collaborative software development by the industry allied with the demand for a short time to market has led to a dramatic change in IT roles. New practices, tools, and environments are available to support professionals in their day-to-day activities. In this context, the demand for software engineers with these skills continues to increase, specifically those related to Extreme Programming, Agile frameworks, CI/CD, and DevOps. To match Computer Science undergraduate students' skills with existing job offers, some universities have begun to include DevOps topics in their curriculums. However, due to the wide range of courses covered in Computer Science majors, it is particularly challenging to introduce DevOps within the context of Software Engineering fundamentals, i.e., connect abstract concepts to skills needed for software engineers in the industry. This paper investigates ways of introducing Computer Science students to industry-relevant practices and technologies early from two Software Engineering fundamentals courses. Student outcomes were extremely positive, providing insights into ways to introduce students to DevOps-related practices and technologies and bridge the gap between academia and industry.
Chapter
This case study presents an overview of the automotive IT domain and discusses potential technology strategies for the future. With the advent of connected and autonomous driving, many questions arise regarding the evolution of software, electrical/electronic systems, and IT. This case study explores the role which long-established and future IT architectures can play. Which technological trends are driving change in today’s automotive IT architectures? How can solutions be found, and which issues need to be considered? How can technological considerations be integrated with strategic aspects, and which factors are worthy of attention? To answer these questions and provide an insight into the complex world of automotive IT, this case study provides a brief overview of the state of the art and the technology landscape.
Article
Full-text available
Continuous integration and continuous delivery (CI/CD) automate software integration and reduce repetitive engineering work. While the use of CI/CD presents efficiency gains, in database application development, this potential has not been fully exploited. We explore the state of the art in this area, with a focus on current practices, common software tools, challenges, and preconditions that apply to database applications. The work is grounded in a synoptic literature review and contributes a novel generic CI/CD pipeline for database system application development. Our generic pipeline was tailored to three industrial development use cases in which we measured the benefits of integration and deployment automation. The measurements demonstrate clearly that introducing CI/CD had significant benefits. It reduced the number of failed deployments, improved their stability, and increased the number of deployments. Interviews with the developers before and after the implementation of the CI/CD show that the pipeline brings clear benefits to the development team (i.e., a reduced cognitive load). These findings put current database release practices driven by business expectations, such as fixed release windows, in question.
Article
Full-text available
The significant success of the Internet of Things in facilitating connections among consumer devices has led to an evident inclination towards connecting devices within industrial environments, commonly known as the Industrial Internet of Things (IIoT). Meanwhile, the integration of DevOps and DevSecOps into Industry 5.0 is generating much interest in both industry and academia, and its adoption in practice is raising a lot of challenges. This study aims to organize the knowledge about the challenges encountered by the Industry and practitioners when adopting DevOps and DevSecOps in the Industry 5.0 environment, as well as suggested practices documented in the literature.We also identify the security challenges related to data integrity, confidentiality, and availability of Industrial IoT data. We conducted a Systematic Mapping Review of more than a thousand papers and focused on 57 peerreviewed studies published between January 2019 and March 2024. We have identified challenges and benefits associated with adopting DevOps and DevSecOps in Industry 5.0. We have also identified specific security solutions, particularly in the Industrial Internet of Things (IIoT), as well as the correlation between these findings. The study results were classified into organizational, technical, and regulatory. The findings show that the most frequently reported challenges and solutions were related to technical. Although organizational factors were considered critical for successfully adopting DevOps and DevSecOps in Industry 5.0, they required more investigation. Our study offers a comprehensive analysis of the research to secure the industrial Internet of Things, discusses their applicability, and analyzes their security benefits by integrating DevOps and DevSecOps in Industry 4.0.
Article
Full-text available
Digital transformation is advancing across industries, enabling products, processes, and business models that change the way we communicate, interact, and live. It radically influences the evolution of existing systems of systems (SoSs), such as mobility systems, production systems, energy systems, or cities, that have grown over a long time. In this article, we discuss what this means for the future of software engineering based on the results of a research project called DynaSoS. We present the data collection methods we applied, including interviews, a literature review, and workshops. As one contribution, we propose a classification scheme for deriving and structuring research challenges and directions. The scheme comprises two dimensions: scope and characteristics. The scope motivates and structures the trend toward an increasingly connected world. The characteristics enhance and adapt established SoS characteristics in order to include novel aspects and to better align them with the structuring of research into different research areas or communities. As a second contribution, we present research challenges using the classification scheme. We have observed that a scheme puts research challenges into context, which is needed for interpreting them. Accordingly, we conclude that our proposals contribute to a common understanding and vision for engineering dynamic SoS.
Conference Paper
Scientific publication process automation is revolutionizing the traditional publishing landscape by decoupling various tasks, much like the software development model of Continuous Integration and Continuous Deployment (CI/CD). This approach leverages automation to streamline critical aspects of publishing, from manuscript preparation to distribution. It is transforming the way how authors, editors, and publishers collaborate in the scholarly communication process. Automation in publishing incorporates technologies like LATEX for formatting and CI/CD principles to create a seamless, efficient workflow. This abstract explores the possibilities and benefits of implementing automation in the scientific publication process, highlighting its potential to enhance efficiency and quality.
Article
Increasingly complex software systems grow technical debt and life-cycle cost, while decreasing productivity and eroding quality. For instance, cybersecurity risks correlate with complexity due to losing control of changes. Software quality analysis (SQA) checks different dimensions of quality and helps to improve. Overwhelmed by huge reports and tons of false positives, these static analysis tools need experienced tailoring and mentoring. We will show here how to set up an automatic SQA that is more than just a report generator. Practitioner guidance and case studies are shared from our industry projects. I look forward to hearing from you about this column and the technologies that matter most for your work.
Conference Paper
Full-text available
Containers are core building blocks for creating applications based on the microservice paradigm. However, assessing their security is complex, especially when deployed in distributed and heterogeneous scenarios. Moreover, developers and IT operators should only focus on integration and delivery processes without dealing with tasks to guarantee securing requirements. To overcome such issues, in this paper, we introduce the ideas at the basis of Project SecCo (Securing Containers), i.e., an architecture for extending and improving current security assessment methodologies into the continuous integration and continuous delivery DevOps pipeline. To this end, SecCo proposes a framework able to orchestrate new automatic security services to prevent and reduce security vulnera-bilities in the design, implementation, and deployment phases, and to identify and mitigate, at runtime, attempts to exploit them. The paper also showcases the main research challenges to be addressed for pursuing the vision of SecCo.
Chapter
Change is an inevitable part of any business. Customer satisfaction and building good will is the primary goal. The real success lies in the above two factors rather than money. Different businesses operate in different ways. Each one focuses on a different set of criteria and thus follows a different set of models. There are various models in the software development life cycle, such as the waterfall model, spiral model, V-model, and so on. These models have advantages and disadvantages and aid in the improvement of a company's workforce. They overcome the disadvantages of the previous model with each model. DevOps is the most recent model that is widely used. This chapter deals with DevOps, including the need, working, and how it differs from other models. This also looks into how intelligent techniques can be used to enhance the DevOps process for better productivity in the businesses (i.e., AIOps). It summarizes the different phases in DevOps, the corresponding machine learning or artificial algorithms that can be applied in the phases.