AGL Energy is a year into a program of work it is calling AAA - Automate, Accelerate, AGL - that is establishing standard paths and practices for deploying code into the cloud at scale.
The existence of the AAA Program was first revealed in a blog post in late February and was elaborated on during the HashiDays virtual summit held by HashiCorp this month.
DevOps Architect Lachlan White told the summit that AGL is using two HashiCorp tools - Terraform Enterprise and Sentinel - to implement standard ways of working in the cloud.
Terraform is an infrastructure-as-code service used to provision and manage cloud infrastructure at scale; Enterprise is a paid version that can be self-hosted by large organisations. Sentinel, meanwhile, is a tool used for internal policy enforcement and governance.
“We were lucky enough to be the first production implementation of Terraform Enterprise in the ASX50,” White said.
AGL began moving from on-premises infrastructure to the cloud about five years ago and “quickly became one of the largest consumers of Azure in the southern hemisphere”, White wrote on the blog.
“Our initial move into the cloud was like many others: it’s exciting with so much opportunity for innovation and learning.
“So, our teams tried to go at it, all at once. The result was the inevitable accumulation of technical debt, differences in practice, and battles for control, which reduced delivery and extended lead times.
“This also meant no enterprise-wide endorsed best practices for how to provision, secure, connect, or run applications and infrastructure.
“That is when we decided that we needed to take control of managing these moving parts ourselves.”
AGL started to work on internal best practices three years ago, but its desire to achieve consistency at scale was elevated by the AAA Program commencement last year.
“It was created to look at how we could use the cloud at a large scale, but in a much more efficient and collaborative way than we previously had,” White wrote.
“We realised that while we have a large footprint in one cloud provider, we also have a small footprint in AWS and there is a difference in terms of the skill set needed in both of those.
“We wanted a way to minimise that difference in a strategic way, which is why we landed on using Terraform.
“Terraform is supporting us in provisioning all of our infrastructure, from the tiniest APIs to our largest SAP systems.
“It has enabled us to be free from the bottlenecks of hardware and poorly configured environments by enabling the consumption of cloud at scale, without compromising on consistency.”
White used his appearance at HashiDays to detail some of the methodologies and thinking underpinning the AAA Program works.
In particular, he said the HashiCorp tools were being used to implement a variation of GitOps, which is a way of implementing continuous deployment for cloud-native applications.
“My definition of GitOps is using Git[hub] as the source of truth for the management and deployment of cloud-native technologies,” White said.
“Why I say ‘my definition’ is because Weaveworks, who originally coined the term, specifically coined it to manage the deployment and application deployment of Kubernetes clusters and applications.
“And so I think that now with the tools we have available to us we're able to broaden our horizons with that and look to manage all of the cloud, as we go.”
White said that AGL’s shift into the cloud required a significant shift in internal IT operating models, but getting the model right would encourage innovation and get new experiences in front of customers faster.
A significant part of that was taking the “40 or 50 different steps” that a developer ordinarily might have to go through to get code into production and simplifying that as much as possible.
The goal, White said, was to enable developers “to start writing their code straight away and adding value to the business on day one.”
“We’ve spent the last year building capability in terms of how we want to build, develop, and innovate in cloud at AGL,” White wrote in the blog post.
“The next few years are the fun part, we can start to build on top of these foundational capabilities and really reap the rewards.
“These benefits are passed onto our customers through quicker innovation and therefore quicker capability development.”
Consistent work practices will also expedite AGL's move into cloud and enable it to exit its own data centres sooner.
"As a result of this program, we actually brought our data centre exit two years ahead of schedule, which is a massive money saver for us," White added.