The growing Cloud Foundry ecosystem serves as a multiplier for technologies to deliver transformative results for enterprise IT customers. An example is provided by the NoSQL database company Redis Labs and its integration with Cloud Foundry, which counts T-Mobile and that company’s new ability to reduce its release cycle from months to hours as just one of its accomplishments.
Distributed Global Challenges
Redis Labs faces global challenges with many of its customers, according to the company’s product platform manager Vick Kelkar, and needs to address the significant challenges posed by multiple Cloud Foundry installations serving globally dispersed teams.
“What are the challenges with multiple instances of the Foundation?,” he asks. “What are the solutions for data needs, and how do you synchronize data across various Cloud Foundry installations and geographies?”
Vick outlines the challenge for the company’s Cloud Foundry customers to be able to develop and push applications independently.
They can use the same source data for apps and services, and being able to synchronize all the data across multiple datacenters and global locations.
He says that Redis Labs follows a practice called CRDT, or Conflict-free Replicated Data Types. This pioneering approach follows the ideas of Dr. Carlos Baquero, who serves on the company’s technology advisory board, and some of his colleagues.
The computer science involved with this approach delivers strong eventual consistency (SEC), with the aim of high throughput and minimal latency.
Redis Labs works with a BOSH-based Cloud Foundry release to replicate data reliably across a multi-Cloud Foundry infrastructure through continuous synchronization. Vick is able to note several use-case examples amenable to this approach, including scorecards and leaderboards, fraud and event tracking (a critical area in geo-distributed applications), collaboration, and distributed user input apps and services.
Let the System Do the Work
As with all Cloud Foundry users, the teams at Redis Labs use the platform’s abilities to handle underlying work – in this case ensuring the data replication and synchronization essential to geo-distribution.
Developers are able to focus on the same dataset, giving them a uniformly good experience and delivering a good user experience, according to Vick.
“We give developers the ability to push their apps and microservices locally and quickly, with no worries about the infrastructure.”
The Redis Labs open-source, in-memory, NoSQL database is able to handle five complex data types – strings, hashes, sets, sorted sets, and lists – while also being extensible to four modules that deliver additional functionality.
Very low latency, unsurprisingly, also an essential element to success in this sort of enterprise IT world. Vick draws comparisons with two traditional distributed database approaches: Google Spanner’s two-phase commit environments and the generalized Quorum-based approach.
He says both have relatively high latencies of between 100 to 200 milliseconds before achieving full consistency, making them problematical for typical web apps and services “in which you need quick response times so there is no lag for your users.”
Active-Active Networks of Equals
The CRDT approach achieves its results by taking an “active-active” approach that supports bi-directional application. This means that masters, or peers, are communicating with one another, while data continuously binds with all of the local instances.
An added benefit is the ability to create true, full-mesh topologies that allow networks of equals to have the same data and communicate as peers with one another. With the use of Cloud Foundry, other underlying issues such as cluster configuration and expiry are also handled without taking up developer time.
In the end, Vick says the company’s goal is to deliver performance, extensibility, and simplicity in a complex world. Readers who are interested in learning more about how Redis Labs works with Cloud Foundry can view Vick Kelkar’s presentation from the 2018 European Cloud Foundry Summit: