LaunchDarkly, the platform leader for feature delivery and management, pushes the engineering envelope.
The Oakland, California-based company specializes in feature management, a new class of software development tools and techniques rooted in feature flags.
"LaunchDarkly gives product delivery teams the safeguards to move fast without breaking things," says Andy Bold, LaunchDarkly Senior Platform Engineer.
The problem was that Bold's development teams were running complex applications with multiple microservices on their laptops, which impeded their ability to efficiently configure and manage the multiple services needed to support day-to-day development. For example, problems spinning up containerized stack lead to mean time delays in finding and resolving bugs. And managing multiple services at scale on local machines had made code reviews a nightmare.
"Anytime developers wanted to check a teammate's work, they would have to locally checkout into their PR, build the code, bring up any additional services required locally, and only then would they be able to see the change in action," says Bold.
This toggling between environments was not only tedious and time-consuming, but it made getting feedback from non-technical members of the team impossible. "We wanted a way for engineers to share work, and work-in-progress, with other personas in the team such as product managers and designers who may be less familiar with some of the underlying complexity required to run a Docker Compose stack,"says Bold.
Simply put: the complications of developing across different services had complicated LaunchDarkly's developer experience, slowed velocity and impeded the ability to “shift left.”
LaunchDarkly's development team needed an environment to abstract away the complexities and exhausting cycles of setting up different components. Additionally, the company wanted to free up their developers from administrative dev-ops tasks and platform maintenance to focus on what they love most — writing code and innovating.
After evaluating many proposed options, from in-house built solutions to third-party tools, LaunchDarkly found Okteto's Development Environments the best fit. According to Bold, Okteto worked “right out of the box” and delivered two immediate benefits: instant cloud development environments and preview environments on every pull request.
Every developer could now get access to their dev environment and spin up all the services they would require using just one command in a single click. "Since everything ran in a Kubernetes-powered cloud environment, developers could be sure that what they saw was what they would get when they pushed code to production," says Bold. "Freeing up resources on their local machines was a nice added benefit of cloud development."
With instant development environments in place, the next challenge was reducing the friction around the review process.
Okteto's Preview Environments ensured every pull request came with a sharable preview URL and allowed anyone to view deployed changes.“PRs with sharable preview URLs was a total game-changer since it allowed developers to review changes without dependency matching and config and enabled teams outside of engineering from product, design, and sales to participate in the development process," says Bold. “This allowed us to shift left.
LaunchDarkly has seen a significant reduction in the onboarding time for new developers. While earlier it would take weeks for new developers to set everything up on their local machines, now they're able to get up to speed and deliver code in a matter of days.
Okteto helps us simplify the process of onboarding new hires and helps them be up and running as soon as possible with the minimum of fuss. It also reduces the cognitive load on running ephemeral environments for all developers. Okteto helps our developers stay focused on what they do best - writing the code that powers LaunchDarkly.
With Okteto, engineers can create a new environment to test their work, and the environments are running services equivalent to the existing core services docker-compose.yaml specification.
"Setting up a coherent and reliable tech stack can be tricky," says Bold. "That complexity - moving parts, such as IDEs, Docker, code repos, and various tooling - is a lot of cognitive load for new hires and tenured staff, and we wanted to simplify it. Now the process is log in to Okteto and deploy a stack, and start learning!'"
The solution has been so successful the company launched an internal "developer enablement squad." This team will help with the adoption of Okteto across all product streams to manage internal dev tooling and ensure developers deliver at an even faster pace.
Deploy realistic development environments in one click.
Sharable preview environments for full-stack applications with every pull request.
The power of Okteto Cloud, with the control of running in your Kubernetes infrastructure.