This is a guest blog from Thomas Weber, CTO of pascom, developers of next-generation UCC Telephony Solutions and providers of upgrades for business communications.
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 open source 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.
Through knowing where we are and where we want and need to be as a business communications company, I have set out on a path to best achieve our goals with two considerations in mind: first, how do we constantly improve our solutions for our customers without breaking their existing workflows; and second, how do we 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, HashiCorp 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 was 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.
As this is where the story started, let's start with Nomad. A quick look at the 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, 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 because the concept behind our infrastructure is based on stateful system containers per tenant. Furthermore, Nomad also supports LXC containers which we currently use to containerize 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.
The answer is "Podman is a daemonless container engine for developing, managing, and running Open Container Initiative (OCI) Containers" and since its first release in February 2018, Podman has grown fast and has for many become a replacement for Docker. There are lots 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 virtualization.
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 has been searching for an out-of-the-box plugin as well.
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.
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 DevOps workflows, maintaining and upgrading the pascom architecture, and herding the cloud infrastructure.
Many thanks to Thomas Weber and pascom for contributing and donating this Podman task driver to Nomad. We encourage the Nomad community to experiment with this new task driver, report bugs, ask for missing features, and submit PRs.
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 centralized, intelligent hub giving them total control over the organization’s communications — no matter how diverse and dynamic the business communication channels.
The pascom platform offers excellent scalability and is highly customizable 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.
HashiCorp Consul and Nomad use Azure managed identities to authenticate against Azure in order to read tags and manage service principal information.
Learn how secrets management in Kubernetes compares to HashiCorp Nomad, and see why HashiCorp Vault is a powerful solution for both.
Get helpful resources on a recent change to product license deployments and learn how to navigate this change.