Continuous Delivery

Recently my team has been running a large Jenkins instance and multiple agents in AWS, with hundreds of pipelines. In this post I'll explain how we switched to an on-demand, serverless Jenkins environment on AWS Fargate, whilst still retaining the ability to build Docker images...

Cloudflare Dev Workshop 2020 In mid-February, I had the privilege to attend the first Melbourne Cloudflare dev event. This was just one of a series of sessions they ran across the country to reach out to developers and help educate people around their thinking and the...

"Move fast and break things" - an oft-cited Mark Zuckerberg quote - is seen as the catchcry of modern software deployment practises. To be competitive in fast-moving industries where software is central to a companies success, developers and software engineers have had to find ways to push their software faster, while at the same time de-risking the process of doing so.
Disclaimer: this approach won’t be suitable for everybody, please factor in your particular requirements before using it.

The Why

Towards the end of 2018, our client started to move our codebase from AngularJS to Angular 7+ (now 8). While this, in itself, is a great move, it completely broke our A/B testing capabilities. (What's A/B Testing?) Implementing deep changes  to our Angular applications would be much more challenging. The methods we used to amend code on bootstrap of AngularJS applications are no longer available in Angular2+. If you are interested in A/B testing in AngularJS applications, you can read about our previous approach and Adobe setup. While some A/B testing can, and should, be done from the backend, this article will focus on the frontend approach.