Have been able to speak directly to MongoDB devs and professional support, when database in my company had hard time last year (and few millions customers were impacted). Their direct answer is: yes, you can deploy MongoDB into Kubernetes, but for high performance and time critical applications you really shouldn't. ;-) Take it or leave it. Having database cluster on VM or even Bare Metal connected to our Kubernetes cluster is much more better option, at least for us.
I don’t disagree with your definition of Kubernetes but then why the continuation of adding state to the Kubernetes release whilst many open source and enterprise database providers have an option or operator for K8s . Interested to hear your view point a year after this video?
My stand point is simply that K8 is designed for fast moving application deployments. Databases don’t go through the kind of rapid deployment cycles a micro service might. I therefore believe that a database should either be in a managed solution like RDS or Azure SQL *, or hosted directly on IaaS due to their static nature.
@@MichaelCrilly I appreciate your view I just don’t understand why a lot of effort is being put into the storage stack within Kubernetes. Is the design of Kubernetes changing? I am seeing more and more use Kubernetes as a platform to host their workloads. I understand the PaaS argument and if you are not a DBA I think this is the easy button although costly. If you are a DBA though you lose too much regarding those tweaks and customisations. I believe the design is changing further than this as I am also seeing VMs being managed in Kubernetes which will also go against what you are saying. KubeVirt provides this functionality. I think it’s a very interesting time though and an inflection point in that Kubernetes is a control plane or could be a control plane for many different workloads in and out of the cluster.
@@MichaelCrilly apologies for such vague response. We have been using cloud native Postgres which is a CNCF OSS project to run Postgres in our k8s cluster with much success. It allows us to add replicas, dynamically provision storage, adjust cpu and memory capacity as needed, easy backups and recoveries and the list goes on and on. Even doing version updates is seamless and managed by db cluster operator. You can learn more watching this video. ua-cam.com/video/Ny9RxM6H6Hg/v-deo.html
That’s very cool. I think I’d be happy to run that given it’s specifically designed to do that job. Thank you so much for sharing your experience and sharing that with me (us) :-) I learnt something today!
@woytecki because it’s bad engineering to think in that manner. Why not write every video game in Python? You CAN, after all. Why not have everyone use Linux for EVERY server in their network? You CAN after all. Why not use PostgreSQL as your only database for everything including graphs, caching, and storing blobs? You CAN, after all. It’s just lazy thinking and bad engineering to use a complex tool for such a stable, simple service as a database engine. Just because you can, doesn’t mean you should.
MongoDB also supports K8s to deploy it cluster and sharded env
Have been able to speak directly to MongoDB devs and professional support, when database in my company had hard time last year (and few millions customers were impacted). Their direct answer is: yes, you can deploy MongoDB into Kubernetes, but for high performance and time critical applications you really shouldn't. ;-) Take it or leave it. Having database cluster on VM or even Bare Metal connected to our Kubernetes cluster is much more better option, at least for us.
Stateless / Stateful understanding moment just happened for me. thank you
I don’t disagree with your definition of Kubernetes but then why the continuation of adding state to the Kubernetes release whilst many open source and enterprise database providers have an option or operator for K8s . Interested to hear your view point a year after this video?
My stand point is simply that K8 is designed for fast moving application deployments. Databases don’t go through the kind of rapid deployment cycles a micro service might. I therefore believe that a database should either be in a managed solution like RDS or Azure SQL *, or hosted directly on IaaS due to their static nature.
@@MichaelCrilly I appreciate your view I just don’t understand why a lot of effort is being put into the storage stack within Kubernetes. Is the design of Kubernetes changing? I am seeing more and more use Kubernetes as a platform to host their workloads.
I understand the PaaS argument and if you are not a DBA I think this is the easy button although costly. If you are a DBA though you lose too much regarding those tweaks and customisations.
I believe the design is changing further than this as I am also seeing VMs being managed in Kubernetes which will also go against what you are saying. KubeVirt provides this functionality.
I think it’s a very interesting time though and an inflection point in that Kubernetes is a control plane or could be a control plane for many different workloads in and out of the cluster.
Good and precise video, thank you
What about Cloud native postgres?
What does that even mean?
@@MichaelCrilly apologies for such vague response. We have been using cloud native Postgres which is a CNCF OSS project to run Postgres in our k8s cluster with much success. It allows us to add replicas, dynamically provision storage, adjust cpu and memory capacity as needed, easy backups and recoveries and the list goes on and on. Even doing version updates is seamless and managed by db cluster operator. You can learn more watching this video. ua-cam.com/video/Ny9RxM6H6Hg/v-deo.html
That’s very cool. I think I’d be happy to run that given it’s specifically designed to do that job. Thank you so much for sharing your experience and sharing that with me (us) :-)
I learnt something today!
@@MichaelCrilly thank you for creating such awesome content. I wish you the very best.
Your link to chat doesn’t seem to load for me.
Good catch! Thank you!
Great tips. Thanks so much.
Well, how about operators + external storage?
USB pen drive? ;)
@@MichaelCrilly kubernetes operators, you can run databases just fine.
@woytecki that doesn’t mean you should.
@@MichaelCrilly why?
@woytecki because it’s bad engineering to think in that manner. Why not write every video game in Python? You CAN, after all. Why not have everyone use Linux for EVERY server in their network? You CAN after all. Why not use PostgreSQL as your only database for everything including graphs, caching, and storing blobs? You CAN, after all.
It’s just lazy thinking and bad engineering to use a complex tool for such a stable, simple service as a database engine.
Just because you can, doesn’t mean you should.
I will say yes .. as etcd is key value Database already running...before watching your video
Is etcd the same as a relational database that was designed and written 20 years ago?
@@MichaelCrilly Nope, they are quite different. 👍
Precisely. Etcd was designed for the task at hand and has been architected to live in that environment. MySQL, PSQL, MSSQL, etc. have not.
@@MichaelCrilly I was asked same question in interview I also said no.