C++ monolith to micro-services, containerisation and Continuous Delivery
Apr 2017 - Nov 2018
- DevOps Architecture, design of a DevOps Platform, maintained as an internal Product with SLAs and Roadmap
- initiative to create a DevOps “guild” over 5 dispersed Dev locations, promoting Agile, Scrum, CD and TDD
- led Continuous Integration for a C++ monolith (3 million lines of code), Pipeline as Code in GitLab and Jenkins
- containerized build agents and all CI \ CD services with Dockerfiles, Registry, DinD, Linux and Windows containers
- setup HA cluster with Docker Swarm \ Compose \ Stack, hit limitations and initiated move to Kubernetes
- authored custom extensions in Go and Python over GitLab API, webhooks and Git CLI
- designed Monitoring and Alerting system using Prometheus and Grafana
- dependency analysis and decomposition of monolithic 2 hours build, bespoke Package Management with NuGet and SemVer
- standardised a varity of target platforms: Linux \ Windows \ ARM, 32 and 64 bit, clang, gcc, cmake, msbuild