Live Workshop: How to Measure ROI of Developer Experience
Register now!

Case StudyHealthcare Platform

Okteto Enables Healthcare Unicorn to Use Production Data in a Dev Environment

Introduction

This particular Okteto customer is the largest virtual clinic for women's and family health, offering continuous, holistic care for fertility, pregnancy and parenting.

Founded in 2014, the company has become the first unicorn in the women's, and family health sector after a Series D funding round valued the company at over $1 billion.

The company's sophisticated platform connects patients with women's and family healthcare specialists, including ob-gyns, nutritionists, mental health providers, egg donor consultants, fertility awareness educators, and lactation consultants.

A compelling business model supported by a stellar development team is how this healthcare unicorn was born.

The Challenge

But the path to success has bumps in the road. The healthcare unicorn quickly realized their development tools and deployment strategy failed to keep up with the company's growth. Specifically, the company discovered that a local development environment, coupled with fragmented tools, such as minikube, Tilt, and Docker Compose, could not scale to meet the needs of the company's growing development team.

In addition, the company struggled with consistency across the board, from the virtualization drivers for minikube to versioning issues with Kubernetes. And tools, such as K3, K8, kind, and an assortment of hypervisors, failed to help the healthcare clinic simplify the experience of using Kubernetes.

We're a kubernetes shop, and we deploy all our applications to kubernetes, but kubernetes doesn't live in our software development life cycle. And that's exactly where Okteto fits in perfectly as a development platform to manage that complexity with kubernetes and the cloud.

Staff Site Reliability EngineerStaff Site Reliability Engineer

The company’s development experience was also compromised by tool and process fragmentation and low-fidelity data, as well as merge conflicts. Part of the problem was that healthcare unicorn had two separate QA environments to test code before it was merged into a single branch. The distinct QA environments created blind spots and confusion about whether the business logic of one feature was connected to another developer's business logic. It was a case of the right hand not knowing what the left hand was coding.

In short, the limitations of the local development environment and fragmented tools had negatively impacted the developer experience of the entire 100-person engineering organization. Not all developers want to become Kubernetes experts. And certainly no developer wants to wait for code to load, or tinker with their local dev setup.

The healthcare unicorn first attempted to solve their development issues with a homegrown dev environment solution but quickly discovered it difficult. "We tried to build it in-house, but that failed," says the healthcare company's Staff Site Reliability Engineer. "Companies don't understand the complexity of what's under the hood when building their cloud dev environment, such as the custom resource definitions and technical design needed to work with Kubernetes. Of course, you can create your own development portal from scratch, but companies overlook the fact that you would need a dedicated team to manage this tool."

The company needed a platform out of the box that reduced merge issues, improved developer experience, supported Kubernetes best practices, and helped them to manage and control critical data. "A lot of people know Kubernetes, but they don't know how to use it well," says the healthcare unicorn's Senior Software Engineer. "We needed a platform that supported best practices when using Kubernetes as well as move our development closer to production by allowing us to use production-like data.”

The Solution

The two engineers launched "Project MultiVerse," a plan designed to use Okteto's cloud development platform to overcome the challenges, friction, and limitations of their local development.

The company's Staff Site Reliability Engineer, who had been pushing for years for a cloud preview and development environment, knew the company would be more efficient developing software and tooling around Kubernetes without every developer running their own cluster. If for nothing else, the complications of Kubernetes provided a high barrier to entry for non-infrastructure and non-developers.

"We're a Kubernetes shop, and we deploy all our applications to Kubernetes, but Kubernetes doesn't live in our software development life cycle,” says the Staff Site Reliability Engineer,. "And that's exactly where Okteto fits in perfectly as a development platform to manage that complexity with Kubernetes and the cloud."

Okteto allowed developers to utilize the deployment benefits of Kubernetes without forcing the team to spend time understanding its intricacies to write the business logic. “With Okteto, developers do not need to know Kubernetes for development,” says the Senior Engineer. “If developers just want to write python or JavaScript, they don't need to know the complexities of managing their Kubernetes cluster — they can learn it on their terms.”

