5 Scenarios Where the Cloud Isn't Better (Yet)
With the meteoric rise of cloud solutions and subsequent buzz, it's easy to assume the cloud is the solution for everything. It's easier. It's more flexible. But there are a few scenarios where the cloud just might not be right for you — yet.
1. Your app may be a bad candidate for the cloud.
With cloud services, you will be running on servers and network hardware that are geographically distant from you and shared with other cloud customers. Some applications demand network latency, speed, and bandwidth, or consistently extreme disk I/O performance. Unfortunately, these are still hard for cloud environments to satisfy. Even with AWS Elastic Load Balancer, you'll still likely run into trouble on this side.
Additionally, some applications do not distribute well. Your application may be inherently more appropriate for a dedicated server or cluster. Similarly, your key algorithms and data access patterns may not easily factor across multiple servers.
2. Deploying your new app on a dedicated server may be smarter.
Designing and implementing your SaaS app to be cloud-ready is an extra cost. CBT Nuggets trainer Anthony Sequeira talks about how to mitigate these cost in his AWS Certified SysOps Administrator – Associate course, but, still, there are costs.
For your first roll out, are you confident the users will come flocking, and you'll need the option of scaling out immediately? It may be wiser to test the waters with a quick and dirty implementation on a dedicated server and reimplement for scalability when you know you have the need.
3. The costs (and risks) of making things cloud ready.
Legacy applications and services generally must be adapted to perform well and actually achieve cost efficiency, high availability, and fault tolerance in the cloud. For that matter, if your apps rely on third-party software – particularly closed source – that's not yet adapted/optimized for the cloud?
If you have infrastructure and staff in place that are meeting your needs, moving to the cloud may not make sense. Despite the assurances of cloud providers, mixing and matching the wealth of cloud services and distributing data and processing across multiple data centers is complex.
Will a rewrite achieve the level of service you need? The costs and risks of re-architecting for the cloud may not be your best option. If your apps and the associated operations are not designed for scalability, it may make more sense to look for performance bottlenecks and configuration improvements.
4. The cloud may not be cost effective for your circumstances.
In the cloud, you benefit from economies of scale by sharing resources – hopefully invisibly – with other cloud customers, but you lose the benefit of amortizing the costs of your own server setup over its lifespan. Much of the cloud's cost efficiency comes from on-demand scaling. Do you have a variable workload and variable need for services, or does your application have a relatively high and stable load?
Perhaps you have sufficient capital for your own network. You may even be big enough to benefit from rolling your own network with custom tech designed for you. Though many giant companies are moving toward the cloud (even some you wouldn't expect), Dropbox famously moved 500 petabytes from AWS to its own private cloud optimized for its particular needs.
For the rest of us, just determining the true costs so you can compare cloud vs dedicated servers is difficult. The ongoing costs incurred by cloud-resident applications and services are complex. Moving your data to the cloud initially is fairly cheap, but cloud providers usually tack on a bandwidth toll for using and moving data thereafter. Anthony also covers this topic in his AWS Certified SysOps Administrator – Associate course.
Don't forget the up-front cost of adapting your existing applications and services to migrate them into the cloud. Frequently, you can't migrate 100 percent. Some of your resources must stay on-premises, entailing the complexity and costs of a hybrid environment. And if you want to avoid vendor lock-in, you are doing all the above, to at least some degree, for multiple vendors who have varying APIs for advanced services.
5. Security and privacy concerns.
Given repeated high-profile cloud breaches, should you be concerned about your security and privacy?
You may have specialized needs. You need to consider your institution's privacy standards. And if your industry is subject to a regulatory regime, you should check whether your regulations have already adapted to the cloud and whether your own particular compliance auditors are up to speed on the issues.
More generally, moving from your own servers to a cloud vendor means giving up sole control over valuable and sensitive code and data, potentially your company's crown jewels. Cloud providers are juicy targets. While the data centers themselves are veritable fortresses, you're responsible for controlling your access credentials. That's what AWS means in their shared responsibility model.
What if your provider gets hacked? What if a government in a country where your provider operates requires that they quietly turn over data? What if your cloud vendor or ISP decides to monetize their user logs? It's important to remember that ensuring security and privacy is critical to the cloud provider's business A cloud provider usually has more experience and resources for security than you do.
Still, be aware that security in the cloud requires specialized expertise; it is a division of labor where both the cloud provider and you have responsibilities that must be met to ensure your security and privacy.
The cloud may not be right for you, yet. Take the time to evaluate the opportunities and risks it offers to your particular situation.
Learn more about the CBT Nuggets Learning Experience.