The Cost and Complications of In-House Development Environments
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
"Everyone has a plan until they get punched in the mouth" - Mike Tyson.
The importance of tools that boost a positive developer experience can't be overstated. The industry is starting to recognize that an improved developer experience results in an increase of productivity. And that's exactly why more companies view cloud development environments as an essential investment that unburdens developers from tedious administrative tasks so they can focus on innovation.
Questioning Whether to Build or Buy a Cloud Dev Environment?
The benefits of a cloud development environment include the ability to mirror production, support holistic testing across the entire stack, manage the complicated integrations between microservices and simplify the adoption of Kubernetes.
And while everyone from enterprise CTOs to startup engineering managers agree that shifting from a local to a cloud environment is the future of development, one question remains: "is it better to build or buy the solution?"
To build or not to build - that is the question
Historically, development organizations have built and managed their local development environments; however, the evolution of Kubernetes, containers and microservices have made designing and maintaining a modern development environment complicated — if not impossible. In addition, technology trends force organizations to quickly add new functionality while supporting familiar tools and processes. As a result, it's tough to create a secure, "enterprise-ready" cloud development environment that supports a wide range of developer tools, such as Visual Studio Code and Python, and yet is scalable enough to adopt updates to Kubernetes.
Most of the time, companies see the business benefits of buying software solutions that allow them to focus on their core competencies; however, some organizations, especially those with sophisticated engineering teams, are tempted to build their own solutions — especially when the tools in question help developers develop. It's easy to understand this philosophy: hey, who knows the needs of developers better than a company's own developers?
While developing a purpose-built in-house development environment may appear to be an obvious way to address specific development challenges, it often requires resources -- particularly budget and personnel -- to not just create but implement and maintain. It’s a problem that even some of the smartest engineering teams ignore.
The Ultimate Build vs Buy Self Evaluation Guide
“Easy to build, hard to maintain”
Today, many development organizations are challenged with local environments unable to meet the demands of modern complex cloud-native applications. Replicated, a company that provides delivery and management of Kubernetes applications, first attempted to solve their development problems by creating a homegrown cloud development platform. But unfortunately, they discovered allocating resources to tackle this project distracted from delivering more essential business value. And complicating the developer experience was just the tip of the iceberg - the platform was also buggy, expensive and costly to maintain.
"Our homegrown solution took a massive investment of our engineering to keep Kubernetes, Docker, and all kinds of cutting edge technologies updated and supported," says Marc Campbell, Replicated co-founder and CTO. "It was difficult, taking our engineering team’s time to support because every day something was broken."
Marc quickly realized it was impossible to devote a development team to maintain and support the solution over time. He also admitted that a buggy development platform was increasing the risk of application bugs making their way to production. It was clear that Replicated needed a dedicated development environment and homegrown solutions were incapable of, namely, continuing to add features regularly and provide support.
The business benefits of partnering with Okteto
While developing a solution in-house may initially seem like the best way to address your business challenges, Replicated discovered building a platform requires an enormous allocation of resources in budget and developer time, implement and maintain.
To overcome the challenges of a homegrown environment, Marc and the Replicated team turned to Okteto. Here are just a few of the benefits Okteto’s out-of-the-box suite of features offered Replicated:
- Simplified Kubernetes adoption
- Improved Troubleshooting with Shared Services
- Maximized Inner and Outer Loop Collaboration
- Mirrored production to reduce scrap and rework
"We chose Okteto because it removes the need for every engineer to have a deep understanding of the kubernetes infrastructure that we need to run our system, and it allows us to hire engineers without that level of expertise," says Marc. "Okteto just works; with it we can set the bar higher with what we expect from the dev environment and our team."
Working with Okteto allows you to solve development challenges immediately with comprehensive support and development. So why spend countless hours having expensive engineers — or hiring new ones — to architect a proven solution that already exists? As the pioneer and market leader in cloud development, Okteto has already solved the same development problem for hundreds of developers.
As final words of advice to other companies considering building their own solution, Marc suggests asking yourself these questions: Are you planning for a support team to work on platform bugs and issues long term? And what are your time constraints to develop, QA, implement, and roll out an internal solution? Says Marc, “When it comes to building a development platform, remember this: Easy to develop - hard to maintain."
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