CCL plays a leading role in maturing AsureQuality’s DevOps culture to drive faster and more reliable development cycles.
Government certifier AsureQuality isn’t a household name, but it should be given the central role it plays in reassuring Kiwis that the food in their fridges can be trusted.
Doing this work generates massive volumes of data from testing, audits, and certification, which must be safeguarded and shared with growers, farmers, producers, and others right across the supply chain.
Making data more easily accessible to clients is a central plank in AsureQuality’s customer-first strategy. “We look for platforms that we can build on,” Lynn Cooper, AsureQuality’s Head of IT, said. “We’ve got to use our data in a way that benefits our customers.”
“Deploying large portions of infrastructure is effectively as easy as copy and paste.”Zach Hill, DevOps Lead, AsureQuality
Following the decision to retire its aging in-country IaaS platform, AsureQuality looked to AWS Cloud to re-platform its business applications and extend DevOps practices with automation and continuous integration to drive faster and more reliable development cycles.
AWS services including Amazon Virtual Private Cloud (Amazon VPC), Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (ECS) and, soon, Amazon Kubernetes Service (EKS), provide AsureQuality with re-sizeable compute infrastructure in the cloud and building blocks for DevOps teams.
Repeatable processes key to efficiency in the cloud
Zach Hill, DevOps Lead at AsureQuality, said creating repeatable activity maximises the value of cloud-native AWS services. “Deploying large portions of infrastructure is effectively as easy as copy and paste,” he said. “We can be smarter, too, by taking advantage of hourly pricing and responding to issues faster.”
Leaven (now CCL) has played a leading role in maturing AsureQuality’s DevOps culture. Starting with continuous integration and continuous deployment (CI/CD) pipeline reference architecture, they applied pre-commit hooks to code linting (automated checking of source code for programmatic and stylistic errors) as well as testing the project Git repository to isolate simple errors and potentially problematic source code.
AsureQuality has further streamlined its DevOps tool chain using CodeBuild to compile source code, run tests, and produce software packages ready for deployment; CodeStar to manage software development activities, including microservices; and CodePipeline to build the CI/CD pipeline connecting these tools.
This work has largely automated AsureQuality’s development environment, providing the launchpad for continuous delivery practices supporting the rapid delivery of new features and updates.
Shifting the needle on infrastructure deployment speed
Infrastructure automation tool Terraform is central to AsureQuality’s AWS infrastructure provisioning and management, replacing a SharePoint table linked to CI/CD tool Puppet used to spin up an EC2 instance. Hill said Terraform gave developers the ability to use all resources and services available on AWS, bringing more flexibility to decisions about architecture.
However, it is the speed of infrastructure deployment that has captured Hill’s attention. In one recent example, developers provisioned an entire environment on AWS – the complete stack, including frontend application, security groups, load balances, and other user permissions, through to the database – in five-and-a-half minutes. “Simply building a VM on our old platform took several hours – even with automation,” he said.
This achievement is behind Hill’s enthusiasm for a blue-green application release model that transfers user traffic from the current app to a new release, while both are running in production.
“We can move much faster and deploy in a more secure way,” he said. “As we modernise our apps and adopt a cloud-native approach over the coming year this kind of model will be extremely beneficial. We’re still getting to grasp with the possibilities.”
AsureQuality’s maturing DevOps culture also ensures new developers get up to speed faster. “With infrastructure as broad and varied as hours, cloud-based DevOps takes several weeks off the one-to-two months it can take for new developers to work productively,” Hill said. “These improvements are exciting to see, and it’s still just early days.”