Thoughtworks · Client engagement
Authority Brands
AWS platform support and Terraform refactoring
Case focus
Infrastructure code, recovery preparation and operational improvement priorities.
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.
- Add capacityBring in temporary nodes to accommodate the workloads.
- Control schedulingCordon old nodes and check Pod Disruption Budgets.
- Move workloadsDrain nodes in stages and protect new nodes from scale-in.
- 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.