98% faster data imports in deployment previews, with Nick Nikitas
Oct 29, 2024
auto_awesome
Nick Nikitas, Senior Platform Engineer at Blueground, dives into the transformation of pre-production environments using Kubernetes. He shares how his team slashed environment creation time from 19 minutes to just 25 seconds through innovative strategies. Discover insights on leveraging ArgoCD and GitOps for efficient deployment previews, alongside optimizing data imports with Velero and AWS EBS snapshots. Nick highlights the importance of cross-domain collaboration and user feedback in driving these impressive performance enhancements.
BlueGround transformed its static pre-production environments into dynamic deployment previews, reducing creation time from 19 minutes to 25 seconds using GitOps practices.
The implementation of Argo CD and Velero not only improved environmental management but also optimized data seeding efficiency through automation strategies.
Deep dives
Challenges with Static Pre-Production Environments
BlueGround faced significant challenges with static pre-production environments that became less scalable as teams grew. Miscommunication often arose between teams due to dependencies on shared environments, leading to friction in development and ad hoc debugging issues. Developers frequently implemented multiple features simultaneously, making static environments feature-specific and unmanageable. The company recognized the need to rethink their approach to improve developer experience and reduce the associated cloud costs.
Implementation of Deployment Previews Using GitOps
To address the limitations of their static environments, BlueGround adopted a deployment preview approach inspired by platforms like Vercel and Netlify. By leveraging GitOps and tools like Argo CD, the team developed a custom solution that allowed for self-service environments, enhancing the developer experience. The implementation included using Argo CD application sets to automate environment creation based on open pull requests within the repository. This strategy not only streamlined deployments but also significantly reduced maintenance overhead and cloud expenditure.
Performance Optimization and Impact on Developer Experience
After identifying performance bottlenecks with data import times for preview environments, BlueGround sought solutions to improve efficiency. They deployed Valero to facilitate the backup and restoration of Kubernetes resources, which dramatically reduced the data import time from 19 minutes to just 25 seconds. This optimization significantly enhanced operational efficiency, leading to increased productivity and a greater preference among developers to utilize preview environments. The experience underscored the importance of cross-domain collaboration and leveraging existing tools to improve overall development processes.
Are you facing challenges with pre-production environments in Kubernetes?
This KubeFM episode shows how to implement efficient deployment previews and solve data seeding bottlenecks.
Nick Nikitas, Senior Platform Engineer at Blueground, shares how his team transformed their static pre-production environments into dynamic previews using ArgoCD Application Sets, Wave and Velero.
He explains their journey from managing informal environment sharing between teams to implementing a scalable preview system that reduced environment creation time from 19 minutes to 25 seconds.
You will learn:
How to implement GitOps-based preview environments with Argo CD Application Sets and PR generators for automatic environment creation and cleanup.
How to control cloud costs with TTL-based termination and FIFO queues to manage the number of active preview environments.
How to optimize data seeding using Velero, AWS EBS snapshots, and Kubernetes PVC management to achieve near-instant environment creation.