These days, perusing the service menus of public cloud providers is like browsing the shelves of a candy store. There’s so much neat stuff that it’s hard to walk away without buying more than you strictly need. Staving off sugar cravings at the candy store is on you. When it comes to the cloud, however, avoiding the temptation to purchase cloud services solutions you don’t actually need is critical for using the cloud effectively and profitably.
The Ever-Expanding Menu of Cloud Services
Once upon a time, the major public clouds--Amazon Web Services, Azure and Google Cloud Platform--were basically IaaS (infrastructure as a service) providers. They allowed you to rent virtual servers and storage space. They also tacked on a few SaaS (software as a service) solutions, most of which were integrated with their IaaS offerings. Today, however, each of the major public cloud offers a litany of IaaS, SaaS, PaaS (platform as a service) and other *aaS solutions. Whether you want to run a blockchain, model IoT networks or rent a big truck to move your data physically into a cloud data center, there’s a cloud service available to you.
The Danger of Having Too Much Cloud
This diversity of cloud services solutions is part of what makes the cloud so great. I’m not here to tell you that you should only be using the cloud for IaaS, and that everything else is just Sprawlware-as-a-Service. If you have an actual need for one of the more specialized services that the big clouds now offer, by all means, use it.
But you run into trouble when you start assuming that just because a cloud service is available for a specific type of task, you should use it. Some services you don’t need at all. Others might work better if you run an on-premises alternative to a cloud offering.
Before signing up for a new cloud service or investing time in learning how it works, ask yourself these questions.
1. Do I need this service?
Just because you can do something in the cloud doesn’t mean you need to do it at all.
For example, the ability to model IoT networks might be handy if you actually have a large and complex IoT network. But if you are managing a couple dozen sensors spread across your office, you probably don’t need to pay a public cloud provider for a SaaS tool that helps you map that tiny network of IoT devices. Wait until your network actually requires this type of solution to purchase it.
2. Is there an on-premises alternative?
Most things that you can do in the cloud can also be done on-premises. And while the cloud offers the convenience of easy setup and the ability to replace large upfront capital expenditures with manageable monthly fees, that doesn’t mean that the cloud is always the best for a given need.
So, while building a game using a cloud-based engine might be convenient in some ways, and could be cost-effective in certain cases, running the same software on-premises may be a better alternative.
Obviously, your mileage will vary, and you’ll need to determine which approach is best for you. But the key is to avoid the temptation of assuming that just because a cloud offering exists, and consuming it is easier than setting up an on-premises alternative, that you should use the cloud.
3. Is there a third-party alternative?
When you’re shopping from the menu of services available from a major public cloud provider like AWS, Azure or GCP, you’ll notice than many of the services they offer compete with similar SaaS solutions available from vendors that are not major public cloud providers but instead specialize in just one niche.
Custom search, for example, is something you could purchase from AWS, Azure or GCP. But there are other vendors that specialize in that niche, like Coveo and Algolia. Likewise, you could turn to one of the big clouds for big data analytics. Or you could instead use solutions from a vendor like Talend or Hitachi Pentaho.
There are pros and cons to both types of approach. Solutions from vendors that specialize in a certain area tend to offer more features and better support opportunities, but they may be less scalable. In addition, going this route adds to the list of things (and vendors) you have to manage. That’s not the case if you add a new type of service from a major cloud vendor that you already use for other workloads.
4. How mature is the cloud service?
Many of the more specialized SaaS solutions that the public clouds now offer have appeared in just the past few years, and not all of them are considered production-ready. There’s also no guarantee that the vendors will decide to keep offering them (although phase-out is a risk you take with any type of service or platform).
So, before you decide to commit yourself to a certain type of cloud service, evaluate how long it has been around, how mature it is relative to other options and how many other organizations are already using it for production workloads. You don’t want your mission-critical workload to be the guinea pigs for a public cloud provider’s new AI development kit or IoT management framework.
To be clear, I don’t mean to imply that all of the services from the big-name clouds are untested or should not be used at all, but if they are still in beta mode, you may want to think twice before relying on them.
The modern public cloud is a powerful tool, and most organizations would be wise to use it. But just because you use some cloud services doesn’t mean you have to use all of them. Be strategic in deciding which solutions to adopt from a major public cloud vendor, and which to implement elsewhere (or not implement at all, if you don’t really need them).