Google and other tech giants can be hard examples to follow. As organizations rush to scale their infrastructure on a mix of on-premises and cloud environments, especially on Kubernetes, they often struggle when trying to store and analyze data from stateless sources. A lot of the traditional storage databases have not worked at the scale needed, while the early cloud services, such as AWS and Google, developed their own storage environments internally.
“Kubernetes was very much focused initially on the stateless workloads and didn’t do a very good job, to be perfectly honest, of providing any kind of support for storage, other than to the extent that you could connect to an existing public cloud provider,” Quinton Hoole, technical vice president of Huawei’s Futurewei Technologies, said. “I think that’s evolved a lot over the last several years, as there are many different cloud native database [options]. People are starting to do serious stateful workloads in the cloud and in Kubernetes, in particular.”
In this edition of The New Stack Makers podcast recorded live at KubeCon + CloudNativeCon North America 2019, Sugu Sougoumarane, co-founder and Chief Technology Officer at PlanetScale, as well as Hoole, discuss what tools and approaches organizations can take to store and manage data from Kubernetes and containers.
They also cover how storage and database-management tools are catching up to organizations’ often complex infrastructure needs. However, finding the right tool mix is not easy.
“When you get into storage, especially the database-type storage, there are a large number of configuration options, and it is very hard for an orchestration system to support all those combinations,” Sougoumarane said. “And typically, it’s much easier to have an opinionated way of saying, ‘this is how we believe it should be run,’ but when that happens, then there’s a whole bunch of things that can get left out, so it’s a difficult problem to solve.”
Among the solutions available, PlanetScale CNDb, a cloud native database that the CNCF’s open source Vitess project powers, offers database clustering for the scaling of MySQL. CNCF SIG Storage is also a resource.
A key takeaway is how there is no one-size-fits-all solution for all organizations to adopt. As mentioned above, much depends on the organization’s complexities and the specific constraints it might have for what its databases are required to do.
“When you build small and relatively simple applications, you can kind of use anything,” Hoole said. “For the other things, when you get to the scale of what a lot of people are starting to use Kubernetes for, we have seen some very interesting” examples of what is possible at a very large scale, such as what Zoom and Slack have developed.
At the end of the day, your organization will likely have very particular storage and database requirements.
“I think you end up needing much more specialized solutions to the particular problem you are trying to solve,” Hoole said.
The Cloud Native Computing Foundation is a sponsor of The New Stack.