Thoughtworks · Client engagement

Authority Brands

AWS platform support and Terraform refactoring

Case focus

Infrastructure code, recovery preparation and operational improvement priorities.

My roleSRE Support / DevOps Developer
Project participationJul – Nov 2021
EnvironmentAWS · EKS · Terraform · Jenkins

01 / Terraform modules

Refactoring infrastructure for an existing AWS platform.

I supported Authority Brands’ AWS platform as a Thoughtworks SRE Support / DevOps Developer. My main hands-on work focused on refactoring Terraform modules. I also built service modules for a recovery environment.

This work combined maintenance of existing infrastructure code with provisioning resources for recovery preparation. The platform environment included EKS, RDS, S3 and Lambda, with Terraform and Jenkins as part of its engineering toolset.

Recovery depends on more than resource provisioning.

Recovery preparation connected the network and Kubernetes platform with data services, container images, Helm charts, configuration and application versions. The service modules formed part of this broader dependency chain, linking infrastructure preparation to the applications it needed to support.

02 / Platform assessment

Turning operational needs into improvement priorities.

Together with a colleague, I assessed security, reliability, operations, platform capabilities, team practices and cost management. We organised improvement areas by risk and estimated effort, connecting technical concerns with the work needed to maintain the platform.

Reliability
Tenant-level monitoring, resource isolation and recovery readiness.
Operations
Access controls, service responsibilities, change procedures and operational documentation.
Team & cost
Training and knowledge sharing, budget alerts and resource utilisation.

03 / EKS upgrade planning

Coordinating versions, capacity and workload movement.

The platform’s upgrade plan coordinated changes to the EKS control plane, supporting components and worker nodes. It paired the EKS version change in Terraform with compatibility checks for VPC CNI, CoreDNS, kube-proxy and Cluster Autoscaler.

  1. Add capacityBring in temporary nodes to accommodate the workloads.
  2. Control schedulingCordon old nodes and check Pod Disruption Budgets.
  3. Move workloadsDrain nodes in stages and protect new nodes from scale-in.
  4. Reduce capacityRetire old nodes, check workloads and remove temporary protection.

Jenkins required separate attention because its StatefulSet affected migration of the DevOps node group. The plan deferred that group’s upgrade, allowing its workload constraints to determine the scope of the change.