Continuous Delivery

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.

I had the luck (and I say this considering the number of talented engineers within Shine) of attending AWS re:Invent in Las Vegas recently. For those who don't know, re:Invent is an annual conference held by AWS. It's a chance for customers, vendors and AWS staff...

Adobe Experience Manager (AEM) is an enterprise web content management system that, like many other enterprise applications, is a complex piece of software to set up and configure. We can't eliminate this complexity completely, but we can reduce it for many use-cases. AEM OpenCloud is an open source project being led by Shine Solutions that automates the setup of a complete ready-to-use AEM environment in the cloud within 15 minutes. However, testing and verifying that an AEM installation is working correctly is laborious and time-consuming. Done manually, testing can certainly take longer than the 15 minutes required to actually build the environment in the first place. Fortunately, automated testing was identified early on in the project as an important part of OpenCloud's modular design, as is made clear by this diagram created by Cliff Subagio, one of the project founders: AEM OpenCloud suite However, it's one thing to say that testing is important, it's another thing to actually do it. In this post I'll talk about why and how we used InSpec to implement automated testing in OpenCloud.
I was lucky enough to have the opportunity via Shine recently to attend the inaugural OWASP AppSec Day 2018 (Melbourne) at RMIT. Security professionals from around the globe gave some insightful talks into the state of secure application development in 2018. In this post I'll share you some of the key insights I gained from these talks.
Anyone who has delved into CloudFormation knows its power for describing and managing your cloud infrastructure within AWS. Likewise, if you've spent any time writing CloudFormation templates of any significance you'll know that you'll spend a lot of time duplicating sections of templates. We always aim to reduce repetition in code so this can be a bit grating. In this post, I hope to explore a few technologies that can help with this, primarily a tool called Sceptre from Cloudreach.