Cloud burst is a sudden increase of incoming traffic to a cloud service. They are common on many useful domains like e-commerce, news, weather information, Internet of Things (IoT), telecommunications and many more. Preparing for a burst is a inherently a hard problem, primarily for two reasons. First, it is typically impossible to predict when the burst will occur and second, costs of maintaining the infrastructure required by such spikes is unjustifiable.
Different approaches have been used to address the bursting problem. This document focuses on handling cloud burst in one specific domain: a NoSQL database Apache Cassandra . Cassandra is a popular, open source fully distributed database, providing high availability with no single point of failure. It excels at fast, low latency writes, with slightly slower reads. Cassandra is often used as part of a cloud service, providing robust support for clusters spanning multiple data-centers.
This report documents the ways of handling cloud bursting in the scope of Cassandra. It details the approach and presents major reasons limiting the Cassandra from supporting more efficient bursting techniques. The report then introduces a fully NoSQL database Scylla, fully compatible with the Cassandra client API. Scylla is being implemented on top of the Seastar technology developed partly within MIKELANGELO project. Seastar is an advanced, open- source C++ framework for high-performance server applications on modern hardware. Benchmark results for the Scylla database will be presented demonstrating benefits of using modern APIs taking recent progress in hardware design into consideration.