Cloud Manager User interfaces are difficult to create. Not only does every vendor out there have their own ideas, but the sheer number of UI toolkits available mean that even if two vendors have similar ideas, the end result will look totally different based on the underlying technology.
This issue only exacerbated when you start to look at the various management tools in use by the typical IT management environment. An IT admin will often interface with half a dozen systems on a daily basis, each with its own UI, its own way of doing things, and its own workflows that must be separately understood. It’s complicated. And it just makes supporting a persnickety pile of users that much more difficult.
The user interface last mile is the point at which a cloud manager’s user interface effectively abstracts the various underlying technologies it manages. The broader the supported underlying technologies are, the better the UI needs to be at presenting those capabilities in a sane, predictable manner. Connecting with numerous different types of underlying technologies only makes the problem more difficult.
Creating a User Interface is hard work. Creating a good User Interface requires even more significant effort, training, and understanding of how the design of the interface relates to the problem it’s trying to solve. Form follows function, but in order to effectively create something, one must really understand the function.
Different designers, different perspective
Understanding the function alone isn’t really enough, though. Different UI designers might perceive the functionality in different ways, creating significant difficulties for how the UI is implemented. For starters, the designer’s level of experience with the target environment is an issue. Terminology is another area that can cause difficulty. Different designers may have a different understanding of what the commonly accepted terminology is- for instance, the difference between software licenses being “used” vs. “deployed” is pretty important, as they’re two different things.
Where the designer’s primary experience originates from also makes a difference in the UI that they will produce. Without the credibility and experience in the data center, the resulting UI can be confusing.
Vendor Bias
An infrastructure or other large software vendor might very well use the UI as a tool to bias the end user experience toward a specific technology or solution. For instance, in a cloud manager, a large whole-suite vendor is likely to ensure that the cloud manager integrates better, and has better UI functionality for other technologies in their stack like virtualization, orchestration, and configuration management, but chose not to put the same effort into integration with 3rd party vendor products. This approach causes two problems:
- Reduces customer choice
- Makes it difficult to add additional technologies as needed
This bias is an important thing to take into account when making a technology decision. Vendor X may have a good product, but when it claims to be unbiased, it’s probably not true.
Disparate technology classes
In order for a UI to be effective, it’s got to do a good job of componentizing and standardizing display items and values in a manner so that it can more fully abstract the underlying complexity from end users, who generally don’t care that Applications in Puppet are called “Classes”, “Recipes” in Chef, and then just “Applications” in HP Server Automation. A well-written UI will make the right decision, and present users and IT administrators with something that makes sense, irrespective of what the underlying technology might call it. This also helps with extensibility, as IT Administrators can implement new technologies without the worry that they’ll have to fight with end users about changing the nomenclature in an environment.
Different use cases
Both IT administrators and end users are target users of cloud managers. Each of these user types, however, has a different understanding of what’s happening. A good UI will effectively abstract the underpinnings from users, but perhaps make those same underlying components visible to administrators.
Different users can also have different understanding levels. A UI cannot be so strict as to mandate each and every user sees the same thing at all times. Nearly every UI element needs to be customizable to effectively mold itself to match the user’s understanding.
A cloud manager UI also needs to strike a balance between the potential for deeper-level administrative tasks (such as managing VM migration between hosts, or creating a new application in a CM tool) and general usability. As cloud managers are just layers above the existing tools, there are things that will always make more sense to use the underlying tool to do. From an administrative point-of-view, not every possible option and capability can be exposed. This is important because while a good cloud manager UI will never be intended to accomplish every little underlying management capability, there needs to be a strong balance between breadth of capability and ease-of-use. If the balance is off in either direction, administrators and users alike will be frustrated with the interface.
The difficulties of open source UIs
Many open source tools come with UIs these days, but they end up falling into the categories above. Project teams tasked with building and maintaining these projects are often employed by different companies. Unification doesn’t happen too frequently in these projects. Even two products from the same company can have wildly different look and feel based on who originally developed it.
This leads to a natural conflict of “your UI or mine”. There ends up being inherent conflict between competing UIs, often leaving customers to choose between UIs depending on what task needs to be accomplished. This, of course, somewhat defeats the purpose, as there is no true single pane of glass management.
The Last Mile
All of these points come together to make a case for a tool that has both a powerful and flexible UI. A UI in this case needs to do a few things to be useful:
- Integrate with a wide range of technologies
- Independently integrate with each technology class
- Provide a mechanism to centrally access common tasks
- Intuitively offer appropriate choices to various users
These aren’t trivial tasks to accomplish. Getting them right takes significant skills, expertise, and credibility in the data center to get the use cases correct.
In short, it’s not for the faint-of-heart, and not everyone can do it. Have a look at CloudBolt C2 to see how the C2 User Interface is the most intuitive and powerful interface available in a cloud manager.