Building a Dev Platform Is Easy - Maintaining it is Hard
Build versus Buy (3 Part Series)
- The Cost and Complications of In-House Development Environments
- 5 Internal Software Development Platform Challenges
- Building a Dev Platform Is Easy - Maintaining it is Hard
To build or not to build? Ah, that is the question when it comes to software. Many development teams debate this dilemma. It's a tricky quandary when the software in question is designed to help software company developers actually develop more efficiently.
That was precisely the debate and dilemma a leading digital healthcare unicorn faced when it came to decide whether to build or buy a cloud development platform. The first choice was to build, but the development team quickly discovered that building a cloud development platform was more trouble than they realized.
Discover why Replicated Halted the Build of Their In-House Dev Platform
"We tried to build it in-house, but that failed"
The healthcare company quickly realized its local development tools and deployment strategy could not scale to meet the needs of the company's growing development team However, their decision to solve their local development problems by building a platform was a case of leaping out of the frying pan and into the fire.
The healthcare company attempted to solve its development issues with a homegrown dev environment solution but quickly discovered several problems; namely, using existing members from their 100-plus development team to develop the platform impacted time to market for core development commitments and essential releases and compromised the focus on current projects and morale.
"We tried to build it in-house, but that failed," says the company's Staff Site Reliability Engineer. "Companies don't understand the complexity of what's under the hood when building their cloud dev environments, such as the custom resource definitions and technical design needed to work with Kubernetes. Of course, you can create your development portal from scratch, but companies overlook that you need a dedicated team to manage this tool."
The healthcare company realized they were not equipped to assume the entire burden of building a customizable option, including R&D, writing documentation, QA, ongoing maintenance and support, and data storage. The irony is that even if they did cultivate that internal expertise to build a platform that could support Kubernetes and microservices, there was always the risk that in-house brain trust, which is often a single person, could walk out the door, taking all that knowledge with them.
Four Arguments to Consider When Deciding to Build or Buy a Dev Platform
Does your in-house solution work well with Kubernetes? Just asking
The company needed a platform out of the box that reduced merge issues, improved developer experience, supported Kubernetes best practices, and helped them manage and control critical data.
"A lot of people know Kubernetes but don't know how to use it well," says the Senior Software Engineer at the healthcare company. "We needed a platform that supported best practices when using Kubernetes as well as something that helped us move our development closer to production by allowing us to use production-like data."
When it came specifically to Kubernetes, the team soon realized they needed more internal expertise to design, develop, implement, maintain and support a solution that could simplify its complexities. And that's why they scrapped their build project and pivoted to buy a solution that could unlock a better development experience for the entire dev team.
"We deploy all our applications to Kubernetes, but Kubernetes doesn't live in our software development life cycle," says the 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."
The benefit of a cloud solution versus building an on-premise solution
Another benefit of Okteto's cloud development solution was it allowed both developers who had an expert understanding of Kubernetes and those that wanted nothing to do with it to thrive. That's a delicate balancing act that takes a lot of work to achieve with a homegrown solution. "With Okteto, developers do not need to know Kubernetes for development," says the 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, and Okteto handles everything in-between."
This healthcare company is a classic example of a developer-first organization that understands how a positive developer experience translates to a productive engineering organization; buying allows developers to do what they love instead of burdening them with the exhausting maintenance of a troublesome homegrown solution. With Okteto, engineering teams 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 company's Senior Software Engineer. "It offers a scalable, reliable, stable production-ready infrastructure that allows our team to shorten the gap from dev to prod and enables us to ship value to our customers faster. I can now deploy a helm chart, namespace, cloud integrations, and can go run through chaos scenarios. I can experiment, delete things and remove pods. I have immediate feedback as to how that might play out in production. And there's no way you can do that with local development or a homegrown solution."
Build versus Buy (3 Part Series)
- The Cost and Complications of In-House Development Environments
- 5 Internal Software Development Platform Challenges
- Building a Dev Platform Is Easy - Maintaining it is Hard