How Can SUSE Manager Complement SaltStack Enterprise
Anyone that has worked in IT long enough has heard of Salt as a leader in the configuration management area. Whether you’ve used it or not, you understand how much power can be gained with the platform. But Salt alone isn’t the perfect fit for everyone, especially if you need more than pure configuration management. As a command-line tool, Salt does require a learning curve that is significantly steeper than the tools traditionally used by most admins. You not only have to learn the commands to be used, but you also have to know how to create Salt states, modules, formulas and pillars.
Of course, once you master the tool, the sky is the limit with what you can do with Salt, but you still need to figure out other capabilities such as:
• How to handle lifecycle management
• Where to store your assets
• How to manage dependencies
Before we dig deeper into this, let’s address a couple of basic questions.
What Is SUSE Manager?
SUSE Manager is a single tool that makes it possible for your staff to manage the complete lifecycle of both RPM-based and Debian-based Linux systems through a single, web-based user interface. Power users will also be glad to hear that SUSE Manager also includes a command-line component, as well as an API.
SUSE Manager can be used to administer, deploy, configure and audit all your Linux systems, whether they run on bare metal or within a virtual environment, on-premise, cloud or hybrid cloud. It includes a powerful collection of automation and orchestration features that help you extend and expand the power of a single admin, minimizing staffing cost and reducing the time for system deployment and updates, even in complex DevOps scenarios.
If your IT staff is required to manage hundreds of Linux servers, the time it takes them to provision and maintain those systems at a given state cannot only be costly in terms of budget but in time. And a single misconfigured server can mean downtime, which not only can impact your budget but your company’s reputation. Even cloud deployments become a much more reliable and efficient task with SUSE Manager. To maximize uptime, reliability and confidence, a tool like SUSE Manager is essential.
What Is SaltStack Enterprise?
SaltStack Enterprise uses Salt, which is an approach to infrastructure management. Based on the idea of communicating with large numbers of systems, Salt uses a remote execution engine to create high-speed, bidirectional communication between a master and minions (agents) . Using a declarative configuration management paradigm called Salt States, it is possible to achieve a certain system state on multiple machines simultaneously. Salt will take care of determining and executing whatever commands are required to reach that system state.
Those commands are issued from the controller and target the minions. The results of the commands are then communicated back to the controller (the so-called “Salt master”), which keeps track of the current states of each system. The Salt master is run on Linux, but minions can be composed of any combination of Linux, MacOS, and/or Windows machines (or even network devices).
At the heart of SaltStack Enterprise is Salt code, which is used to create formulas, states, etc., which put together various directives that are then executed on remote machines.
A very basic piece of Salt code might look like this:
The above state would ensure the Apache web server is installed on all minions. What you see there is incredibly simple for Salt code. The state is executed on the Salt master and runs on all minions. It’s a very elegant solution that makes it possible to automate multiple systems at once.
The drawback is understanding both the command line and layout of Salt code. Although not beyond the skills of the average admin, it can be time-consuming, especially when you’re managing, deploying and/or provisioning hundreds of thousands of machines. And Salt can get incredibly complex.
At that point, a GUI would come in very handy.
Why Use SUSE Manager with Salt?
If you’re already using SaltStack Enterprise and/or Salt, you probably have a fairly efficient and reliable configuration management system up and running. With that already successfully deployed, why would you then want to use SUSE Manager? After all, you’ve got SaltStack Enterprise down to a science.
Sometimes you need to extend Salt capabilities and provide an end-to-end solution to that by taking into account provisioning, cloud deployments, compliance, content repository and life-cycle management.
With SUSE Manager’s Salt integration, you not only gain the power of content staging, provisioning, deploying, and compliance, you can also ensure those provisioned servers are always maintained at a required state. And all of this can be done using automation. The convergence of SUSE Manager and SaltStack Enterprise is a win-win for everyone.
For those comfortable with writing Salt code, Salt Stack Enterprise is an outstanding solution for these tasks. On the other hand, anyone who prefers a GUI will find themselves at home with SUSE Manager. Either way, both SaltStack Enterprise and SUSE Manager are outstanding solutions for configuration management.
Another benefit of using SUSE Manager is having a team of support professionals on your side. With SUSE Manager, you enjoy world-class 24/7 support that not only can help your staff get up to speed with the management tool but show you how to make use of the user-friendly GUIs that make it possible for you to achieve Salt States without writing a single line of code. So not only are you getting powerful provisioning, configuration, automation and auditing platform, you’re getting a highly trained staff to help your migration be painless and trouble-free. Of course, in SUSE Manager you can still write and directly use Salt States, modules, formulas and pillars yourself, like you would mandatorily do with SaltStack Enterprise.
How SaltStack Enterprise Integrates with SUSE Manager?
Think of SUSE Manager as a more powerful and flexible version of SaltStack Enterprise, with a well-designed, web-based GUI for ease of use.
There are a few GUIs for Salt (such as SaltStack Enterprise, SaltGUI, and Alcali), but (except for SaltStack Enterprise) many of those applications aren’t viable for enterprise-level use cases, because they are either smaller projects without support, unstable or have been abandoned over the years.
As for SaltStack Enterprise, it is merely a user interface for the orchestration and management of several Salt masters (controllers) to execute Salt commands targeting minions and other controllers. When employing such a tool, you’ll still need to have a solid understanding of Salt and how to write Salt code for the states, formulas, etc. (such as our basic example above). Since the SUSE Manager Server runs an embedded Salt master, you can use SaltStack Enterprise to orchestrate the Salt masters provided by several SUSE Manager Server nodes.
Remember, SaltStack Enterprise provides you with the means to keep your servers at a specified configuration state, but SUSE Manager provides you with much, much more. Both use the Salt open source project SUSE Manager is 100 percent compatible with SaltStack Enterprise.
Although you can also manually write Salt code when using SUSE Manager, SUSE Manager adds a layer that completely abstracts the user from the Salt details. In other words, you can deploy, manage, monitor, secure, etc. your systems without writing a single line of Salt code; SUSE Manager takes care of that challenge for you.
One crucial difference between SaltStack Enterprise and SUSE Manager is that SaltStack Enterprise is mainly about automation, whereas SUSE Manager is about making automation, provisioning, management, monitoring and virtualization easy and accessible thanks to its WebUI, API and command-line tools. If you want compliance, you can buy a second product called Salt-Stack SecOps; in the case of SUSE Manager, that functionality is built-in. In other words, SUSE Manager is about having Salt plus additional ingredients come together to make several complex tasks exponentially easier and handled from a single point of entry.
You will also find that many concepts found in SaltStack Enterprise are available out-of-the-box in SUSE Manager. Some concepts (such as environments) are even more advanced in SUSE Manager. For instance, SUSE Manager can use the Salt environment’s directory, as well as Content Lifecycle Management environments, state channels, system groups and more. So not only are you getting more power and more control over numerous layers of system management, you’re getting a near 1:1 binary replacement for SaltStack Enterprise, all in a well-designed web user interface that runs on one of the most enterprise-ready operating systems available—SUSE Linux Enterprise Server.
There are, of course, some SaltStack Enterprise features of SaltStack Enterprise missing from SUSE Manager, including:
A UI to manage a multi-master setup. With SUSE Manager, this is called the SUSE Manager Hub. So far, it is API and command-line only; there is no UI yet (although SUSE has confirmed it is in the roadmap).
SaltStack provides more visual feedback (graphs, dashboards) out-of-the-box. SUSE Manager provides this with Grafana and not too many dashboards are yet available. At the moment, users can extract information as Prometheus metrics or via API from the SUSE Manager Server. Better visuals is a common request and, given SUSE values feedback from customers, we expect this functionality will be provided soon.
Management of non-Linux operating systems (e.g., AIX, Windows, etc.) works from the SUSE Manager command line, but it is not integrated in the SUSE Manager WebUI (i.e., you cannot see AIX or Windows clients in the SUSE Manager WebUI but you can still manage them from SUSE Manager Server using the Salt command-line tools).
SUSE does not provide Salt packages/installers for non-Linux operating systems at this time. Users interested in this functionality will need to install the client using SaltStack’s free installer, which will work with SUSE Manager.
How Does the Salt Master/Minion Relationship Function in SUSE Manager?
The SUSE Manager Server functions as the Salt master and clients can be either Salt minions (i.e. ,“agentful” clients) or Salt SSH clients (agentless clients). You can even aggregate several Salt masters by employing a SUSE Manager Hub Server on top of the peripheral SUSE Manager Servers.
SUSE Manager uses Salt internally to register clients, enforce global configuration, etc.
If you are a Salt and SaltStack Enterprise master, how you can take your current level of knowledge, expand it beyond configurations, and meld it with content staging, provisioning, auditing and monitoring? By employing SUSE Manager in conjunction with SaltStack Enterprise, you not only gain these added features, but you can also cut costs and work with some of the best enterprise-grade support on the planet. You can also use SatlStack enterprise to orchestrate multiple SUSE Manager deployments, or you can provide a “traditional DevOps endpoint” to your DevOps teams. SUSE Manager is a powerful, flexible and resourceful partner to SaltStack Enterprise. With a solid grasp of how Salt works (and how to write Salt code), the sky’s the limit with what you can do for your company.