Creating your own in-house Docker / Kubernetes management solution from open-source components is often a great way to get a bespoke platform that operates how you want it. It is a perfect option when you have particular needs. With the right engineering team and enough IT executive understanding of the ongoing investment, this path is often the smartest choice.
However, anyone who carries IT budget accountability, and has trod those particular boards before, knows the risks of custom engineering. Bespoke development can be fiscally challenging and time-consuming, not just for the initial solution build but for the ongoing updates and enhancements that a custom solution demands.
Many engineering teams often choose this route because they believe they can develop a completely free solution based on open-source software at no cost to the business. After all, isn't free better than not free?
Reducing the barriers to the initial technology adoption allows engineering teams to try the software for “fit” with no long-term commitments. It fosters a community of like-minded professionals who often help each other to get the software up and running. It allows engineering folk to remain in charge of their technology learning timeline without fear of a salesperson constantly interrupting from what matters, application and software delivery!
Of course, the freedom of adopting open-source software still comes at a cost, albeit not an upfront purchase sticker price.
The TRUE Costs of Building Your Own
The first cost is time because we all know time is money.
Anyone who has ever run a business or managed a team understands how precious time is; deadlines to meet, support queue tickets stacking up, fires to fight, there are only so many hours in a day.
Given the challenges already inherent to designing, building, testing, and upgrading a vendor-supplied, software-based, off-the-shelf solution, you must consider the numerous hours it takes your engineering team to design, deploy, and maintain a custom-built solution. If you think you can build a fully featured container management platform from open-source software in less than a month, you need to be more accurate. Sure, it's super quick to spin up Argo/Flux, Prometheus, Grafana, Open Policy Agent, etc., but to then get these fully functional with centralized user authentication, RBAC, Alerts, Policies, etc., that’s when time can become a serious issue.
We have multiple examples of organizations investing 6+ months to deliver a solution that needs to be cohesive and usable by expert users. That's certainly not the desired outcome when those organizations chose to build a management platform in-house.
The subsequent risk is Money.
Those free, open-source solutions can only take you so far. At some point, you might find rolling your own platform by piecing together numerous tools can challenge your ability. Even more so when you need to start worrying about version interoperability and tying all the solutions into a cohesive UX.
And even though such roll-your-own solutions might make sense for many companies, they are only for some. Although cobbling together a platform might save you money (because you're not purchasing software licenses), the added time involved in piecing those solutions together can offset the lack of cost.
You have to pay your engineers to create a solution that will likely not directly make your company more money (unless you plan on selling that solution). While your engineers are crafting the tools you need to get work done, the software that delivers you a unique point of difference or business value is being put on the back burner.
So, not only are you paying engineers to build a management platform, those engineers need to deliver the maximum value to your company.
Even worse, when your internal team needs to gain the skills to roll your own solution, you might wind up reverting to engaging an external consulting company to do this for you. Now you have just doubled your cost and cemented the need for an ongoing support agreement to keep the bespoke platform up to date—hardly a cost saver.
When does “off the shelf” makes sense?
Although you can use all the free tools you need to effect significantly, in the end, having a proven solution that offers a more reliable (and assured) path to success can also go a long way to mitigate those risks. Doing so can free your development/engineering team from building a solution to building the apps and services to drive your business forward.
With a tool like Portainer, you're not only getting a management platform that shrugs off those risks; you're getting a tool that is proven to work and empowers DevOps and other teams for highly efficient and successful results.
Simplification Avoids Risks
Open-source solutions are hardly known for their immersive UI/UX, and this is where a lot of custom effort gets lost. So you add to the costs of building the platform by making the OSS tools usable by your internal end users. Does your team have the UX experience necessary to pull that off?
With a tool like Portainer, you have a well-designed web GUI with easy-to-use dashboards for monitoring and managing the apps and services your teams build. Simplicity, cohesiveness, and ease of use are the three foundational pillars of Portainer.
Hopefully, this blog helps put the "build vs. buy" ideology into perspective. And let’s be clear, Portainer is a software company! We have to make the same decisions as every other organization. Depending upon the use case, business requirements, time to market, etc. The outcome often varies, and that is ok. Many have spent copious hours developing a roll-your-own solution on par with the needs of their company, clients, customers, and developers. Many others have chosen the benefit of using an off-the-shelf platform that makes it possible to start gaining the benefits of containers.
There are instances when creating everything from the ground up is the only way. But when you're looking for a way to deploy and manage containers with a level of speed, simplicity, and reliability that can give your company a leg up on the competition, ensure your applications and services work, and mitigate many of the costly risks involved, Portainer is the way to go.