CI/CD really is about collaboration. In this post, we’ll talk about why this is true, and walk through some examples that show how this works in real life.
|This a post in the Amazic World series sponsored by GitLab partner VSHN|
But first, what is CI/CD?
CI/CD is a combination of two different yet related concepts: Continuous Integration on one side, and Continuous Deployment on the other. For many organizations, it is the practice of codifying the process of work that moves code to production, automatically building and testing every time team members contribute to the source code.
It includes all steps for testing code quality, scanning for security vulnerabilities, and analyzing code security, building the code into an artifact (like a container), and deploying that artifact to production.
CI/CD increases the agility, confidence, and velocity of software development teams. In particular, the automated and frequent deployment of new code to production removes the fear of releasing code, which is often seen in waterfall development models. This fear leads to a build-up of new code in the pipeline and causes production issues as the volume of changes is so large that it’s bound to create problems.
Continuous deployment solves this build-up of new code by removing the friction of deployments by automation, observability of new code in production, and to a couple of adjacent changes), issues are easy to spot. The signal to noise ratio is optimal, so engineers can pinpoint and resolve issues quickly, which clears the way for yet another deployment, keeping the release train running, which creates a positive feedback loop or a ‘virtuous cycle’.
How does that tie into collaboration?
We all know: effective communication is hard, and it’s even harder when the topics you’re communicating about are hard themselves.
So when many teams have to work in unison to create a high-quality software product that keeps customers happy, communication is key. And if we can remove some of the complexity by making the mass of the topic smaller, we improve collaboration.
This is exactly what small releases do: they make the subject at hand (like an issue in production spanning multiple teams) smaller because the release is smaller. This helps in staying on-topic, decreasing the scope of the problem to something that is easier to understand, talk about, and reach a conclusion.
CI/CD complexity kills collaboration
Unfortunately, the complexity of CI/CD tooling itself is a major hurdle in effective collaboration. The patchwork of the many tools needed for a CI/CD pipeline introduces complexity, organizational, and operational friction, all of which will stand in the way of effective collaboration.
That’s why VSHN is working hard to fight complexity and friction in the CI/CD space. They saw the consolidation of CI/CD tools around Git happening early and built up expertise around GitLab. GitLab is the market leader in consolidating CI/CD tooling into a single, flexible pipeline, from Git-based source version control to security testing and deployment.
VSHN uses GitLab to simplify the CI/CD toolchain without sacrificing flexibility. This shared, common platform is used across their customer’s teams, creating a shared understanding and shared language of CI/CD pipelines.
By using the same common tools for common tasks (like source control, artifact repository, container builders, documentation, security testing, code quality analysis, etc.,) teams can remove confusion, and collaborate more effectively. It allows for better transparency and by extension, more effective sharing of built-up knowledge. This prevents teams from re-inventing the wheel, which increases code and software quality, reduces time to market, and creates happier customers.
Setting up a shared, common CI/CD platform is non-trivial
But setting up a shared, common CI/CD platform is non-trivial. It requires expertise and hard work to not just implement that platform, but also ensure successful adoption across the many teams in an organization.
That’s where companies like VSHN, a Swiss CI/CD expert, come in. It’s their core business to create a shared and common CI/CD platform that works for not just one team, but every team in the organization.
VSHN’s webinar on how CI/CD improves collaboration
In our upcoming webinar Improving collaboration & software delivery using GitLab CI and Kubernetes VSHN’s Adrian Kosmaczewski will dive into their vision of doing shared, common CI/CD pipelines at scale.
They’ll bring their expertise to show you how GitLab improves collaboration, by walking through a common pipeline, deploying content to a Kubernetes cluster in real-time.