The Getty Achieves Continuous Delivery Agility in AWS Cloud Native Deployment
The Challenge
The Getty and the J. Paul Getty Foundation, based in Los Angeles, are globally renowned for their mission to enhance the understanding and appreciation of visual arts. This ambitious mission hinges on their ability to support extensive digital image libraries, digital publishing, educational services, and high-quality software tools utilized by educational institutions worldwide.
Despite having a team of highly skilled software and infrastructure engineers who had developed containerized microservices architectures for many applications, Getty faced significant challenges in accelerating the deployment of new product features. The engineering team was responsible for software modifications, while the operations team ensured stability and security. However, despite their talents, compliance and governance requirements and a lack of standardization and automation in the software delivery pipeline hindered their ability to implement high-value changes to digital products and services quickly.
“We needed a partner that could establish a low-friction platform for us to deploy our microservices while maintaining reliability and security quickly, and we needed to be able to do that in a self-service fashion, not requiring our developers to interact with infrastructure teams with every change,” said Petrus Williams, head of infrastructure. “We also wanted to become self-sufficient in these new tools and processes and to avoid long-term dependency on a partner. So, we needed a partner to transfer their knowledge rather than build something we didn’t know how to operate. That’s when we discovered BSC Analytics.”
The Solution
BSC Analytics addressed these challenges by embedding a fractional platform team to work closely with Getty engineers, ensuring effective knowledge transfer and collaboration. They established a clear roadmap and Agile cadence to expedite reaching the desired end state. A significant part of this effort involved helping the Getty team consolidate all infrastructure elements into Terraform modules, adopting an Infrastructure as Code (IaC) approach for future changes. The transformational work included:
- Building New EKS Clusters: New Amazon Elastic Kubernetes Service (EKS) clusters were built using Terraform. BSC Analytics trained staff on adding new clusters and workspaces as needed.
- Centralized Management and Auditing: Terraform's setup on Terraform Cloud facilitated the centralized management and auditing of all infrastructure changes.
- Application Modifications: Developers were assisted in modifying Docker files and applications to remove configurations, supporting the creation of more 12-factor compliant artifacts for an immutable artifact setup.
- GitOps and Continuous Deployment: ArgoCD was configured for GitOps management, enabling continuous deployment to all EKS clusters.
- Reusable CircleCI Orbs: Developers created reusable CircleCI orbs to centralize the code needed for GitOps and deploy new application versions to the clusters.
- Workload Migration: Ten workloads were moved to EKS. Initially, this was a joint effort with BSC Analytics, but as the Getty team gained expertise, they took on increasing responsibility, eventually handling the final deployments independently.