Blog

Why the Cloud is Not Your White Knight

by Michelle McLean, posted on Thursday, July 20, 2017

Every organization is looking at how to leverage the cloud, and its promise of simplicity is enticing. The reality, though, is that it’ll take some work to enjoy the benefits of elasticity and flexibility in the cloud.

And DBaaS offerings like Amazon RDS and Azure SQL Database are no different. Even these “full service” cloud operations will introduce new challenges you’ll need to overcome.

Network latency: You get no guarantee on device location, and you can’t control the hop count in your tech stack in the cloud. These hops add latency, which could trigger multiple reconnect attempts.

I/O limitations: The more the cloud provider uses shared resources, the worse the I/O bottleneck gets. And noisy neighbors increase the problem. It’s typically too expensive to buy really big servers in the cloud too, so you need scale out instead.

Scalability: Cloud architecture are great at scaling the data tier – the problem is, how do your apps tap into the power of those scaled out infrastructures? AWS RDS and Azure SQL Database will let you easily create readable secondary databases, but you’ll need to re-write your application code to use them.

Hypervisor challenges: The multi-tenant environment of the cloud introduces contention for hypervisor resources. And if the cloud provider moves you to a less busy server, your app just went down. Users will get lots of app error messages, and the app will often hang or need to be restarted.

Availability: Just because you’re running in the cloud doesn’t mean you aren’t responsible for architecting for failover. The service may fail over the database – you’ve got to keep your app running.

Building in an abstraction layer between your apps and databases addresses these cloud challenges, because now you’ve got a buffer between your apps and the database. Read more about how ScaleArc solves cloud challenges, and accelerate your journey to the cloud.