Riak is our first highly available, non-relational database and the first component of our stack to use a new cluster provisioning model. Riak exemplifies the future of Engine Yard and you should totally check it out! Here's why.
Highlights of Using Riak on Engine Yard Cloud
Riak's use case primarily fits applications with loosely structured data where even seconds of downtime are unacceptable. Riak has a key/value data model and is completely data agnostic, meaning you can store anything you want in a value (media, json, xml, text, etc.).
Riak is masterless. You can send writes to any node in the cluster and data will be appropriately stored, even in the case of individual node failures. Riak also supports tunable consistency, allowing you to make the datastore more strict on certain types of data and more responsive on others.
Painless Installation, Management, and Support
We have invested in simplifying Riak's installation and configuration to make the learning curve less steep. In one easy step you can define the flavor and size of your cluster, the location of your data (EBS, ephemeral, etc.), optimize your cluster by selecting desired backends, and even enable full text search.
Once your cluster is up and running you can painlessly grow it if you need to add capacity. Removing nodes is also a trivial operation. If for any reason you want to archive your entire cluster, you can easily do this, too.
Riak clusters come with the fantastic support you have come to expect from Engine Yard. As partners of Riak's makers, Basho, we can quickly escalate tickets on your behalf when they require extra engineering insight.
A Whole New (Clustered) World
The cluster model used by Riak evolves the deployment topology of environments. Environments become more flexible with the ability to specify zero to many clusters per environment, and have all clusters properly deployed and balanced within availability zones in your region. We are also working on the ability to have clusters within a single environment provisioned in a different region.
As of today, clusters are exposed to all customers.
We will be migrating individual stack components to our new cluster model. All supported databases will be re-done and acquire the provisioning features you see in Riak. We are very excited about what we'll be releasing over the next few months.
Introducing Cluster Behaviors
The cluster provisioning model also allow us to express cluster-specific behaviors and act upon them in a scheduled way (or on demand). For example: all Riak clusters have access to rolling backups as their first supported behavior.
With rolling backups we can archive the entire contents of a cluster one node at a time without compromising its overall performance and ability to respond to requests. We will be introducing new behaviors (like rolling snapshots) very soon.
Things You Must Know
To prepare for the migration of legacy components to clusters we have decided to change the way environments update. We have pushed stack responsibilities down to the cluster level. This means that clusters are now responsible for managing their stacks and updates which gives us greater granularity and flexibility (it's a great thing, we promise!).
An important thing to note is that environment-wide custom Chef runs will no longer be applied to cluster instances. Clusters are isolated from system-wide versions of Chef as they carry their own stack and updates.
What Comes Next?
Here are a few things we have in store as we continue to evolve Riak and clusters:
We want to make Riak's management tasks more intuitive than ever, so we will roll out enhancements to the environment page and overall cluster user experience. We are also working towards improve cluster monitoring and alerting.
Enhancements to instance booting times are in the pipeline. You will be able to go from zero to a fully running cluster faster than ever!
Where Can I Learn More?
If you are in San Francisco we will be giving a tour of Riak on Engine Yard on May 22nd. Come ask questions! We'll hand out a few gifts to the best ones
Still Have Not Tried Riak?
Riak is available on all trial accounts. Simply sign up, boot up a cluster, and you'll be able to experiment with it.
Also feel free to open a Support ticket if you are wondering if Riak is a good fit for your application. We love hearing from our customers and want your feedback.