Introduction to Kubernetes Bites Podcast
00:00:03
Speaker
You are listening to Kubernetes Bites, a podcast bringing you the latest from the world of cloud native data management. My name is Ryan Walner and I'm joined by Bob and Shaw coming to you from Boston, Massachusetts. We'll be sharing our thoughts on recent cloud native news and talking to industry experts about their experiences and challenges managing the wealth of data in today's cloud native ecosystem.
00:00:28
Speaker
Good morning, good afternoon, and good evening wherever you are. We're coming to you from Boston, Massachusetts. Today is August 5th, 2022. I hope everyone is doing well, staying safe, and let's dive into it. I should add
00:00:44
Speaker
staying cool since yesterday was the hottest day in Boston since 1928. Yeah, it was it was comparison at Logan Airport since 1928. So I hope you're okay. Bob, you look okay. So yeah, I am.
00:01:02
Speaker
Yeah, the the afternoon or evening beers do help. So like, how have you been?
Personal Milestones and Celebrations
00:01:12
Speaker
Good, you know, I think this past week, the excitement around here is my daughter's fourth birthday. There's nothing more exciting than a fourth birthday all themed around dogs. So yeah, we had a whole bunch of four year olds over, a lot of cake, a lot of sugar.
00:01:30
Speaker
A lot of pizza. It was fun. You know, can't be better. And how about you?
00:01:35
Speaker
Going back to your daughter's birthday party, right? When you told me about it the first time, you said you had a puppy adoption status at a station. I really thought you had worked with an adoption agency and you had actual puppies. That's so cool. And then you showed me a picture and I was like, okay, yeah, that's just a crate full of soft toys. But that would have been a hell of a thing to have at a four year birthday party. Every parent showing up is like, you want me to adopt a real puppy?
00:02:04
Speaker
Yeah, no, I'm glad we cleared that one. This week has been great for me. So a few milestones. Sure. This week, this week was my 10 years in the United States. Congratulations. Thank you. This week was my 32nd birthday.
00:02:23
Speaker
Also a great day. And today is actually one year anniversary for our podcast. So like, it's an awesome week. Technically, I think we had like the August 3rd, we released the control, but our first episode, first full episode was August 5th in 2021. It's been a joy ride. I know just before this, we were talking about, we should do like a one year and starting a podcast episode on the podcast.
00:02:50
Speaker
Maybe that's a different podcast. How many times can I say that word in 30 seconds? But it has been a lot of fun. I can't believe a year has gone by already. I think mid-20 episodes, a couple of months. Maybe you have to up the ante for next year and do some more episodes.
00:03:12
Speaker
Great. Well, lots of fun stuff going on in our personal lives.
Industry Acquisitions and Updates
00:03:17
Speaker
But we have to dive into a little bit of cloud news. We do have a couple of awesome guests from MongoDB on today, Joel and Cedric. And we'll introduce them after our news. So let's dive into sort of cloud native news. Why don't you kick it off, Marvin?
00:03:34
Speaker
Yeah, I have a couple of acquisitions to talk about. So my rant is acquires a startup called Amazee, that's A-M-A-C-E-E dot I-O. And to integrate into your modern apps business unit, I don't officially know what they call it. But Amazee has been the creator and maintainer of the open source build and deploy platform called Lagoon.
00:03:59
Speaker
So what Lagoon does, just a 30-second quick overview, right? Developers, if they don't want to learn anything about Kubernetes but still want to have their application running on Kubernetes, can just install or use Lagoon. So developers can push code into their Git repository. Lagoon core, it's a managed service, I guess, has web hooks into your Git repo whenever a new code checks in or a new PR comes in. Something gets triggered. They talk to a Kubernetes server, which has
00:04:28
Speaker
and which pulls all the code down, builds those container images or Docker images for you, builds those Kubernetes artifacts, so your deployment objects, your service objects, and then runs your application on that Kubernetes cluster. So it takes...
00:04:43
Speaker
you from code to running your application in Kubernetes without the developer ever having to touch the Kubernetes cluster itself. So a cool functionality that Mirantis gets to acquire and get billed as part of its portfolio. I'm pretty sure they have some lens integration, the tool that an IDE that Mirantis already has. I think they'll have more integrations to go here. So basically, GitOps play. Yes. Right? OK.
00:05:13
Speaker
And then the second acquisition was, I think this, I just knew about this this morning. So I don't have as many details, but Cisco buys Banzai Cloud. Again, another startup. Yeah. So I think Banzai Cloud until this point have only raised like 2.5 or 3.5 million dollars. So pretty small company, but with a portfolio of products and just a one-line description, right there. The portfolio includes something called Backyards, which is your production-ready Istio service mesh offering pipeline, which is your
00:05:43
Speaker
hybrid and multi cloud container management platform, something called super tubes, which is a deploying production ready Kafka on Kubernetes. And then a one I a great name for a multi cluster observability tool for Kubernetes. So I think now Cisco can take all of this up and bundle that into their modern apps portfolio, whatever that is called inside Cisco.
00:06:04
Speaker
Yeah, one I feel like is a great name for a tool like that. Super tubes, I think, leave some to be desired. But hey, that's just me. Also, but just a very cool word. Yeah, you use it for streaming. Maybe that's what they were aiming for. And then like supercharge it. But I don't know. Yeah, I agree. I think Cisco will come up with a better name for Cloud offering.
00:06:28
Speaker
But in addition to these acquisitions, just a couple of feature updates, like Amazon Detective, which is your security tool, like part of the security portfolio, now adds support for Amazon EKS clusters. So now using Detective, you can expand like security investigation for your Kubernetes workload. So when you enable this feature, Detective automatically starts ingesting your EKS audit logs,
00:06:52
Speaker
to capture all the API requests from users, from applications, and all control plane events from Amazon EKS for clusters, for parts, for container images, and any and all Kubernetes subjects. And you can use this, build a pattern for a year, and then they can alert you when something doesn't match that pattern. So again, if you are involved in the AWS ecosystem using Amazon EKS, Detective just adds another security feature that you can enable easily for the
Amazon Detective's New EKS Support
00:07:22
Speaker
Cool. And then the last piece was around an analyst report that came out yesterday. I think something that's close to both of us. I think I can still say that.
00:07:35
Speaker
The Giga Home report for cloud-native Kubernetes storage came out and my employer right now, Portwax, by Pure Storage, is rated number one. This was the third time in a row that Portwax was named the gold standard, having all the enterprise features you need when you're running Kubernetes and specifically features that you need for running Kubernetes storage.
00:07:56
Speaker
I know you don't work for Portworx anymore, which sucks, but I knew that you were still involved in this, so I think you can still take a victory lab and celebrate with the team. Yes, I did have a little bit to do with that. I will give all the credit to the team, to Portworx, obviously. It's really good, really good stuff. I think Portworx obviously does a great job, love what they do.
00:08:20
Speaker
And number one, a great thing to kind of dig into. And if you haven't looked at any of these reports, go ahead and look at it because there's so many different companies and projects out there that they go into and really dig into and depth. And I think it is eye opening if you're new to the sort of space and are looking for solutions or just to learn more.
00:08:43
Speaker
And that's it for all the news that I had. Over to you.
CNCF Database Tools Discussion
00:08:47
Speaker
Cool. Yeah, I just have a couple here. One was an article posted on Container Journal, who is titled Three Database Tools from CNCF. So these are specifically projects within the CNCF. So that are being sort of graduated through the pipeline and focusing on databases, right? We talk a lot about sort of solutions
00:09:10
Speaker
that provide persistence on here, but specifically, what are we running on there? We're running data services, databases, and there's a lot of tools in here. One is TIKV, which is a key value database sort of within the whole project CNC umbrella, and I think it's now graduated project under that CNCF umbrella. So basically, yeah,
00:09:39
Speaker
key-value database tailored towards large amounts of data, all that kind of things. So I haven't actually used it myself, but it looks really interesting. I wasn't even aware of it, so a cool article to read. And then Vitis, which we've both heard about, which is really focused around running MySQL, is also in the CNCF umbrella, which I feel like I knew
00:10:02
Speaker
happened, but totally forgot about that. Cool. Yeah. I think looking at the article, right, they donated it to the CNCF in 2018. So with the pace of the way the ecosystem moves, 2018 was like 20 years back, 20 years ago, four years ago.
00:10:18
Speaker
Yes. And the last one, which I thought was really interesting, is called Schema Hero, which is really about encouraging developers to write and manage schema migration in various different languages. So it runs as an operator that allows you to develop these ORM utilities for managing migrations in the language of your trust, whether that's Python, Rust, Go, Java.
00:10:48
Speaker
So pretty cool too, I know this is a real scenario that a lot of developers and data scientists or wherever you may be using these come across. It's not good enough to just launch the thing and if it works day one, it's really about the ongoing management. So definitely something I want to dig into more, but might be interesting
Kubernetes 1.25 Release Highlights
00:11:07
Speaker
And the last one, I think, which is most interesting to me is Kubernetes 1.25 is coming out or scheduled to come out later in August. And so there's a lot of things going on, obviously during releases. One of those is, you know, removals and changes.
00:11:27
Speaker
that we need to be aware of, the things that are being deprecated as things move to GA, move from alpha to beta, beta to GA, all those things. So a couple of them worth noting. I won't go into everything, but we will link the article. Major changes coming to 1.25 is still the CSI migration. This is obviously a big part of what Kubernetes and the community has been trying to do, moving the in-tree volume plugins out of tree into CSI.
00:11:55
Speaker
the core CSI migration feature is now going GA in 1.25. So big, big step there to really moving all those entry plugins out of entry. And with that, the specific ones that are being sort of deprecated and moved out, GlusterFS,
00:12:16
Speaker
is deprecated, which differs from removed, right? And then there's a bunch of others, including Portworx, is also being deprecated. And then the ones that are being removed are Flocker, CoolBite, StorageOS, are all being removed, which I still love that Flocker has been in there. I know I said this before. It's an old project that I had a hand in, and I love seeing the name pop up.
00:12:45
Speaker
Lots of other things in terms of V2C groups being stable and becoming GA and stable in 1.25 to things like declaring unsupported vSphere versions. I know a lot of folks that may use vSphere, no release before 7.0, update 2.
00:13:08
Speaker
is going to be supported. So big kind of change there, I feel like. Anyway, lots of good stuff there. If you're managing, running Kubernetes, this is probably something you should take a look at. Yes, definitely.
Introducing MongoDB Experts Joel and Cedric
00:13:25
Speaker
So, you know, we mentioned earlier, we got a couple of great guests about to come on the show, Joe Lord and Cedric Clyburn. Cedric is a dev advocate intern at MongoDB, was a computer science student at your alma mater.
00:13:46
Speaker
and is really digging into all things cloud native. Joel is also a developer advocate at MongoDB, and he's just all about sharing his knowledge with everyone across the world. So we're excited to have them on. And I think without further ado, let's just get going.
00:14:04
Speaker
Welcome to the show. Welcome to Kubernetes Bites, Joel and Cedric. It's great to have you here. We're excited to talk to you about MongoDB and Kubernetes and all sorts of stuff. But before we dive into that, let's get a little bit of background about who you are and what you're doing for MongoDB. I can go first. I'm at MongoDB. I've been around for just over a year now. I work as a developer advocate, so I spend a lot of time
00:14:31
Speaker
just going around through different events and speaking with developers, understanding their pain points, and then helping them to do all sorts of things with MongoDB. Yup. My name is Cedric Clyburn. I'm a developer advocate intern, so work on educating developers. I love the Kubernetes space, but I've done all types of content. Even done an in-person talk this year, which was crazy.
00:14:58
Speaker
Um, very scary. I was very nervous. Yeah, it was exciting for sure. Um, so I kind of, I prefer making video content, but also help produce and, uh, and co-host the MongoDB podcast right now. So it's really cool to be on another podcast as well. Podcasts love, I like it. Is this your first, uh, sort of foray into Kubernetes in the space or have you worked at it before this internship?
00:15:25
Speaker
So I was at Red Hat before working on OpenShift, so I got a little bit of experience there, also doing developer advocacy. But first time working with databases and Kubernetes, and it's kind of been a big learning process.
00:15:39
Speaker
I think one thing to note about Cedric, he is from NC State as well, which is my alma mater. So it's great to have another member of the Wolfpack. It is great. Go pack, indeed. You let me know that the other day. And I was very surprised because our computer science graduate program is very intense. Yeah, it was a fun time. It's no joke. Yeah, I'm happy you say it was a fun time.
00:16:06
Speaker
We can start with questions, I guess. I know Bob is always very proud of his roots, so good times. Yeah, let's jump right into
Explaining MongoDB's Document Model
00:16:18
Speaker
it. I think for the sake of it, let's start with just what is MongoDB and how does it differ from other databases in this space?
00:16:28
Speaker
Well, I guess it differs in a lot of different ways. I've been doing software development for many years. And of course, I've learned about relational databases. That's how we learned about it in the last millennium. So that's what I've been doing for many years. But MongoDB really changed the game when it comes to storing your data and the way you
00:16:55
Speaker
store everything and retrieve the data mostly. So it really makes it easy for software developers to interact in a very natural way when it comes to storing and querying your data. They come up with this new document model, which basically lets you store this huge object instead of just having a bunch of relational tables where you
00:17:19
Speaker
need to join all those tables and do all of that grunt work in order to extract an object that you would then use, and then you have to deconstruct it to save it through different tables. That is one of the big differences in MongoDB, or that MongoDB brought to the database world.
00:17:34
Speaker
I was listening to the MongoDB podcast and I think one of the episodes Michael was interviewing somebody at a game developer conference and that use case really resonated with me. If you are developing your own game, you would need different kinds of databases and having MongoDB as part of your overall stack is really important.
00:17:55
Speaker
I just wanted to learn more about what are the different use cases. How do you see MongoDB being used? Because even though MongoDB is great as being a document DB database, there might also be users who still want that relational database, still want those tables. How does that fit in?
00:18:11
Speaker
I think it's funny that you bring up gaming in the gaming episode. I listened to it probably about a month ago. It was right before I joined MongoDB. But I had no idea until I got here that there's such a use case for gaming with MongoDB. I was very, very surprised. And I'm out of Raleigh right now. One of the biggest game developers here is Epic Games who does Fortnite, which they use MongoDB for the Fortnite application for the Fortnite game, which is
00:18:39
Speaker
which is crazy. But I guess it's due to the scalability and the ability to have that auto scaling and do a certain amount of reading rights per second that other databases just can't do. Makes sense. Now, you mentioned auto scaling. Maybe it's specific to their use case and how they're deploying it and managing it, but how does it work? Let's dive into that a little bit.
00:19:09
Speaker
Yeah, well, I think the easiest way and the one that I'm mostly familiar with is by using Atlas, which is the cloud offering by MongoDB. And we can go later on into the different
00:19:22
Speaker
types of MongoDB deployments that you can have, but Atlas definitely makes it easier for a lot of things such as the auto scaling. You can actually deploy serverless databases now too, which is just a database that will scale depending on whatever your usage is as it grows. So basically infinite scaling there.
00:19:46
Speaker
Or you can configure your different tiers that you have so that they can automatically scale up when they reach certain thresholds directly as part of MongoDB Atlas. Gotcha.
00:19:58
Speaker
So like talking about the different deployment models and Atlas being one of them. Again, we are on Kubernetes byte, so we do have to switch to Kubernetes.
Deploying MongoDB on Kubernetes
00:20:07
Speaker
And there are operators, right? Like every database does have an operator that allows users to deploy a custom resource or a database on Kubernetes. Can we switch focus to what are the operators that MongoDB has? I found like at least three. So I just want to learn more about each of them and how they differentiate from each other.
00:20:27
Speaker
Yeah, that's pretty good. There's exactly three. That's a good start. Yeah, absolutely. There's three different ways to deploy them to use MongoDB inside of a Kubernetes clusters by using the three operators. I mean, there's as many ways to use MongoDB as there are DevOps people out there. But the official ways that we officially support are through the operators. So they are built using the operator framework.
00:20:52
Speaker
They're available as open source projects under the Apache license. The first one would be the community version. I think that's the one that most software developers are used to. So it's the free version that you can download. There's an official image maintained by Docker on Docker Hub, and people can just pull that one out.
00:21:16
Speaker
and store it in Kubernetes, but then you don't get any of the stateful and you have to configure all of that, which is where it gets tricky. So the community operator would be the first one, very close to that, where you can just basically install, you can install all of MongoDB using best practices. It'll take care of creating all the PVCs.
00:21:39
Speaker
that are needed to run a MongoDB, it will create a MongoDB replica set not to mix with Kubernetes replica sets. So we've got a lot of terminology overlap. MongoDB replica set is basically a set of three different clusters that are running at the same time. So if one of them fails, the other two will pick it up while the first one comes back.
00:22:06
Speaker
So all of that is automatically configured when you're using the operator. So that definitely makes it a lot easier to install and to be up and running in just a couple of minutes by using that first operator. Okay. So while I was looking through, I think I was watching a video on the community operator and when the person used ReplicaSet, I immediately thought about Kubernetes ReplicaSet. So thank you for clearing that up, Joel.
00:22:33
Speaker
Is there, you know, there's overlap in the name, but is there any overlap in sort of what those, uh, things do at a technology level? Like is there ever, I know we've talked to other folks that are looking into like letting certain aspects of Kubernetes like, you know, rebalancing and sort of rescheduling on failures, kind of be part of their product eventually is, is, or a replica of replica sets in MongoDB so different that, you know, we, they just remain separate.
00:23:02
Speaker
I think there are overlaps in the technology in a sense that ultimately it's achieving the same type of thing. It's just making sure that there's always those three replica sets.
00:23:15
Speaker
There are some differences in the way they work internally where in a MongoDB replica set, you will have one primary that will take all the requests and replicate the data through the others. And then if the primary fails or if for some reason there's an election that is decided or that is happening, another one will pick up the primary role if one of the servers goes down or for some reason.
00:23:39
Speaker
there's an election. So that's kind of different rather than using a replica set, which would typically be under a low balancer in a Kubernetes environment. So they differ slightly. Yeah. Gotcha. And so if in the MongoDB replica set, if the primary or even one of the replicas fails, we rely on Kubernetes to spin up a new instance and then add it back to the MongoDB replica set. Exactly. Okay. Exactly. Gotcha.
00:24:06
Speaker
So let's talk about the next one, right? Enterprise operator. Yeah. So the other way to use MongoDB with the operators by using the enterprise operator. And basically this one will deploy the enterprise version of MongoDB, which all in all is very similar to the community version. It kind of has all the same features. It pretty much installs the same way in Kubernetes. So it's really meant for your private cloud deployment.
00:24:36
Speaker
And you have all of the things with every enterprise-grade software. So you get the support, you've got better SLAs and different things. You also have the Ops Manager, which is basically just a very nice UI to manage everything inside of your MongoDB cluster. So that makes it a lot easier.
Managing MongoDB with Ops Manager
00:25:00
Speaker
When you get into a very large database and you need to start doing some sharding, sharding gets really complicated. So it's a great way to distribute data across multiple MongoDB clusters.
00:25:14
Speaker
It makes it easier to horizontally scale rather than vertically. But it is somewhat complex to set all of that up. So if you want to shard on one specific key across two different clusters, then you need two different replica sets. So now you end up with those six servers that need to be running. Then you also need a server to be able to do the sharding and the routing. And then you also need that other
00:25:41
Speaker
that other cluster for the Ops Manager. And you've got all of those different clusters. So it gets really, really complex to put all of that together. So this is where the Ops Manager will really come and help you. It will make sure to deploy all of those things inside of your Kubernetes cluster for you so you don't have to deal with all of that as the system administrator. Amazing, amazing. I'm terrified of enterprise.
00:26:06
Speaker
But the Ops Manager that you mentioned, pretty cool. Having that UI to be able to manage everything to your backups. But the Atlas operator is the one that I've had the most experience using and I think is getting to be pretty popular for just Atlas in general for students like myself. If you've got like a little demo project, you just want to kind of
00:26:29
Speaker
create some proof of concept, super, super easy to
Atlas Operator for MongoDB
00:26:33
Speaker
work with. And so the Atlas Kubernetes operator, when you install it gives you a set of CRDs to be able to manage everything on Atlas without ever leaving your Kubernetes cluster.
00:26:46
Speaker
super simple, so you don't have to be going back and forth. There's Atlas project, there's Atlas deployment, and then there's Atlas database user. So you can manage pretty much every part of your Atlas clusters and everything from just your Kubernetes cluster, which is pretty cool. So I've been able to set it up
00:27:09
Speaker
use it on a couple of demo projects. And it takes probably less than five minutes to actually create the project, to create a user, to access that, and to actually create the cluster and start writing data to it. So it's pretty neat. I'm a big fan of it. What's really interesting about that operator is that you get the full power of using Atlas. You can deploy your databases on any of the major clouds. You can deploy it multi-cloud, which is even better.
00:27:36
Speaker
So you really don't have any of that vendor lock-in, but even though if you can manage everything from there, you can also integrate it directly into your Kubernetes cluster and then still do some management there, be able to deploy databases for your software developers. And then they can just use the connection string, which is already available inside of that Kubernetes cluster easily as a secret. So it makes it very easy for software developers to be able to actually connect their application to that Atlas instance.
00:28:07
Speaker
OK, that was going to be my follow up question. Like, how do I get that connection string? Do I have to go to the Atlas UI? This is great. OK, so you said it's available as a secret, right? Yes, exactly. It creates a secret for you. And then you can just use that one as an environment variable in your application pods. OK, gotcha.
00:28:25
Speaker
Now, since Atlas sounds like can target various clouds, even your own Kubernetes cluster, what's the benefit of say using Atlas to deploy it back to your own Kubernetes cluster versus just using the enterprise operator? Is that more or less achieving similar things or is just Atlas give you more there?
00:28:44
Speaker
They are achieving similar things for sure, but Atlas always has a little bit more to it than just using the enterprise edition of MongoDB. One of the things that comes to mind and I talked about multi-cloud is that ability to be able to easily deploy across
00:29:03
Speaker
multiple of the major cloud providers. So you could deploy and shard your data specific on different regions as well. But yeah, you could deploy to have some replica sets or even some of those nodes configured to be on Azure, some of them on AWS and some others on Google Cloud. So you've got not only that redundancy, but you've also got that multi-cloud redundancy.
00:29:28
Speaker
When it comes to configuring that into a Kubernetes cluster, it is possible, but it's a lot of work. So that's definitely one benefit. In addition to that, MongoDB Atlas also offers a couple of features that are available, mostly for developers, but you'll see things like the full-text search capabilities, which is powered by Lucene behind the scenes.
00:29:53
Speaker
So you don't have to deploy your own Lucene search engine and create all of those different things and need to sync the data between the two data sources. So Atlas provides you with a couple of more benefits, like I said, mainly targeted at software developers than the enterprise version would.
00:30:14
Speaker
There are three operators. I remember when you described the enterprise one, you said it comes with support. Are these three operators open source, available on Operator Hub? I can start with one and then is there an upgrade path between the three or how do I switch to different versions of the operator? That's a very good question. I haven't really put any thought into that.
00:30:37
Speaker
But there's always a migration path. You can do cluster-to-cluster sync now with the latest version of MongoDB. So it's definitely possible to sync data across the clusters, and then you can kind of need to migrate from one to the other. So you can then migrate from Community to Atlas or from Enterprise to Atlas.
00:30:59
Speaker
It's not as easy as just changing the CRD that you're using. You will need to do a little bit of tweaking inside of your Kubernetes cluster when it comes to making that change in Kubernetes. But at least there are ways to easily sync the data between two clusters. You can do that live so they both have the same data. And when you're ready to pull the plug on one, the other one is ready to go already. So there's definitely possibilities to do that. Okay. Gotcha. Thank you.
00:31:28
Speaker
question about sort of the choice of using something like Atlas or community version, you know, something that I think that we've seen over the last year, definitely even more is, you know, we're transitioning, I think, in the Kubernetes ecosystem to focusing more on sort of what's built on top of Kubernetes. And people are using, I think, more managed services or, you know, things on top of Kubernetes that add to the business value.
00:31:54
Speaker
Do you see a similar trend in how people are deploying MongoDB? Are they attracted to Atlas first? Or as a company, do you see a lot of people doing their own thing with the community version?
00:32:11
Speaker
I think there's a little bit of both. MongoDB has been around for a while now. So I think a lot of users will still go, and that's the first reflex, will go to Docker Hub, pull the image and run it from there. That's kind of an easy way to get started with MongoDB.
00:32:31
Speaker
And I think a lot of software developers are used to go into that direction first. Then they'll use that and bring that into their Kubernetes customers. They'll kind of use that as a de facto standard. I think we're trying to move more and more towards pushing for Atlas because it just makes everything so much easier and trying to convince people to use the Atlas software first. That's kind of part of my job.
00:32:58
Speaker
But it's definitely the easiest way to get started nowadays. So we're seeing more and more people that actually are coming and using Atlas first as their first point of contact with MongoDB, the database, and they discover all the other features that come with it. So I think there's a little bit of both. We're seeing slowly but surely a trend migrating towards Atlas over the community version.
00:33:25
Speaker
I think we've generally seen that sort of motion too. When there's that choice and now that databases are definitely maturing on Kubernetes and sort of the solutions in that space, even the operator is getting better and better, right? I kind of want to transition that and ask Cedric a specific question. Since you are sort of new to databases on Kubernetes and interning here,
00:33:51
Speaker
you know, and you've, you mentioned early, you know, getting it started using Atlas was easy, right? You know, what deployment options did you kind of investigate when sort of learning how to deploy databases on Kubernetes specifically,
Development vs Production with Atlas and Docker
00:34:07
Speaker
right? MongoDB, like, what are the architectures when you're just trying something out? Do you recommend, you know, deploying a single instance DB for, you know, dev versus, you know, something more robust, like multi cluster and production?
00:34:22
Speaker
I think it's a great question. Honestly, I haven't had enough experience to be able to say from a production standpoint. So I'll just say from a dev standpoint. Yeah. So before I'd even had much experience in Kubernetes, I was exactly how you said, Joel, like I pulled the Docker image, you know, use that. It was like super outdated. It's like Mongo 4.0 or something like that.
00:34:45
Speaker
But worked with that and of course did some experiments and of course there's no persistence so it's gone as soon as you're in the session and everything. And so the really only other time that I've had experience using any kind of database on Kubernetes is with Atlas just because I could use the same application that I was using for with that little Docker container, the very outdated one that
00:35:12
Speaker
that barely worked. But I could keep the persistence and I wouldn't have to change any formats of my application. I'm still using Mongo in my node application and so I don't have to change any aspects of it. And so for me, learning it was super easy. There was no transition that I had to do.
00:35:33
Speaker
That's awesome. As you said, that's one of the key value prop of Kubernetes and containers. You take what's running on your laptop and then you can run it in production in the public cloud or anywhere you want. I think next question I have is around the multi-cluster capability, not multi-cloud. While I was going through the nodes, I think enterprise operator recently added support for multi-cluster where I can use
00:35:58
Speaker
the enterprise operator to deploy multiple MongoDB clusters. Just wanted to learn more about how that works and then can I sync those clusters together and just any details that you can share.
00:36:10
Speaker
So yes, there was a feature that was recently released. I'm not as familiar as I'd like to about it. But yes, I definitely know it is possible to deploy your MongoDB, and that is only available with the MongoDB enterprise operator. The community nor Atlas won't support that.
00:36:31
Speaker
It is supported out of the box from the Atlas point of view, but if you want to do it on your own with the enterprise edition, you can also do it. The exact way it works, I'm not 100% sure. I know that there's some Istio and a service mesh involved in there, and it uses that service mesh to communicate across the different clusters that you'll have.
00:36:57
Speaker
And that is about as far as I can get, but we can definitely post more information about that. Like I can give you a link towards the end. Yeah. If you have anything, we'll, we'll put it in the show notes for people to check out. That's for sure. Um, I think, uh, when I was, uh, I was looking through things, right? Uh, I found out that, as you said, like there is an issue of service mesh that helps the communication between the different clusters, but there is also a new, uh, custom resource called a central cluster that gets deployed.
00:37:24
Speaker
That's also being managed by Ops Manager, so you can use Ops Manager to manage your central cluster and then it has different member clusters participating in it and then Istio service mesh and Istio control plane handles the inter MongoDB cluster communication. So, but yeah, I guess we'll appreciate the show notes and where we can learn more about this capability.
00:37:44
Speaker
Absolutely. And I have that diagram right in front of me right now. Let's change gears a little bit and talk about, you know, some of the maybe lessons learned along the way. I know you both have sort of experience with, you know, OpenShift and sort of, you know, now working with MongoDB.
00:38:11
Speaker
Whether this is with real customers or just your own lessons learned, are there anything you could share about someone who's looking to learn to deploy databases in general or even MongoDB obviously being the example of maybe do's and don'ts, things that are tough in Kubernetes still. Cedric, you mentioned if you go and just try to deploy, you got to think about persistence, so anything there to share?
00:38:41
Speaker
I think the number one do is use the operators. That is the number one thing. When I used OpenShift a couple of years in the back, they were just talking about operators and they were not very popular then, or they were just starting.
00:39:00
Speaker
And trying to configure your own MongoDB instances and making sure that you have that replica set and making sure everything works. And of course, all the networking, which just never works.
00:39:14
Speaker
And that was so, so complex and making sure that you don't lose any data anywhere at any point. That was a really, really complex thing to implement. Nowadays with any of those operators, but it's just so easy to deploy.
00:39:33
Speaker
Within just a couple of minutes within two or three QCTL commands, you're good to go. Everything is configured. Everything is managed exactly as it should be by following all of the MongoDB best practices. So you really get all of that out of the box and you don't have to think about any of that. So that is definitely a number one I do that I can think about.
00:39:57
Speaker
Yep. And same here. From a learning standpoint, it's taking advantage of not only the operators, but the fact that Atlas is free. I'm not having to pay anything to be able to learn for any of my projects and I probably never... I'll never need to for anything that's just something that I'm running, that's a small scale that I'm demoing out. And so that's really handy. And yeah, of course, using the operators as well.
00:40:27
Speaker
You mean you don't want to build a Kubernetes cluster from scratch and deploy your own stable set? At my point, I would have no idea. I'm kind of entering this whole Kubernetes space where everything's already been established. I don't remember a time where there wasn't operators. There's always been operators for me.
00:40:51
Speaker
There's always been CRDs I can install to make stuff easier. It's a good spot for people who are learning right now. It's definitely fun.
00:41:13
Speaker
Okay, talking about like everything being wrapped up with this operator, right? How about backup and disaster
MongoDB Backup and Recovery Options
00:41:20
Speaker
recovery? And how do we plan for that? Are those things available as part of any of these operators? And where do those snapshots get stored?
00:41:30
Speaker
That's an excellent question. And of course, I, as a developer advocate, I don't do a lot of real work, right? Demos and, you know, I look at data and I go, okay, that's fine.
00:41:44
Speaker
But it's, and as Cedric mentioned, I've used a lot of MongoDB instances that didn't persist data because really I don't care about what's in there. But there are definitely options for backup, both with the enterprise one, the enterprise operator, and Atlas has everything pre-configured as well. For the enterprise, you'll have to go through the ops manager and configure everything, but there are definitely options for backup as well.
00:42:14
Speaker
I'd like to say that it's possible with the community version. I'm 100% sure there. We won't quote you on that, but okay. Okay. So backup is available. Ops manager is the place to go. If you're using in the enterprise operator.
00:42:29
Speaker
Well, I think as we wind down here, one thing we always like to spend some time on is target the questions that someone new to MongoDB and Kubernetes
Learning Resources for MongoDB and Kubernetes
00:42:48
Speaker
where they should get started, what communities as developer advocates do you have sort of a place they can go to learn, how do they get in touch with folks if they have questions, starting up with these operators, anything you have to share there would be super helpful. Yeah, the first resource that I want to mention is an article coming very soon by our intern extraordinaire Cedric.
00:43:17
Speaker
publish a blog to explain how to use the Atlas operator with Atlas. So that's a good resource to get started that will come out very, very soon. It should be available on our blog. We also have the MongoDB community. So you can definitely post everything there, community.mongodb.com. It's a great community. There's always people that are ready to answer any of your questions. It's kind of a big forum that is available to anyone there.
00:43:48
Speaker
So that's definitely the number one resource that I can come up with. MongoDB also has very good documentation. They have good examples getting started with the operators. So you can find a lot of very valid information there to help you get started. And if you have further questions, you can check with the community teams.
00:44:07
Speaker
And absolutely. And I'm a big video guy. So the YouTube channel, MongoDB has great, great getting started examples that walk you through everything, how to get started, how to deploy applications with Mongo and everything within that realm. So they're all like nine minutes ish. So you'll get through them in the same amount of time that it'd take me to browse on TikTok for a minute. So great examples there.
00:44:35
Speaker
Perfect. Thank you. We'll look forward to the blog, Cedric. Once you get it published, share a link and we'll update our show notes as well. Absolutely. Awesome. Thank you. All right. Well, I think that brings us to the end of the questions we have for you. I think I've learned a lot. I think there's a lot of useful information here. Hopefully our listeners think so too, and Joel and Cedric, it's been a pleasure having you on the show. Thank you so much for having us.
00:45:03
Speaker
Yeah, thank you so much. It's been a pleasure. All right, Bobbin, how was this for you? I know MongoDB is something, at least when I was still at Portworx, we interacted with, used in our demos, and a lot of our technical marketing materials all the time, so I know hands-on with it. But to get the perspective from Joel and Cedric, I think was really good. What are some takeaways you got out of that?
00:45:28
Speaker
Like the first thing I want to mention is I think this was the first episode when we had two guests. So that was interesting. Like we are trying new things out. Having a couple of guests does help us bring in different perspectives, like having somebody like Joel and then somebody like Cedric who's just getting started with the cloud native journey. Other than that, like from the episode itself, just learning about the differences between the three operators that they have, the community operator, which is kind of the starting point for everybody who's
00:45:53
Speaker
trying to use MongoDB on Kubernetes versus the enterprise operator with more enterprise features. I think Joel mentioned they do offer support with the enterprise operator, things like multi-cluster management. And then Atlas, which allows users to deploy MongoDB instances in a managed cloud service, which is Atlas, from their Kubernetes cluster. And once the database instance is up and running,
00:46:20
Speaker
the operator automatically generates a secret with the connection string, with the credentials. So your apps can still run on your Kubernetes cluster with the database running in a public cloud of your choice. So that is really cool. Like for people that don't want to maintain and manage like huge Kubernetes clusters just so that they can run databases and still want to leverage Kubernetes tools to manage MongoDB running in a public cloud. This is the operator to check out.
00:46:50
Speaker
Yeah, absolutely. I think building on top of that, right? Something Cedric said that caught my eye was really about getting started. A service like Atlas, I think, which is now, I think in the market maturing as a way to really get going with, you know, data and Kubernetes versus, you know, going to the community, which is still great, you know, going to the community first can still be a little daunting, right? A lot of the open source operators or even just the,
00:47:20
Speaker
Here's an image on Docker Hub and go build your own YAML and whatever, figure it all out. There are good documentation sites. There's good tutorials out there, but I think using a service, Cedric said, it was free. You could just get going and kick the tires. Then obviously, if you want to go a step further, you can always backtrack
00:47:43
Speaker
I guess to the community to launch the thing yourself, really understand what's going on, how it's deployed, what it looks like being deployed on Kubernetes if you want to run it yourself. So I think the lesson learned, I think Cedric said, was not to recreate the wheel. And I absolutely agree. We hear this a lot, I think, now with a lot of our guests as we're getting to this level with Kubernetes. So the value being of what's built on top of Kubernetes, not just Kubernetes itself.
00:48:12
Speaker
One thing that just stood out to me from the interview was the point where Cedric, since he's starting new in this ecosystem, doesn't even know a world where operators didn't exist. I always use operators. This is a different perspective.
00:48:35
Speaker
That's how it should be. I feel like if you come into this world, I hope you're going and finding operators first. That's the entire point of them. Make your life easier as an operator deploying these things. It's good to hear actually.
00:48:52
Speaker
Cool. Well, I think that was an awesome conversation. I'm sure we'll maybe have them back on the show at a later date. Given the fact that it's one year, maybe we'll have to do it near our two year mark and see what's going on with MongoDB later on.
00:49:09
Speaker
As always, please go ahead and give us feedback wherever you can, whether that's a review, a direct email, a direct message, whatever you want. We encourage you to message us to give us feedback on what you like, don't like about the podcast. What would you like to hear?
00:49:30
Speaker
a topic, a code base, a project that you want to hear on the show, please let us know. We do have a really exciting show coming up. We're going to be talking about the container object storage interface. So not to be confused with CSI, but Cozy adds an O in there all about object storage and kind of building what CSI did for the block.
00:49:55
Speaker
and file for objects. So lots of cool stuff to talk about then. And yeah, I think that brings us to the end of today's episode, Bobbin. I'm Ryan. I'm Bobbin. Thanks for joining another episode of Kubernetes Bites. Thank you for listening to the Kubernetes Bites podcast.