August 15, 2013
With the launch of Riak CS 1.4, several members of the Riak team have been approached with the question “Why did you build Riak CS?”
When we open sourced Riak CS in March of 2013, the conversation focused on the importance of the community of developers with whom we engage, and participating with this community in a more open fashion.
However, understanding the history of a product can be just as important as understanding the logic behind our go-to-market strategy.
Put simply, Riak is a distributed systems company.
As a company that started with Riak, an open source distributed database, we had an immediate, targeted focus on high availability, fault-tolerance, and linear scalability. These core properties of our database implementation are, in actuality, consistent themes to consider when building any distributed system. And as Riak and Riak Enterprise gained traction in market, several customers began to use their Riak implementation to store larger objects.
With this and other customer feedback in mind, we prototyped Riak CS, which offers all of the benefits of Riak, while also adding the features and functionality required to power large object storage in public or private clouds as well as providing reliable storage for applications and services.
As we built upon this initial prototype, both based on distributed systems themes and customer input, we added an S3-compatible API to Riak CS. This provided a solution for service providers that wanted to offer S3-compatible storage and for customers that wanted to adopt a hybrid-cloud approach to address data sovereignty or redundancy concerns. We also added OpenStack Object Storage API compatibility with the latest Riak CS 1.4 release. Riak CS can now easily interact with multiple IaaS providers, which helps expand our potential user base for both the open source and enterprise product.
However, regardless of feature decisions – either present or in the future – our commitment to providing robust, resilient distributed storage remains.