Table of Contents
Key Takeaways
- At Ada, we have been able to create a dedicated remote testing environment for our development teams to use.
- DevSpace and Loft provides the necessary abstraction to solve most of the development needs.
- The team is considering changing this to an opt-out functionality, where every PR would get a DevSpace environment.
- The implementation of Loft has been beneficial for the development team. Ada created a project to deploy a remote ephemeral environment in a PR, and implemented end-to-end testing per PR. Onboarding was designed to create an experience for engineering teams to quickly get started. Devspace for development was created to reduce reliance on local development.
Chapter 1: Scaling workflows with Kubernetes
- Robert Dippolito discussed how Ada's platform team scaled workflows and development workflows with Kubernetes
- He discussed the benefits of remote development environments and the pain points Ada experienced
- He explained how they used Loft and DevSpace to help improve and implement remote developer environments
- He noted that understanding Kubernetes and containers is a big asset and that abstractions can help abstract away complexities.
Chapter 2: DevSpace - A Remote Ephemeral Environment
- Engineering teams needed a way to push changes to a shared development cluster and test them on remote infrastructure.
- DevSpace was developed to solve these issues, with controls such as remote sleeping and automatic deletion for resource management.
- It was further developed to allow engineering teams to develop on a remote container and integrate with CI/CD.
Chapter 3: Ada's DevSpace Deployment.
Ada created a project to deploy a remote ephemeral environment in a PR, and implemented end-to-end testing per PR. Onboarding was designed to create an experience for engineering teams to quickly get started. Devspace for development was created to reduce reliance on local development.
Chapter 4: Automated Testing with Loft
- Loft has created a remote testing environment with helpful links to logs and PR bot, a Dev Space Resource Center and a Slack channel for issues.
- Automated unit and integration tests run against every remote push, and end-to-end tests are run prior to merge.
- Automation and tests are also included in release pipelines to ensure changes are represented in PRs.
Chapter 5: Implementing Loft for Kubernetes Clusters
- Loft, a control plane, was implemented on top of Kubernetes Cluster to reduce friction due to security controls and layers
- Engineers can log into the Loft dashboard to monitor their DevSpace deployments
Chapter 6: DevSpace and Loft for Remote Infrastructure Testing
- Team tasked with finding a way to test changes on remote infrastructure identified pain points and found DevSpace and Loft could provide necessary abstraction to solve them.
- Adoption of DevSpace resulted in shorter cycle times and ability to experiment quickly, with low infrastructure costs due to sleep mode feature.
Chapter 7: Improving the developer experience.
- Dev Space team formed to improve developer experience by building tools to support feature delivery
- Considering changing opt-in functionality to opt-out, built internal version of Dev Space to reduce custom code and rely on community support