Today we’ve officially announced our much-anticipated auto-scaling feature – a breakthrough in increasing the efficiency, simplicity and ease of use of your database in the cloud.
Xeround’s industry-first, auto-scaling capability uses offers robust elasticity with automatic rule-based scaling to provide unlimited and linear MySQL scalability linearly, for both database throughput and size. Scaling out/in or up/down is done with no database downtime and is transparent to the application, meaning no code changes are required.
A little bit of background:
Having spent most of my career around databases and the applications that use them, I can attest from experience that scaling the database tier is a major problem in the dynamic environment of the cloud.
Scaling an application (by adding additional servers and load balancers) is pretty much a no-brainer, and many cloud providers offer that. Some, like Amazon EC2, even offer the automatic addition of servers to scale an application once CPU usage is high.
On the database tier, things are very different: scaling a database in general is no trivial task. In the cloud, it is WAY more difficult because the database is statefull - unlike the cloud’s stateless environment.
Scaling a database requires:
- Additional server(s)
- Synchronizing all the data
- Changing the application’s code to recognize the new architecture and to take advantage of the additional resources
- Ensuring the data is always synchronized – which is difficult since most databases do not support a Master-Master configuration
- And lastly, the icing on the cake: In “shared-nothing” architectures, adding nodes to achieve MySQL scalability requires re-partitioning the data. This may call for additional application changes, and in any case it requires a “Partitioning-Event,” which means database downtime.
If you’ve ever tried it, then you know that scaling your database can be done, but it requires a lot of manual and seemingly never-ending work. Once you’ve gone through all this trouble (and risked loss of business due to downtime or any migration issues), you…
- Either repeat it again every time your MySQL app needs to reach the next level of scalability
- Or get caught in this back-and-forth routine: Scale-up, then once the peak is over and you need to reserve resources – you repeat the process to rollback to your previous install; then scale up again, then scale down again, and up, and down, and so on…
The “dance” of the DBA isn’t such a pretty one.
Scaling a database is tedious, painful and potentially risky in the sense that it can cause a temporary denial of service. Furthermore, you often need to commit to a larger machine (over-provisioning) for seasonal peaks. The rest of the time, those resources go underutilized.
Naturally, you want to ensure elasticity and availability of your database, but you don’t want to be bogged down by the manual configuration, optimization, management, development, or god-knows-what required to make sure your database is running smoothly.
Introducing Xeround’s Auto-Scaling capabilities:
Much of our focus at Xeround is on simplifying the way databases are managed in the cloud – supporting true MySQL scalability and high-availability in a way that’s as plug-and-play and as automated as possible.
In comes Auto-Scaling:
- The system identifies when more resources are required – either in DB size or throughput – based on the threshold the user defines.
- Your database automatically scales across multiple nodes when needed, and scales back down when it is underutilized – no over provisioning.
- No database downtime – re-partitioning and resource allocation are done on the fly.
- Scaling is transparent to the application – no code changes or any architectural considerations are needed to support scaling.
- Unlimited linear scalability for both database throughput and size.
To enjoy auto-scaling, all users need to do is log in to their Xeround Database Manager console and define the threshold at which they want the database to automatically scale up. By the same token, when the database is underutilized, automatic scale-down shrinks database resources to save costs while ensuring that the system will continue to function without disruption.
Auto-scaling is offered in addition to our on-demand scaling capabilities, where users can scale their database instance up or down with a single click from within the Database Manager online console.
Auto-scaling and the dynamic allocation of resources are also key to Xeround’s ability to bill users based on actual usage, and not by a pre-set instance, which often results in over-provisioning. As Xeround’s auto-scaling feature develops, users will be able to configure advanced rules and policies for automatically assigning resources to their database as their application demands – thus achieving truly transparent MySQL scalability.
To summarize: Scaling your DB in the cloud just got a hell of a lot easier!
Very exciting! :)
Give it a try »