Instaclustr has released new managed node sizes with locally attached storage for Apache Cassandra and Apache Kafka clusters running on Azure or GCP on the Instaclustr Managed Platform. These are in addition to the locally attached storage options already available for AWS.
Locally attached storage (or direct attached storage) has significantly higher IOPS than network attached storage (EC2, Zonal SSDs, or Premium SSDs) and allows for significantly lower latency, especially during high random read or write periods on your application.
Local storage also results in a significant reduction in storage costs, especially when run in your own cloud provider account and used in conjunction with reserved instances. This is because reserved local disks are cheaper per GB, and additionally reserved pricing discounts will be applied to instances with locally attached storage.
Take the following example:
In the GCP US-Central-1 region, zonal SSDs are priced at $0.17/GB. However locally attached storage is priced at $0.080 per GB, and further reduced down to 0.036 when reserved for three years. By reserving an instance with locally attached storage on GCP over a three-year commitment, you can expect to save around $0.134 per GB a month on storage costs, savings of roughly 80% on your storage costs or $400 per month per instance for a 3TB drive.
Additional IOPS can also provide a performance improvement when performing non-sequential reads or writes. In Cassandra, these can be random queries accessing multiple partitions. In Kafka, these can be multiple consumers with different offsets requiring less sequential reading and writing of logs on the brokers.
Locally attached storage does have the drawback that the storage is ephemeral. This means in the case of instance failure, or modifying the instance size, the data will need to be re-streamed from your application to ensure the correct number of replicas exist. When using network attached storage (NAS) we can re-attach the disks to save time re-streaming.
We have been operating locally attached storage instances in AWS for a significant amount of time, and have the tooling and operational experience to safely operate within these constraints. Many of our largest customers utilize locally attached storage instances in AWS, and they represent more than a third of our fleet of nodes.
We always recommend using a replication strategy which involves three copies of your data to ensure that there is no data loss through normal operations. These are documented for both Cassandra and Kafka.
In order to assist customers in upgrading their existing clusters to locally attached storage instances, Instaclustr Technical Operations team has built several tried and tested node replacement strategies to provide zero-downtime, non-disruptive migrations for our customers. Read our blog on advanced node replacement for more details on one such strategy. If you are a current customer, reach out to our Support team if you are interested in locally attached storage instances for your cluster.