Interview "Almost every one of our on-prem customers is shifting to K8s," Redis Labs CTO and co-founder Yiftach Shoolman tells The Register.
Redis Labs – home to the enterprise in-memory database platform and open source Redis – was in London for a Redis Day when we spoke to them, and yesterday emitted automated cluster recovery for deployments on Kubernetes (K8s) as well as a new GUI tool for managing and analysing its databases.
The open source in-memory and NoSQL database manager, created by Salvatore Sanfilippo, is currently at version 5.0.6, with version 6 under development. The commercial product, Redis Enterprise, has additional features and modules, and parent company Redis Labs also sponsors the open source software.
A K8s operator for Redis Enterprise was released in October 2018, and thanks to the momentum behind containers – and K8s in particular – take-up is substantial.
The automated cluster recovery feature just announced is for use when a cluster loses contact with more than half its nodes, which causes it to stop responding. Cluster recovery creates a new cluster, mounts the persistent storage from the original cluster, and restores the cluster configuration to the new cluster. You could do this manually before, but the new automated process is faster, less error-prone, and enables more freedom for test and development.
"We saw a lot of users who were treating Redis initially like it was a stateless service and then failing to recover, because if you run a distributed cluster and kill the majority of the nodes there is no solution to auto-recover them," says Shoolman.
The new solution is good for development, where an application changes frequently. "It is also great for production. if you manage a massive amount of clusters you can reach a situation in which the majority of the nodes fail, especially in a K8s environment which is not as stable as bare metal," he says.
New GUI tool
The second announcement is the release of RedisInsight, a GUI management client for Windows, Linux and Mac. It is actually a browser-based tool which installs as a local web application, or you can deploy it on K8s, AWS EC2, or anywhere a Docker container can run. The tool can perform data operations, analyse memory usage, trace commands, and monitor cluster health. There is also a command-line interface for Redis within the tool.
"It is completely free," says Shoolman. "You can use it with the open source, Enterprise, Azure Cache, AWS ElastiCache, Google Memory Store, everywhere is good."
The public cloud versions Shoolman refers to are based on open source Redis, a fact that has caused the company some angst. "Cloud providers have been taking advantage of the open source community for years by selling (for hundreds of millions of dollars) cloud services based on open source code they didn't develop," wrote Schoolman in December 2018, introducing a new licensing model, later revised.
At the same time, Redis Labs needs the cloud providers and in fact has just announced the general availability of Redis Enterprise on Google Cloud Platform (GCP). Are the big cloud providers more partners or competition?
"It is a mix of both," CMO Howard Ting told The Reg. "They are in the business of Redis because there is so much demand from developers for it. So they offer a basic Redis service, all of them, but they all would like an enterprise class offering so we’re working towards partnerships."
What this means is that the company is relying on the added value of Redis Enterprise to sustain its business model.
What about Redis 6? What is in it and when do we get it?
"The idea is to have a release candidate around January," says Shoolman. "There's a lot of stuff inside Redis 6, starting with access control (ACLs) which previously was just a kind of password. One of things we will do with the enterprise is that we will connect this to additional well-known LDAP systems so it will be fully integrated."
ACLs are not just for enterprise, according to Redis author Sanfilippo. "The main goal of the feature is *operational* … with ACLs you can setup Redis so that default users, without some authentication, will be prevented to run anything that is administrative or dangerous."
Redis kills Modules' Commons Clause licensing... and replaces it with one of their ownREAD MORE
Shoolman says the Redis module system has also been improved. "We see a lot of market traction around modules, such as Graph and Search and TimeSeries and AI. We improved the interface between the Redis core and the modules, the extensions. We are going also to announce a module that allows you to do a distributed message broker on top of Redis."
There is also a new Redis protocol, RESP3. "Two reasons for RESP3," says the CTO: "one is to allow you to do things like client caching. The second thing is... to standardise the way clients are accessing Redis. We can use a single client for every developer language and add adapt code on top of them if you want to use the extensive capabilities of Redis."
Asked about the future of Redis, Schoolman says that the goal is to continue changing the perception of Redis from being a cache to "a real database. I think that our production numbers show it already. Redis can be extremely reliable."
He also sees a role for Redis in hybrid cloud. "Redis Enterprise has a technology called CRDB (Conflict-free Replicated Redis Database) to allow you to run an application in a truly distributed manner across cloud and on-prem, and active-active deployment in which one replica is managed internally and the other replica managed on AWS or Azure with our cloud."
There is also work on security "to make Redis secure in a way that it cannot change the memory," says Shoolman, and also an effort to take advantage of technology advances in the area of persistent memory. The CTO says he looks forward to "petabytes in memory … at a much [more] efficient cost." ®