- Use Cases
- Dev Center
- Watch the Demo ❯
You are here
Database Performance Management: A Different Ballgame in the Cloud
Feb 2 2015
If you ask most CIOs what they want from their database architecture, the usual answer is “performance.”
While speed, scale, flexibility and other metrics are important, they are all factors in the overall performance equation. In the end, users want to do more in less time without it costing an arm and a leg, and this is why so many enterprises are looking to the cloud to take on more of the database load.
At the recent AWS re:Invent conference, Redis Labs released a survey that showed 60 percent of the software development market views performance as the top challenge in cloud database management. Whether the programming language was Python, Java, Ruby or one of the many others and the databases themselves were MySQL or a noSQL distribution from MongoDB or Redis itself, performance edged scalability, flexibility and even availability as the number one priority.
Going forward, the expectation is that software-based data constructs will be more dynamic than today’s integrated platforms and therefore drive greater productivity while still keeping both capital and operating budgets in check. As tech analyst Joe McKendrick noted to Database Trends & Analysis recently, architectures built around open clouds, advanced automation, DBaaS and other services are on the rise, while new generations of virtual infrastructure will unleash a wave of enhanced and optimized production environments.
But while this gives the enterprise a fighting chance against the demands of Big Data, social networking and mobile connectivity, it presents a problem as well. Performance optimization is largely a function of the interplay of multiple layers within the infrastructure stack, up to and including the data plane. And as more of the database load heads to the cloud, the loss of control over the inner workings of the environment results in a diminished capacity to dynamically analyze operational conditions and enhance performance. Companies like ProfitBricks are looking to address this need with cloud-ready performance testing solutions, but by and large the enterprise has to rely on the kindness of cloud providers when it comes to really understanding what is going on out there.
To be sure, many of the leading service providers offer a range of tools designed to empower the enterprise with new levels of visibility into their leased infrastructure. Google’s Cloud Monitoring module, for example, provides steady monitoring of performance, resource utilization, uptime and a host of other parameters for its Google App Engine, Google Compute Engine, Cloud Pub/Sub and Cloud SQL services. It can also provide alerts when specific conditions are met or performance-affecting problems arise, while the Cassandra dashboard API accepts custom metrics that enable integration with enterprise-level system and infrastructure management tools.
Still, in most cases, cloud-based performance optimization is relegated to the service level, primarily as a means to ensure that that enterprise is getting what it paid for. The kind of deep, granular insight that organizations enjoy with on-premises infrastructure is generally not available on the cloud. But to many, this is as it should be. If there is a problem with service levels, simply notify your provider and let him deal with the messy details. If they cannot live up to the SLA, get another provider.
In the end, performance optimization in the cloud is not simply a matter of deploying the latest and greatest gizmos or toolsets, but requires a fundamental rethinking regarding data and resource ownership and where responsibilities lie for the smooth operation of the dynamic, distributed architecture.
And in all likelihood, it will turn out that while the cloud will provide superior service than in-house infrastructure for much of the data load, there will remain key applications and workloads that are best left to the enterprise datacenter.
Editor’s Note: Luckily, since NuoDB can run both on-premise and in the cloud, we can support your applications no matter where they are!