While Okteto's cloud development platform helped with inner loop collaboration amongst engineers, the preview environments enabled outer loop collaboration across multiple teams. "We saw the preview environment as a way not just to help engineering but to help folks outside of engineering, especially QA and the product team, to test and make sure the end product is meeting the initial design," says the Staff Site Reliability Engineer

High Quality Environments

Additionally, Okteto removed “QA environment outages” —  the ripple effect of one developer’s broken code breaking everyone else’s code and causing development to stop. “With Okteto, you get that isolation and high quality QA environment all to yourself and if you break something, no one else is affected,” says the Senior Engineer. “We were also able to eliminate merge conflicts because — instead of 60 developers cooking in two tiny kitchens - Okteto gives us infinite kitchens, allowing us to create one environment per feature branch.”

Okteto Preview Environments helped the healthcare unicorn overcome the outer loop pre-merger friction that plagued them with their local development environment. "With the local development environment, tests were flaky and unreliable," says the Staff Site Reliability Engineer. "But the beauty of Okteto is that we could isolate changes, validate those changes and then move towards a shared environment."

Think Positive Developer Experience

Using a cloud development environment coupled with a preview environment allowed the healthcare unicorn's engineers and QA teams to quickly catch issues and bugs, saving time and money and removing the exhausting frustrations of reworking code. This immediately and dramatically improved the developer experience.

"We can feel the change in morale," says the Staff Site Reliability Engineer. "We don't want to ship broken features because that creates a bad experience for our users, and it also creates a bad experience for our developers. So, creating a cloud environment where our developers could have their changes reviewed in an isolated environment and feel confident about it was a number one priority for us."

Results:

Pristine Development Data

As a healthcare company, meeting PII and HIPAA compliance standards and controlling sensitive patient data was critical. The company knew the safest way to prevent such breaches and create a secure connection is using a secure cloud development platform — and that's exactly what the healthcare company got with Okteto.

"It doesn't matter if you're in a highly regulated environment like we are — or if you're thinking of going public — you'll have to be focused on SOC and PCI compliance," says the Staff Site Reliability Engineer. "Moving to the cloud provides a more secure environment for your developers to interact with private data. Putting data on developer laptops for them to work with will be frowned upon by compliance. So that's how Okteto helps by getting developers into the cloud sooner and providing security and efficiency."

With Okteto's cloud development platform, the healthcare unicorn could manage a persistent data store with production-like seed data that could be populated in all environments. "Managing production-like data is impossible with local development environments because local dev teams are constantly wiping their database and recreating them from who knows what," says the Senior Engineer. "So, with Okteto's cloud development environment, we have more control by managing data in the cloud and can provide developers with excellent seed data managed by our internal teams.”

Just as important as securing the data was sanitizing it. According to the team, the only way to ensure the veracity of the data — to have a "golden source of truth" — was to work with data on a cloud development platform. "Okteto supports production-like data in development environments, offering us a better representation of how our application works much better than mocks,” says the Senior Engineer. “And because Okteto ensures the quality of data across development or preview environments that leads to a more consistent developer experience.”

The Power of a Positive Developer Experience

The healthcare unicorn is an example of a developer-first organization that understands that a positive developer experience results in a productive engineering organization. With Okteto, the company got a cloud development environment that spins up in seconds and works with developers' favorite integrated dev environment (IDE), associated tool set, and pre-established workflows. As a result, developers no longer need to install, configure, and run resource-intensive tools.

“There's a cost effectiveness to Okteto,” says the Senior Engineer. “It offers a scalable, reliable, stable production-ready infrastructure that allows us to move fast from development to deployment to production. I can deploy a helm chart, namespace, cloud integrations, and can go run through chaos scenarios. I can delete things and removing pods. I have immediate feedback as to how that might play out in production. And there’s just no way you can do that with local development."


Explore the Okteto platform

Development Environments

Deploy realistic development environments in one click.

Preview Environments

Sharable preview environments for full-stack applications with every pull request.

Okteto Enterprise

The power of Okteto Cloud, with the control of running in your Kubernetes infrastructure.

What’s stopping you from transforming your software development process?

We’re here to help. Let’s discuss your project.