Onboarding an Enterprise onto a New Stack
Early on as a consultant at HCA, my team and I were tasked with onboarding the enterprise onto a number of platforms that had never been leveraged prior -- Terraform Cloud, Google Cloud Platform, Terraform as an IaC tool, and GitHub. Individually none of these tools were being used within the organization, nor was there widespread experience or exposure to them within the teams that we supported. So the task was to learn these platforms, build a robust governance and observability framework that enabled and didn't block, determine the best way in which they would interact with each other, understand how to implement them at scale, and train and onboard teams across the stack.
Naturally, the intention of this stack was to enable teams to move from click-ops to a more robust trackable solution for their infrastructure, leveraging git repos as the source of truth for their infra code, Terraform Cloud as the home of their Terraform state file, and Terraform HCL as their sole IaC solution. But a stack of expensive SaaS products does not a solution make. In order to drive ease of use and adoption among app teams in the HCA ecosystem, a remarkable amount of thought and solutioning was required to turn this disjointed grouping of products into something that would accelerate and strengthen the infra deployment process across 300+ applications.
