As part of its charter to enable adoption of new technologies, the Linux Foundation (LF) runs certification programs for Linux Administration/Development and open source technologies like OpenStack, Cloud Foundry, NodeJS, Kubernetes and Hyperledger to name a few. All these certification programs run on a Certification Platform. Until recently, LF’s development and deployment workflow for its Certification Platform involved extensive manual effort to test and release features, new application support and bug fixes. The effort in manually testing and deploying software for the Certification Platform had it’s impact on operational response and reduced velocity of deployments for new certification framework.
The Biarca team worked with LF to develop streamlined Continuous Integration Continuous Delivery (CICD) workflow pipelines that enabled exam platform developers to perform automated builds, tests, delivery of artifacts and promotion of code from development to staging/production systems.
The CICD automation effort paid rich dividends with significant improvements in code quality, testing efficiency, code delivery times and engineer productivity and satisfaction.
The Challenge
LF planned to introduce the automated CI/CD workflow for all projects supported by their Certification Platform. By removing the need for manual testing and deployment of new features and bug fixes, LF planned to speed up the release process. The requirements of LF’s CI/CD project were:
- Create build environments in AWS and Rackspace cloud
- Support continuous delivery to AWS S3 and DynamoDB
- Support multiple artifact stores
- Automate collaborative git pull request workflow.
Customized Solutions from Biarca
The Biarca team worked closely with LF to understand the development, build, test, artifact delivery and promotion process followed by LF. Then, using an Open source, continuous integration framework called Buildbot, Biarca created streamlined, automated CI/CD pipelines. Buildbot supports parallel execution of jobs across multiple platforms and integration with version control systems. This utility uses Docker containers, configuration management tools, cloud APIs, and SDK to connect directly to the cloud environment. Biarca wrote custom extensions in Python for Buildbot support for Docker, AWS, Rackspace and GitHub to fulfill LF’s needs like supporting multiple artifact stores and implementing tag/release based triggers. Based on the automated pipelines defined by Biarca, Buildbot generated an intuitive management UI.
Automated CI/CD Workflow
This is a screenshot of the Build steps with access to real time build output:
Customer Value Proposition
The CI/CD Project delivers value to the Certification Platform, the Training and Certification Team and Linux Foundation by:
- Improving software quality because of comprehensive automated testing
- Increasing efficiency in response time due to entire CI/CD process being automated
- Significantly reducing the time and effort for new applications, features and bug fixes to be developed, tested, reviewed and released into the Certification Platform.
As the Platform expands to support more exams and regions, the value that CICD delivers will grow exponentially. In the meantime, if you are looking for Cloud Services — DevOps, CICD, Kubernetes, Cloud Native Application and Infrastructure Modernization please contact us.
Written by Team Biarca
Contributors: Manikantan Ramachandran, Pradip Kumar Rawat