 Hello. Welcome to this lightning talk presenting on Rook, Enterprise Storage for Kubernetes. I'm Travis Nielsen, one of the original Rook maintainers, and I work for Red Hat. Happy to be here with you today virtually and hope to meet you soon in person at some point. So let's dive right in. All right, so who needs storage? We all need storage, right? Applications require persistence. That's just what it comes down to. Now, depending on where you're running, you have different solutions available for storage. If you're running in a cloud provider, you have options available for storage. You might also be finding limitations with them, or each cloud provider is different. You don't have a consistent platform there. Or if you go into your own data center, you kind of fall off a cliff and you say, wait, what do I do for storage? Now I have to go find some external solution to provide storage to my Kubernetes cluster. What do I do? Third point, storage is traditionally not part of your Kubernetes cluster. It's treated as an external plugin. But why really should storage be external to Kubernetes? Shouldn't we be able to manage storage as any other at Kubernetes application inside the same cluster? And finally, a question we started with was, well, if you're building a data platform, can you really trust a new data platform, something built from scratch? Or is there a way we can bring in a stable data platform that's been around for years already? So we don't have to go rewrite that data layer. So we sat out with some goals early in the work project, and we said, we want to make storage available natively to your Kubernetes cluster. Of course, it'll be consumed like any other storage plugin. It'll use storage classes and PVCs and PVs and all of that goodness. So it will be consumed with the same patterns that you've already been using. A second storage should be automated, and it should be done in a way that is native to Kubernetes. The way you do things in Kubernetes and you add on to Kubernetes is with operators and with custom resource definitions or CRDs. So if you have those, the operator can take care of all the deployment, the configuration, the upgrades, perform all the automation you need to take care of your data platform. And so with those requirements, we said, well, where's a stable data platform and how can we integrate it with Kubernetes? We looked at a few and we started with Ceph. We said, okay, we believe in Ceph. It's been around for a long time. So we're going to take Ceph. We're going to bring it to Kubernetes, and that's where Rook was born. So now Rook has been out for a few years. We declared Rook stable in December of 2018. So we're just over two years with production deployments. There are so many clusters out there in production. I frequently hear of users just saying how glad they are to be running Rook in production. It is stable. There are clusters with hundreds of nodes. We've got clusters with many petabytes of data. We have some large clusters out there running production. We don't know about most of the clusters honestly because it is an upstream project. People are free to use it, and they don't even have to tell us about it. So what is this storage platform? What does Ceph provide to us that is so important to build on? There are different types of storage. There are really three types that you think about in the Kubernetes environment or in general. First is block storage where you might have a read write once volume. A pod needs to write to his storage databases and whatnot. Just a simple block storage. Next we've got shared file systems. So you've got multiple pods that need to share the same volume. That's read write many. Ceph provides that with Ceph FS. And then finally, object storage provides an S3 interface with buckets, gets and puts and all that. So Ceph has all three of these provided in one storage platform. So let's talk about the community. So Rook is a CNCF graduated project. We're in October. The CNCF accepted us as a graduated project. We believe that's a great testament to what we've been building and the community we've been building. And then all these other stats are just evidence that people are using it. Over 200 million downloads. That just kind of blows my mind. Over 300 contributors. We're just happy there are so many people who find value in Rook and are contributing to it. Our current release is version 1.6. That just came out in April. So what are we trying to accomplish with the project? How do we make it open? What's our goal with it? Our goal in our mantra really is community is first. We want to build something that the community finds value in. This is why we donated at the CNCF. This is why we progressed. It became a graduated project because community is first. The project is completely open sourced with Apache 2.0 license. We have a cadence of quarterly releases for minor releases with regular patch releases. We tend to have patch releases every week or two just to get the latest fixes out so people can pick those up. We do have maintainers from four companies at the moment. So just an alphabetical order. Cloticals, Sybosu, Red Hat and Upbound. So where can Rook be deployed? So we said we want it with Kubernetes, but really you can have a consistent storage platform in Rook wherever Kubernetes is deployed. If you're running on bare metal, Rook can consume your local raw devices or local PVs to build that storage platform. If you're running in a cloud environment, Rook can also take advantage of the cloud provider storage and provide additional capabilities on top of it and again provide that common storage platform that runs anywhere. Cloud providers have limitations, for example, how many volumes can be attached to a node and stuff just doesn't have some of those limitations. You can mount hundreds or thousands of PVs in your cluster. They can be as big or as small as you want. It just overcomes a lot of the limitations that you'd have in cloud environments. So just briefly, what layers are we talking about? So Rook provides an operator that owns the management of Ceph. We have a CSI driver that will provision or mount the storage for your applications. And then finally, as already mentioned, Ceph provides that data layer for block shared file system and object. So in the next couple of days, we'll have another session at DeepDive that will talk more in depth about what features Rook has, what's in our latest release, and show a demo of creating a cluster with local PVs. I really invite you to check out that demo, that talk that we'll have for you later. So get involved. Here's our website, docs, Slack, GitHub. It really is an open community. We hope to make it the best it can be through all the community participation. Glad to be with you. Hope you found this useful. Feel free to ask questions. And we'll talk to you later. Thanks. Have a good day. Bye.