User experience and user interfaces aren’t the first choice of most companies when choosing a public cloud provider. It’s more important to weigh cost, service level agreements, services offered, and a whole host of other options. For large established companies looking to shift to the cloud — these are top priorities. I would however encourage smaller companies to consider user experience in cloud consoles and command line tools to be a major deciding factor — here’s why.
In my years of working with many different public clouds, I’ve found certain providers like Google Cloud Platform and Digital Ocean to have incredibly intuitive and straightforward interfaces. These platforms employ wizards for walking developers through complicated setup processes, and have thought out organizational structures for services offered.
With many companies transitioning to a DevOps mentality (developers should run the code they develop), engineers who are unfamiliar with particular nuances of system administration are not going to be able to effectively set up and control cloud resources.
It’s not realistic to expect a web developer to be able to quickly iterate over complicated setup procedures for things that were traditionally done by a system administrator. While the beauty of many cloud services offered comes in the ability for customization, it’s unfortunately very easy to set up an insecure service by default. Setting up a virtual machine, a database, or a storage bucket shouldn’t violate the principle of least surprise, and should make the developer aware of what is happening.
In medicine, we often speak about informed consent. A patient cannot consent to a procedure that they do not understand. Medical professionals make sure a patient knows the risks associated with a procedure before consent can be given — a similar process might do well for setup procedures. A good user experience will warn a developer that a choice they make is an insecure one — and will steer them away from it by default.
Cloud companies looking to attract startups with DevOps mentalities (which seems to be all startups), would be wise to place an investment in good UX, clean user interfaces, and comprehensive but clear documentation. Whereas the cloud was designed for organizational-level workloads, more individual contributors and smaller companies are turning to it for solutions like platform-as-a-service. These contributors will turn to the service that provides them with the easiest experience, and allows them to iterate the quickest. While I have many workloads that run on many different cloud providers — when I need to get something done quickly, I use the platforms that I can intuitively understand.
What are your thoughts?