ScaleArc improves uptime and performance in the cloud, even on cloud DBaaS platforms.
Database as a Service (DBaaS) offerings such as Azure SQL DB and AWS RDS simplify the roll out of database workloads. Some enterprises have mistakenly assumed these more sophisticated offerings address all their needs for application uptime and performance.
In reality, these database services suffer from many of the standard challenges of running in the cloud. ScaleArc’s software addresses these shortcomings, improving uptime and performance for apps running on DBaaS.
ScaleArc specifically augments DBaaS offerings with the following capabilities:
- Automate scale out at the app tier – DBaaS provides scalability at the data tier, enabling you to easily add database capacity. The challenge is that your apps can’t tap into that additional capacity without code changes. ScaleArc enables your apps to automatically scale up or down by managing the traffic load into the data tier. The ScaleArc software automatically performs read/write split, so as you add database capacity, your apps can immediately take advantage of the additional servers. When you scale back, ScaleArc will load balance the traffic among the remaining servers.
- Enable app-transparent database failover – DBaaS offerings include automatic failover of the database. The problem is that even though the database will failover on its own, your apps will go down. The ScaleArc software works with and complements database failover. It recognizes when the primary or master server goes down and invokes the ScaleArc queue, holding incoming writes and directing reads to unaffected servers. When the new primary is ready to go, ScaleArc drains its queue in a FIFO (first in, first out) manner, so apps see delay but not errors and you preserve data integrity. With ScaleArc in place, you get failover that’s invisible to your users, both within and between regions.
- Enable zero downtime maintenance – With DBaaS, the cloud provider is on the hook for database maintenance. The challenge is, you can’t control when that maintenance happens, and it can take down your apps. With ScaleArc, you can point the app at our software and we can in turn direct traffic down to DBaaS resources in multiple regions. With that architecture, even when your provider performs a regional maintenance window, ScaleArc will route around the down resources, enabling continuous availability for your apps.
- Avoid downtime from traffic surges – If your app suddenly goes viral, the traffic onslaught could swamp your database servers and take down your app. ScaleArc avoids that problem, absorbing the sudden traffic surge in a queue and evening out the load across the database cluster. If the surge persists, you can add database capacity and ScaleArc will automatically load balance the SQL queries across all your available database resources.
- Increase application performance with no code changes – With variants in network hops and no control over where devices are based, IaaS and DBaaS offerings can slow application performance. ScaleArc introduces a number of capabilities that boost throughout, with no code changes. You can take advantage of ScaleArc’s query response caching, which stores read responses until the Time To Live (TTL) expires or the cache is automatically invalidated by a data change. Our connection pooling and multiplexing capabilities mean your apps reduce the load on the database server, reducing interrupts and enabling it to serve traffic more efficiently. The ScaleArc software also dynamically load balances all SQL queries – not TCP connections – so requests go to the fastest performing server.
- Avoid serving stale data – As you scale database capacity in DBaaS, you could see replication delays across some of the readable secondaries, which risks you serving stale data. ScaleArc monitors replication lag, constantly checking that secondaries are replicating the data within the time threshold you define as acceptable. If a server falls behind, ScaleArc won’t send requests to that server – offloading the server should allow it to catch up, and we won't serve stale data. When ScaleArc sees that replication is again within your pre-set timing threshold, our software will direct reads to that server again.
So use ScaleArc and improve uptime and performance for your apps on DBaaS.