Codethink has worked with many clients in migrating projects to DevOps tooling and increasing their delivery speed, throughput and reliability through DevOps practices.
We’ve contributed to leading community projects including GitLab, Ansible, Bazel and OpenStack, and we apply DevOps practices at Codethink in hosting and maintaining a range of private and public-facing core services 24/7.
Example DevOps Projects
Elastic Multi-Arch Bazel Cloud
Migration for a 500-person software department from custom in-house build infrastructure to elastic architecture using AWS (Cloudformation)/Kubernetes/Bazel supporting build and test for multiple silicon architectures (including x86_64, aarch64), targeting multiple operating systems. The ‘infrastructure as code’ pattern was used for all deployments.
Migration from Legacy to CI/CD
Migration of a large international automotive in-vehicle software development programme from legacy IBM tooling with low productivity and a 6-week release cadence, to a fully automated DevOps pipeline approach, based on GitLab with elastic infrastructure and containerised toolchain runners. Codethink’s implementation resulted in dramatic improvements in productivity and software reliability, and reduced headcount significantly.
CI/CD for Freedesktop-SDK
Planning and implementation of 24/7 public-facing CI/CD for freedesktop-sdk, which provides underlying dependency management and build for the GNOME open source desktop deployed with all the major Linux implementations, including Ubuntu Linux.
Transformation of 500-person project delivery department from legacy tooling and methods to optimised CI/CD based on GitLab (on-prem and AWS). This dramatically improved quality and reliabiity, cut build times, reduced uncertainty and business risk.
Automotive Build and Test
Implementation of build and test infrastructure for large automotive company using AWS (Terraform/jsonnet)/Kubernetes/Bazel, achieving dramatic improvements in build and test times and costs via caching and autoscaling workers.
Multi-Cloud Chain Of Custody
Design and development of a cloud-independent DevOps workflow platform for Azure, GCP and AWS to maintain evidence of chain of custody when migrating constructed application suites as containers or system images from development through operations to deployment in production.
Realtime Dashboards and Logging
Implementation of a comprehensive logging and monitoring framework and dashboards using Prometheus, Splunk, Fluent-bit and Grafana. This provided realtime dashboard readouts for cache and performance, infrastructure queues and application logging.
Cattle vs Pets
Transformation of a range of legacy infrastructure and IT services applying the “cattle vs pets” model to achieve resilience, with all production configuration and updates administered via Ansible from git commits, and Icinga for round-the-clock monitoring.
FOSS Source Mirroring
Design and implementation of a public-facing source code mirroring service based on Kubernetes, using Helm charts to simplify reuse of the deployment scripts given appropriate configuration variables.
Remote Execution API (REAPI) Testing
Creation of public-facing CI/CD pipelines for testing the stability of the Remote Execution API against multiple clients, initially with automated deployments on EKS using Terraform, and subsequently migrated to a Docker Compose approach.