Augmenting productivity in the software development life cycle at Organic Response
Organic Response engaged Cevo to work on a co-sourced delivery approach to enhance existing tools and software to aid faster, better product delivery, while ensuring the technology stack is ISO compliant.
50% increase
Availability of pipelines
Buildkite
Solution
Independent Software Vendor
Industry
Organic Response is a revolutionary lighting controls technology company operating as the research and development arm for its parent organisation, The Fagerhult Group. The Fagerhult Group develops, manufactures and markets innovative and energy efficient lighting solutions in 28 countries. Organic Response combines world-class research and development in IoT solutions, intimate customer knowledge and global reach to deliver the integrated smart lighting solutions of the future, today. Using unique peer-to-peer wireless network technology, Organic Response is enabling the creation of smarter spaces buildings through the optimisation of energy consumption.
Business challenge
The fastened Organic Response lighting control system – comprising a sensor node which is typically integrated into a light fitting – allows lights to respond intuitively to occupants and natural light within a space, saving approximately 80% of usual energy consumption. A robust continuous integration and delivery solution (CI/CD) was required to support existing customers, including patch updates, and the transfer and collection of data to meet compliance requirements, while also supporting the next generation sensor node developments, including those that are yet to be launched. The existing tool of choice, Jenkins, had a number of limitations, including a lack of availability, scalability and reliability, security vulnerabilities, a resource-intensive enhancement process, high operational and infrastructure costs, and limited use for certain business units.
Solution
Organic Response leveraged Cevo’s DevOps expertise to build a robust and resilient CI/CD tool to improve the software development lifecycle for enhancing product delivery. A list of CI/CD tools was considered using the requirements lens outlined below.
CI/CD tools considered
- Jenkins
- CodePipeline
- Codebuild
- CircleCI
- Buildkite
- BitBucket Pipelines
- GitLab
CI/CD requirements lens
- The new tool should support pipeline-as-code to meet dynamic pipeline requirements.
- Native multiple branches support so that builds on push-to-feature branches can be triggered easily.
- Build on pull requests (and be branch-aware to avoid accidental deploy-on-pull-requests).
- Deploying to AWS without needing to manage IAM user credentials.
- Ability to support multi-account deployment.
- Support multiple stage pipelines that cross different AWS accounts so a single build can be deployed to different environments hosted on different accounts (such as development, staging, testing and production).
- Integrate with the customer’s existing Git repository solution in a manner that allows reporting build status back to the repository.
- Auto start/stop build agents for cost control and scaling.
- Support for manual stage approval in pipelines, so that “deploy to production” can be a human decision.
- Minimal support overhead to deploy and operate.
- Minimal support for user access management (onboarding and offboarding).
- Notification sent via email or customer’s existing instant messaging solution for warnings and errors.
- Ability to build and publish docker images to ECR.
- Support Linux and Mac build servers.
BuildKite was selected for its adherence to the CI/CD requirements lens, so a proof of concept was performed. The proof of concept intended to migrate the pipelines from Jenkins to BuildKite related to the firmware team, which was the team most impacted by the Jenkins availability issues. The proof of concept results confirmed that BuildKite was well suited to the needs of the Organic Response team. Guided by Cevo’s expert consultants, business stakeholders agreed to migrate pipelines related to all business groups from Jenkins to BuildKite, enabling the team to have a robust, resilient, highly scalable, cost-optimised SaaS-based one-stop-shop CI/CD solution with low operational overheads.
Outcomes
All of the identified critical business challenges were addressed by the migration process, resulting in the following benefits:
- 99% availability – 50% increase in availability compared to the Jenkins solution.
- 100% scalability – No pipeline waits for the build server in BuildKite, in contrast to the 20 – 40% of jobs waiting in queue for build servers in Jenkins.
- 100% reliability – Ability to notify the team and retrigger jobs from the failure point in case of pipeline failure, in addition to status updates on the front end in case of unplanned product outages.
- 0% security vulnerabilities – All security issues on the SaaS product are fixed by the Buildkite team, and the latest version of Amazon EC2 is used as a build server. AWS assures that all major security patches are applied to its latest version of AMI’s.
- 100% maintainability – The BuildKite front end is maintained by the Buildkite team. In addition, BuildKite constantly updates the IaaC for the build server configuration, and has detailed documentation which makes it easy for developers to configure themselves.
- Very low operational cost – The introduction of a SaaS product offloads the enormous hidden operational costs associated to manually fix Jenkins downtime issues.
- 80% reduction in infrastructure cost – Saving of approximately $700 USD per month in costs that were previously associated with keeping dedicated instances up and running.
- 100% fit for purpose – All business units are now able to use one tool for the deployment process.
- 100% automated deployments – One of the critical and salient benefits for Organic Response.
- Dynamic pipeline – The pipeline-as-a-code feature in BuildKite supports the dynamic pipeline requirement for the business.
- Enablement – Use of common languages Shell and Yaml result in a significantly quicker and easier uptake of BuildKite from all business stakeholders, resulting in the creation of new pipelines at a much faster rate.
- Speed and accuracy – BuildKite provides precise point in time status during deployments, in addition to Slack notifications about successful or unsuccessful deployments.
Enjoyed this customer story?
Share it with your network!
You may also like