5 CI / CD challenges — and how to solve them
Although the practice of CI / CD (or continuous integration, continuous delivery and continuous deployment) is not new, the means of implementing it continue to evolve with the native cloud architecture, site reliability engineering. and DevOps. As challenges arise with CI / CD maturity, businesses can learn from past mistakes and industry expertise. These challenges come from all vectors of software delivery, from risk / compliance and oversight to data management and team collaboration.
To learn more about common challenges and potential solutions to enable CI / CD, I asked several SKILup Day speakers and subject matter experts for their perspectives. Here is what they had to say.
1. Avoid service performance issues by strengthening deployments and delivery teams
CI / CD is the common software engineering practice associated with enabling development and operations teams to deliver applications and services faster by injecting automation techniques into the software development lifecycle. CI / CD helps address the challenges associated with integrating new code more frequently and seamlessly across teams.
For engineering teams, a big challenge for CI / CD today is to deliver their work without degrading performance or quality of service. Every deployment comes with a risk, and organizations need effective ways to control and reduce those risks. Red flags to watch out for include high change failure rates and a risk averse attitude towards managing or assuming CI / CD responsibilities.
Tiffany Jachja, Engineering Manager at Vox Media, said: “The success of CI / CD depends on the enhanced practices of developers and engineers. incidents. “
“Contributors to deployment risk can involve inadequate testing, inadequate solutions for configuration management, non-repeatable environments, and environments that are not well defined, controlled or maintained. “
2. Merge the automation islands
The end-to-end delivery process involves too much of what Anders Wallgren, vice president of technology strategy at CloudBees, calls “islands of automation.” “CI processes can be highly automated,” he said, “but then manual work is required before CI artifacts are available in a test environment. Or manual testing is required before software can be promoted out of a test environment.
“Whenever we have disruptions in automation, there are opportunities for errors, delays and a general lack of traceability. “
In many organizations, software delivery teams suffer from one form or another of manual processes between automated processes. This is often where the cracks in the CI / CD process appear. One solution to this problem is to introduce orchestration throughout the software development lifecycle, so teams can be free to scale and focus on continuous improvement actions rather than filling gaps.
3. Get obsessed with data
Simply put, if yours isn’t a data-driven organization, it probably loses out to one that is. Breaking down data silos is at least as important as bridging automation or process silos. The CI / CD pipeline, for example, must be built with the accessibility of information in mind to help people make informed decisions based on data pulled from many different systems.
Unfortunately, said Grant Fritchey, DevOps Advocate at Redgate Software, “I’ve seen time and time again that data is the big challenge for DevOps implementations. Data can be so difficult to manage that many organizations will simply ignore it as part of their CI / CD pipeline. However, with discipline and tools, you can implement the data as part of the entire pipeline, from the developer’s laptop to the entire CI / CD process.
“Taking the data into account from square one results in a much more successful overall process. “
4. Considerations for Platform Engineering Practices
When it comes to platform engineering, you need to find the lowest common denominator between the teams. As Harness Evangelist Ravi Lachhman noted, “Platform engineering teams must support hundreds of services and a myriad of technological choices and architectures. Understanding what is normal is a challenge in itself.
For example, new engineers need to know whether a deployment was successful or introduced regression. The ability to aggregate and disseminate information for business systems that contain information such as application performance monitoring / observability technology is essential, Lachhman said.
“Providing engineers with access to these systems or establishing a dashboard of feedback from these systems based on judgment is an emerging practice. “
Vishnu Vasudevan, Head of Engineering and Product Management at Opsera, explained that “Modern CI / CD requires flexibility and full control over CI / CD tools and processes for development and development teams. ‘exploitation. We need to allow teams to build the pipeline without worrying about the integrations involved.
“Teams need to have a 360-degree view around pipelines and be able to reuse them across any technology, platform or service. “
5. Over-communicate and find ways to connect humans, not just machines
“Communication has long been a challenge,” said Stephen Walters, sales engineer at Everbridge. “The goal of agile, self-managed teams was to break down the barriers between functions such as design, development and testing. The same goes for DevOps to break down barriers between teams. However, this usually involves swapping out one form of silo for another. The use of tools such as Scrum of Scrums has tried to solve this problem, but has never been fully realized.
It is true that the CI / CD pipeline made it possible to create horizontal silos instead of vertical silos. Communication tools like ChatOps can help address this challenge, but it’s even more important to institute a culture shift to embrace empathy and a more holistic understanding of providing solutions.
“Changing the mindset of people who have never used CI / CD is just as important as bringing the right skills into your organization. “
—Jamal Walsh, Technical Product Manager, The Very Group
It takes a village
Ultimately, it takes groups of people from all disciplines to make CI / CD a competitive advantage. From IT support to security / compliance, process reengineering and architects, creating ways to bring these stakeholders together requires human skills in addition to technical or process skills.
Engineers need to become experts in their specialty, but they also need extensive knowledge. With extensive skills in the human side of DevOps, comes the ability and willingness to think beyond one’s silo – and in this way, CI / CD can become a catalyst for success.
If you’re interested in learning more about the challenges and solutions for CI / CD and similar topics, check out the DevOps Institute’s upcoming SKILup Day schedule. Or consult The DevOps journey SKILbook to find out how DevOps helps organizations.