If you’re a layperson like most and haven’t heard of Kubernetes, or container orchestration systems in the bigger picture of things, then your unawareness is excusable. If you’re a web developer and you haven’t heard of either, however, you almost certainly have been living under a rock as the expression goes. These days the digital world is doing everything on the grandest of scales, and with that size of operations comes the need to be able to consolidate and store data and everything else that makes that world tick as much as it needs to tick.
Now even most of the most ordinary of you will have heard of SaaS - Software as a service - and it’s likely a good many are even taking advantage of it at this very time. One of the most common instances is how, for example, you’re paying a monthly fee to enjoy the Microsoft Office suite on your desktop or notebook rather than having had to fork over big bucks all at once for a box containing a disk and a need for you to install the software. The SaaS train continues to pick up speed, and truth be told that’s a good thing - no one needs excess packaging OR having to spend time installing anything if there’s a legitimate alternative to it.
With SaaS, there is - and here at 4GoodHosting we’re not unlike any other good Canadian web hosting provider in that we ourselves are benefitting from all these ‘aaS’ developments too and it’s something we’re almost certainly just seeing the tip of the iceberg of when it comes to how much of what we previously ‘bought’ hard copies of is not available as a service provided through the web.
CaaS - containers as a services - is just the latest and shiniest offering in this regard. So what’s it all about, and how is it going to be relevant for who? Let’s get into that here today.
Brief Background
Global enterprises are more and more eager to make use of containers, with 65 percent of organizations stating they use Docker containers, and 58 percent using the Kubernetes orchestration system in some way or another according to a recent report.
However, as appealing and mega functional as they are, the primary challenges for new converts is with lack of resources and insufficient expertise with using containers to build and maintain applications. This is the primary reason why containers-as-a-service (CaaS) offerings are being very welcome conveniences as soon as they’re made available.
Containers-as-a-Service Defined
When cloud vendors provide a hosted container orchestration engine — typically based on the super-popular Kubernetes open source project, which originated at Google — the appeal of a CaaS option to go along with is in the ability to deploy and run containers, manage clusters, automate scaling and failure management, and allow easier maintenance of the common infrastructure layer. Governance and security is included in this.
The entirety of networking, load balancing, monitoring, logging, authentication, security, autoscaling, and all continuous integration and delivery (CI/CD) functions are handled by the CaaS platform, making it an excellent task consolidator and handler.
CaaS allows individuals to take the benefits of their cloud infrastructure and best leverage them, while helping to avoid any vendor lock-in common with platform-as-a-service (PaaS) — that might come along with them. The containers are very portable across various environments, and this makes them even more versatile and multi functional.
For most it will be helpful to know the difference between a CaaS and running on classic infrastructure-as-a-service (IaaS). In large part it comes down to whether the organization has the resources and skills to implement and manage a specific container orchestration layer itself, or perhaps leaving that to a cloud provider would be a better choice. That will often depend on whether your container environment must span multiple clouds and/or on-prem environments. CaaS platforms that can be deployed either on-prem or in the cloud are offered by a number of vendors these days.
To summarize, the big benefit is in you either managing things at the infrastructure level and set up the orchestrator yourself, or using a container platform that handles the underlying infrastructure and puts in place a pre-installed orchestrator that is ready for you to deploy and scale your containers.
CaaS Benefits
Running containers on CaaS is very much like running your virtual machines on IaaS. Speed of deployment and ease of use are the primary benefits, along with the simplicity of the pay-as-you-go cloud model and the ability for vendor lock-in we mentioned previously.
Leaving your container infrastructure to a cloud vendor means you can get up and running without investing in your own hardware and no need to build or run your own container orchestration system(s). In addition, by containerizing applications you’re able to migrate applications into different environments or vendor ecosystems more easily, giving greater flexibility and scaleability options.
Cost efficiencies are definitely a part of the appeal too, as containers are better equipped to scale horizontally as demand dictates and make it so that organizations pay only for the cloud resources they use. Containers are also nowhere near as heavy as VMs, meaning they’re less resource intensive, which usually means better speeds and general operating costs reductions.
Another benefit comes with consistency of instrumentation and logging, as isolating individual services in containers can allow for more effective log aggregation and centralized monitoring through the popular sidecar deployment model.
After a long string of pluses, we do have to share one minus. Migrating traditional apps to containers is a hurdle for some who are interested in making the switch. It’s common to have to break down monolithic applications into microservices when migrating to containers, and for larger, older organizations that can sometimes be too drastic a change to be expected of them all at once.