Background: Backed by VC funding, Cloudologia is a cloud consulting firm specializing in DevOps-as-a-Service. As a new solution provider, it made sense to ensure that the release and deployment pipelines for Jenkins would be easily deployable for 50+ teams of developers accessing centralized system settings. These settings would include AD setup, backups, git, and sets of custom management jobs and plugins versions. Additionally, the dev teams required separate system boxes for security. The Ops team also required access to must-have tools & management processes as well as ongoing Jenkins upgrades. Finally, Cloudologia needed to be able to deploy whenever necessary — and in multiple clouds like AWS, GCP, and Azure — with a single push of a button using a standardized example.
Goals: Deploy a unified CI/CD system for multiple development teams, to boost Cloudologia’s software development lifecycle.
"Jenkins solved all our business problems and saved tons of $$!"
Solution & Results:
We use Jenkins in Docker to be able to run & set up Jenkins masters on any cloud VMs to provision it on the hosts as the container. We have several repositories per specific cases that are combined into sets of Ansible roles for provisioning and Terraform for deploying. These work perfectly in a multi-cloud world.
Our solution uses our own internal UI system dashboard for testing & deployment purposes to give one single interface to manage permissions and accesses in the clouds through Jenkins-CLI and API. Our release pipelines are charged with Jenkinsfile and BlueOcean plugin for UI. And Jenkins Job Builder takes simple descriptions of Jenkins jobs in YAML or JSON format and uses them to configure Jenkins. Plus, we can keep our job descriptions in a human-readable text format in a version control system to make changes and auditing easier. It also has a flexible template system, so creating many similarly configured jobs is really easy.
The capabilities we used include: Jenkins-CLI, Jenkins in Docker, Project-Based Matrix Authorization Strategy & Active Directory Support, Jenkins DSL, Jenkins SSH Slave Agents.
Results we saw were the following:
120 + boxes deployed to 4 different cloud providers
AutoRelease Jenkins Pipeline with a single click of a button
Jenkins backups auto-restore on any VM failure or service interruption
Onboarding for Deployment & Build release cycles was shortened from one week to 1 day
The system is now managed and supported only by 2 engineers