Once your business migrates to containers, you quickly see the pros and cons of doing so. The pros include flexibility, reliability, security, cost savings, and agility. The cons mostly center around complexity because, as you've probably discovered, containers can be a challenge.
Although deploying a single “bootstrapped” Docker Swarm or Kubernetes cluster is manageable, the complexity quickly escalates once you get beyond the basics. That complication concerns creating manifests for full-stack applications, along with securing and managing clusters at scale.
As container usage grows, it's challenging for larger enterprises with multiple locations. You have hundreds of sites requiring remote container deployments. Or these enterprises may have one location with segmentation challenges due to distribution hubs, departments, and disparate teams. What if each hub/department requires an individual cluster for container deployment?
How do you successfully manage multiple clusters from the command line with either configuration?
Not easily, that's for sure.
On top of that, each location might require multiple namespaces, different access controls, teams, and more. With each additional layer, those deployments become far more complex to manage.
When you have discrete clusters requiring different controls, teams, developers, and access, managing them from the command line interface can be a nightmare of confusion and complexity. Even worse, your DevOps, admins, and development teams might need help managing those multi-location/multi-access clusters. That's where a platform like Portainer comes in.
With Portainger, the management of each of these layers is vastly simplified. Here's how you can break it down.
- Environments - each cluster location could be its environment, where you can log into a single Portainer instance, select the environment you want to manage, and do almost anything you need with the cluster or the deployments. You can also limit each environment to specific users or teams
- Teams - build logical groups containing different users, each with separate access controls.
- Containers - restricted access to particular users or administrators
- Users - assign additional permissions (such as an administrator or team leader) and can even be assigned roles for each environment.
Take, for instance, user access to a specific environment. When giving a particular user access to an environment (Figure 1), you can assign them one of the following roles:
- Environment administrator
- Standard user
- Read-only user
Grant access to an environment to a specific user with a specific role.
Doing this from the Docker or Kubernetes command line would require significant knowledge and understanding. With Portainer, it's a point-and-click affair that will have those users ready to go in no time.
This would be fine if your business only works with a single cluster deployment. But the complexity of multi-cluster environments can get out of hand to the point your administrators might need to gain the skills to take care of what's required.
With Portainer, that is not an issue. Once you add all of your environments (regardless of location or complexity), they become exponentially easier to manage… all from a single entry point. If you have a full complement of team members, all of which are masters of Docker and/or Kubernetes, this might not be an issue. But when you have an IT staff of mixed skill levels, you want to empower each of them with the ability to take care of the task at hand.
Portainer not only makes that possible, but it also makes it easy. This is a perfect example where the adage "work smarter, not harder" applies. Imagine a web-based GUI that can make the process of multi-cluster management as simple as it can be with a single cluster. Wouldn't your company benefit from such a technology? Add in the ability to manage user roles, teams, and access to networks, secrets, volumes, and containers, and suddenly, your multi-cluster technology is easier to manage but more reliable and secure.
If those benefits sound like something your company could use, it's time to look into Portainer.