Together we evaluated the Python Operator Framework for writing Juju charms for deploying and running workloads on Kubernetes
Canonical are world leaders in Open Source. While they are most known for Ubuntu Linux, they are pioneers in Linux security, cloud services with OpenStack, containerisation (LXD), and Kubernetes, among many others. They have a powerful suite of tools to automate the building, maintenance, and security of applications and infrastructure.
Canonical has had an automation tool called Juju for some time. This tool allows teams to easily model, provision, upgrade, and maintain complex applications at scale, and across multiple cloud providers. With the increasing shift towards containerisation and orchestration with Kubernetes, Juju has been extended to make managing Kubernetes simpler.
Part of Canonical's effort on this front has been creating a new Python framework - called the Python Operator Framework - that allows engineers to define their applications and infrastructure in Juju Charms ("infrastructure recipes") using Python. There is also significant work underway to reshape the Juju ecosystem (the Charm store, or Charm Hub, partnerships with existing and new cloud providers, documentation, tutorials, and the like).
Access to Kubernetes expertise is limited as it is relatively new and the Catalyst team added to Canonical’s breadth of Kubernetes knowledge. Canonical needed an external, unbiased evaluation of their new tooling, with the goal of improving their existing offering based on the feedback provided.
Canonical engaged Catalyst to evaluate the new Python Operator Framework for writing Juju charms in the context of deploying and running workloads on Kubernetes. In practice, the evaluation extended beyond the operator framework and covered Juju itself, charm authoring, documentation, organisational fit, and the surrounding ecosystem.
The Cloud Native team at Catalyst is focused primarily on the design and development of systems on Kubernetes, and the tooling required to do so. The team has a long track record in the containerisation, automation, and orchestration space. With a background in software architecture, cloud engineering, systems administration, and technology consulting, the team was an ideal fit for the engagement.
Catalyst and Canonical formed a team consisting of engineers from New Zealand, Australia, and Dubai. Alpha and beta software was released in confidence to Catalyst to explore and evaluate, with a tight feedback loop based on weekly video conferences, and online discussions. In addition to using the new tooling to spin up infrastructure on the Catalyst Cloud, an in-depth technical report was produced for Canonical, covering Juju and Kubernetes, the operator framework organisational fit, and the ecosystem in general.
Ian said, “The Catalyst engineers we worked with were knowledgeable and brought practical, real world experience to the task at hand. The final report was comprehensive and contained useful and sensible recommendations for the way forward. Also highlighted were barriers to adoption which served as useful points of discussion for us internally.”
This report has been shared within Canonical with both technical and product teams to help shape Juju's future.