It Started as a Hobby Open Source Research Project
Technology is constantly evolving and so is pascom and the pascom Business Communications platform. So it’s a good thing that as pascom’s head of development, I simply can’t switch off. When it comes to the OpenSource community, I like to have my finger on the pulse as I constantly search and delve into Open Source projects that have the potential to add innovation and upgrade our pascom Cloud Business Communications infrastructure.
What’s the Problem?
Through knowing where we are and where we want and need to be as a business communications company, I have a set out on a path on how to best achieve our goals with two considerations in mind. Firstly, how to constantly improve our solutions for our customers without breaking their existing workflows and secondly, how to effectively achieve this without needing to start from scratch and breaking what we already have.
With this vision in mind, I started an open-source research project as I had identified two ideal platforms, Nomad and Podman, that would provide us with a technological solution to achieve our goals and would add significant enhancements to the pascom multi-tenant cloud infrastructure in the future. But the problem is they do not talk to each other, at least not out of the box. Just like in the world of business communication solutions, if two people cannot connect, then they cannot communicate and the same is true here. So here is the what, why and how of my Nomad Podman interoperability prototype plugin.
Nomad - The What and Why?
As this is where the story started, let’s start with Nomad. A quick look at the HashiCorp Nomad website and you’ll see that Nomad is a simple, flexible, and production-grade workload orchestrator. Simply put, Nomad allows platform developers to deploy, manage, and scale cloud applications across multiple regions much more efficiently and effectively. There are alternative solutions available such as Kubernetes (K8S), but for us, Nomad has a few distinct advantages and judging by the requests from the Nomad community many others as well.
First and foremost, Nomad is a perfect fit for our existing infrastructures. We have already implemented and deployed other HashiCorp products including Consul, Packer, and Vault. Adopting Nomad would mean we would face fewer interoperability complications down the line. Secondly, we do not use Docker and we cannot and do not want to use Kubernetes as the concept behind our infrastructure is based on stateful system containers per tenant. Furthermore, Nomad also supports LXC containers which we currently use to containerise each pascom phone system instance (i.e. each PBX Tenant). Moreover, unlike Kubernetes, Nomad is extremely lightweight and therefore does not require a complete rebuild of our infrastructure to be able to enjoy the benefits. As such, Nomad is a perfect fit for what we are looking to achieve.
Podman - The What and Why?
The answer is “Podman is a daemonless container engine for developing, managing, and running Open Container Initiative (OCI) Containers” and since it’s first release in February 2018, Podman has grown fast and has for many become a replacement for Docker. Lot’s of buzzwords there and as I said at the top, we don’t use Docker, so why do we need Podman?
The current core of the pascom business communications platform is based around LXC containers and the plan is to move away from LXC containers and replace the technology using Podman because Podman offers us several advantages over both LXC and Docker. Like Nomad, the beauty of Podman is that compared to LXC and Docker, it is more lightweight, meaning it is simpler to adopt without requiring significant in-depth infrastructure changes. Beyond this, Podman does not use daemon processes, it offers more secure, rootless containers, and has a more user-friendly interface than LXC. Another benefit of Podman is that it uses the OCI image format which provides an ideal framework in which to design open standards for operating system-level virtualisation.
In short, daemonless and rootless combined equals no need for Docker and a more secure, admin-friendly open standards usability compared to LXC. So it is no wonder then that, just like with Nomad, the Podman community have been searching for an out of the box plugin as well.
What Did I Do
Having found what I was looking for, I set out to develop a tool to ensure that it was possible to combine and benefit from both Nomad and Podman within a cloud infrastructure. Thankfully, I was able to call on the support of HashiCorp and the Open Source Community and was, therefore, able to successfully develop a prototype plugin that in the future will enable the combination of Nomad and Podman. Having created the foundations there is still work to be done, but I hope that in the future, the prototype plugin that we have developed will not only provide the basis of our future implementations and deployments but also support the wider community who are looking to take advantage of the excellent benefits that both technologies have to offer.
You can download and experiment with the plugin here and read the guides for more information.
I am the pascom CTO and have been developing integrated, open standards VoIP and Business Communications platforms for over 10 years and have over 20 years experience working in full stack development. At pascom, my role as CTO sees me managing an international team of backend and frontend developers, creating DevOp workflows, maintaining and upgrading the pascom architecture and herding the cloud infrastructure.
Notes from the Nomad Team:
Many thanks to Thomas Weber and pascom for contributing and donating this Podman task driver to Nomad. We encourage our community members to experiment with this new capability, but we recommend against using the plugin in a production environment until we make it generally available.
Founded in 1997, pascom are the developers of next-generation UCC Telephony Solutions and we upgrade business communications.
With pascom’s innovative on-premise and cloud UC phone systems at the heart of their communications, businesses have a centralised, intelligent hub giving them total control over the organisation’s communications – no matter how diverse and dynamic the business communication channels.
The pascom platform offers excellent scalability and is highly customisable to exactly match even the most specific customer requirements. This is why pascom phone systems are the perfect choice to support Small Medium Enterprises to communicate smarter, more efficiently and more cost-effectively.
For more information about pascom phone systems, please visit pascom.net.