SlideShare una empresa de Scribd logo
1 de 69
How to Deploy and Manage
MongoDB in Kubernetes
James Broadhead
Director of Ops Manager & Cloud Developer
Productivity
Demo
I’m a developer, I want a mongod...
Agenda (Intro Demo)
What are Kubernetes, Operators & Ops
Manager?
Introducing the MongoDB Enterprise Operator
Demo: Deploying a Sharded Cluster
Examples: Operational Tasks with the Operator
Demo: Resiliency after Failure
Download / Contact info
40 minutes
… but mainly these questions ...
There are many ways to
deploy apps and MongoDB on
Kubernetes...
There are many ways to
deploy apps and MongoDB
on Kubernetes
Why do I need an Operator?
… but mainly these questions ...
There are many ways to
deploy apps and MongoDB
on Kubernetes
Why do I need an Operator?
Why should I use the
MongoDB Enterprise Operator?
… but mainly these questions ...
As an Operations / DevOps engineer
The Operator will make your life easier
Fewer manual tasks, more automated failure recovery
Skip straight to the answers!
As an Operations / DevOps engineer
The Operator will make your life easier
Fewer manual tasks, more automated failure recovery
As a Developer
Your company can provide MongoDB as a Service
Easy access to production-ready MongoDB with a single click
or command
Skip straight to the answers!
What is Kubernetes?
Definition
Kubernetes is an open-source container-orchestration system for automating deployment, scaling
and management of containerized applications.
It was originally designed by Google and is now maintained by the Cloud Native Computing
Foundation
Definition
Kubernetes is an open-source container-orchestration system for automating deployment, scaling
and management of containerized applications.
It was originally designed by Google and is now maintained by the Cloud Native Computing
Foundation
Containers
Isolated environments in which you can run your software
• Apps ship with their dependencies and configuration bundled in a container Image
• Less overhead than Virtual Machines
• eg. Docker / rkt for Kubernetes
• but many alternatives
Definition
Kubernetes is an open-source container-orchestration system for automating deployment, scaling
and management of containerized applications.
It was originally designed by Google and is now maintained by the Cloud Native Computing
Foundation
Orchestration: Kubernetes primitives
• Pod - the smallest deployable unit of
computing in Kubernetes. Contains
1 or more containers. A pod models
an application-specific “logical host”
• (Kubernetes) ReplicaSet -
guarantees a certain number of pods
are running with a given
configuration
• Deployment - abstraction layer over
ReplicaSets
nginx-0 nginx-1
nginx-2
Orchestration: Features
• Replacement - pods which die get
rescheduled on a new node. It’s fast!
• Consistent, Predictable Hostnames -
if your pod gets rescheduled, Kube
dns will be updated, so your app can
reconnect (Statefulset)
• Affinity Rules - configure how close
together your instances are.
• Same host? Same rack? Same
Availability Zone?
nginx-0 nginx-1
nginx-2
Config Example
I need to deploy a stateless app
(nginx)
Nginx Example
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Nginx Example
host$ kubectl apply -f ngnix.yaml
deployment "nginx-deployment" created
Results
host$ kubectl get deployments
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-deployment 2 2 2 2 53s
Results
host$ kubectl get pods
NAME READY STATUS RESTARTS
AGE
nginx-deployment-75675f5897-cbn5t 1/1 Running 0 5m
nginx-deployment-75675f5897-tv8pf 1/1 Running 0 5m
Scaling
host$ kubectl scale deployment nginx-deployment --replicas=3
deployment "nginx-deployment" scaled
Scaling
host$ kubectl get pods
NAME READY STATUS RESTARTS
AGE
nginx-deployment-75675f5897-cbn5t 1/1 Running 0 7m
nginx-deployment-75675f5897-tv8pf 1/1 Running 0 7m
nginx-deployment-75675f5897-ftf9q 0/1 ContainerCreating 0
26s
What is
MongoDB Ops Manager?
Ops Manager - Monitoring, Automation
and Backup
MongoDB Ops Manager makes it fast and
easy for you to deploy, monitor, upgrade, back
up and scale your MongoDB deployment
Ops Manager - Monitoring
Ops Manager - Automation
● Point-In-Time Recovery
● Continuous, Incremental Backups
● Queryable backups
Ops Manager - Backup
Cloud Manager
What are
Kubernetes Operators?
Operators
• Deploying and scaling stateless apps like nginx is easy
Operators
• Deploying and scaling stateless apps like nginx is easy
• Deploying stateful applications - like databases - is more
complicated. We’ll need more Kubernetes objects to be created
and managed together, and there’s more to do to update
versions, scale or organise backups
Operators
• Deploying and scaling stateless apps like nginx is easy
• Deploying stateful applications - like databases - is more
complicated. We’ll need more Kubernetes objects to be created
and managed together, and there’s more to do to update
versions, scale or organise backups
• Operators are a way to add application-specific awareness to
Kubernetes, so you can automate these complex tasks while
taking advantage of Kubernetes Orchestration.
Operators
• Deploying and scaling stateless apps like nginx is easy
• Deploying stateful applications - like databases - is more
complicated. We’ll need more Kubernetes objects to be created
and managed together, and there’s more to do to update
versions, scale or organise backups
• Operators are a way to add application-specific awareness to
Kubernetes, so you can automate these complex tasks while
taking advantage of Kubernetes Orchestration.
⟶ You can teach Kubernetes about MongoDB!
Introducing the
MongoDB Enterprise Kubernetes
Operator
MongoDB Enterprise Kubernetes
Operator
An application that allows you to create and manage MongoDB
deployments in Kubernetes cluster with the help of Ops Manager
or Cloud Manager
• Quick, declarative definition of what MongoDB services you
want
• Auto-healing, using Kubernetes reliability features
• Easy to scale up / scale down
Architecture (1)
Architecture (2)
Architecture (3)
Architecture (4)
Architecture (5)
Use Case
Deploying a Sharded Cluster
Sharded Clusters
Ways to deploy a Sharded Cluster
Ways to deploy a Sharded Cluster
Atlas!
Ways to deploy a Sharded Cluster
Manually?
Ways to deploy a Sharded Cluster?
Manually!
https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/
➔ Time-consuming
➔ Manual management is risky and unreliable
➔ Not reproducible - would need to write your own
automation code
◆ Puppet / Chef / Ansible
Using Ops Manager
Ways to deploy a Sharded Cluster?
Using Ops Manager
● Automation! … but
○ Have to configure hardware each time,
and install and configure Automation
Agents (chef / puppet)
○ Need to trigger failure-recovery in Ops
Manager
○ Repeatability - must use APIs
Ways to deploy a Sharded Cluster?
What if there was a way that …
• Could provision hardware from a pool whenever needed
• Could recover from failure by requesting new hardware
resources
• Could easily scale your clusters horizontally or vertically
Ways to deploy a Sharded Cluster?
What if there was a way that …
• Could provision hardware from a pool whenever needed
• Could recover from failure by requesting new hardware
resources
• Could easily scale your clusters horizontally or vertically
• Declaratively defined deployment config
• Easy to deploy similar configurations / topologies
Ways to deploy a Sharded Cluster?
Demo
Deploying a Sharded Cluster
with the MongoDB Enterprise Operator
Examples
Operational Tasks
MongoDB version upgrade
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0-ent
project: demo-project
credentials: demo-credentials
persistent: false
MongoDB version upgrade
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0-ent
project: demo-project
credentials: demo-credentials
persistent: false
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0-ent
project: demo-project
credentials: demo-credentials
persistent: false
Horizontal Scaling
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0
project: demo-project
credentials: demo-credentials
persistent: false
Horizontal Scaling
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0
project: demo-project
credentials: demo-credentials
persistent: false
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
metadata:
name: my-sharded-cluster
namespace: mongodb
spec:
shardCount: 3
mongodsPerShardCount: 5
mongosCount: 10
configServerCount: 3
version: 4.0.0
project: demo-project
credentials: demo-credentials
persistent: false
Vertical Scaling
...
spec:
...
mongosPodSpec:
cpu: '0.8'
memory: 1G
shardPodSpec:
cpu: '2'
memory: 10G
configSrvPodSpec:
cpu: '1'
memory: 7G
Vertical Scaling
...
spec:
...
mongosPodSpec:
cpu: '0.8'
memory: 1G
shardPodSpec:
cpu: '2'
memory: 10G
configSrvPodSpec:
cpu: '1'
memory: 7G
...
spec:
...
mongosPodSpec:
cpu: '0.8'
memory: 1G
shardPodSpec:
cpu: '4'
memory: 20G
configSrvPodSpec:
cpu: '1'
memory: 7G
Scaling / Performance: Storage Hardware
Control PersistentVolumeClaims
...
spec:
...
configSrvPodSpec:
storage: 5Gi
storageClass: standard
shardPodSpec:
storage: 25Gi
storageClass: fast
Scaling / Performance: Storage Hardware
Control PersistentVolumeClaims
...
spec:
...
configSrvPodSpec:
storage: 5Gi
storageClass: standard
shardPodSpec:
storage: 25Gi
storageClass: fast
...
spec:
...
shardPodSpec:
storage: 25Gi
storageClass: fast
labelSelector:
matchExpressions:
- {key: diskGroup,
operator: In,
values: [shardDisks]}
Fault Tolerance: Distributing replicas
By default Operator ensures that all members of one replica set are
distributed to different nodes
It’s possible to change this and spread them to different availability
zones:
configSrvPodSpec:
podAntiAffinityTopologyKey: failure-domain.beta.kubernetes.io/zone
A common deployment is to co-locate the mongos process on application
servers, which allows for local communication between the application and
the mongos process.
https://www.mongodb.com/collateral/mongodb-performance-best-practices
Performance: Co-locate mongos pods
with App
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-server
spec:
selector:
matchLabels:
app: web-store
replicas: 3
template:
metadata:
labels:
app: web-store
...
Performance: Co-locate mongos pods with
App
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-server
spec:
selector:
matchLabels:
app: web-store
replicas: 3
template:
metadata:
labels:
app: web-store
...
apiVersion: mongodb.com/v1
kind: MongoDbShardedCluster
...
spec:
...
mongosPodSpec:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- web-store
topologyKey: "kubernetes.io/hostname"
Performance: Co-locate mongos pods with
App
High availability - Replacement
• Kubernetes will do its best to match the real state with desired state
• If one pod fails, Kubernetes will start another one
• The Kubernetes Statefulset primitive will preserve the hostname of the pod, even if
scheduled to a different machine
• So your MongoDB Driver will be able to connect easily
• MongoDB replication will make sure that the new replica catches up
• The same PersistentVolume will be mounted, so recovery should be fast
Demo
Fault Tolerance
As an Operations / DevOps engineer
The Operator will make your life easier
Fewer manual tasks, more automated failure recovery
As a Developer
Your company can provide MongoDB as a Service
Easy access to production-ready MongoDB with a single click
or command
So – why use the Operator?
Current state
• The Operator is in beta now – v.0.4
github.com/mongodb/mongodb-enterprise-kubernetes
• We are actively collecting customer and community
feedback and building features
community-slack.mongodb.com #enterprise-
kubernetes
• If you have a Kubernetes environment, it’s
available for download & pre-production use now.
Thanks for listening!
Questions?
Ask at the Cloud Booth,
or in the Community Slack!
community-slack.mongodb.com

Más contenido relacionado

La actualidad más candente

Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Rafał Leszko
 
Distributed Logging Architecture in Container Era
Distributed Logging Architecture in Container EraDistributed Logging Architecture in Container Era
Distributed Logging Architecture in Container EraSATOSHI TAGOMORI
 
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Аліна Шепшелей
 
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB
 
Running MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSRunning MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSMongoDB
 
Webinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasWebinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasMongoDB
 
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to Atlas
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to AtlasMongoDB .local Bengaluru 2019: Lift & Shift MongoDB to Atlas
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to AtlasMongoDB
 
An Introduction to MongoDB Ops Manager
An Introduction to MongoDB Ops ManagerAn Introduction to MongoDB Ops Manager
An Introduction to MongoDB Ops ManagerMongoDB
 
Making (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingMaking (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingAmazon Web Services
 
How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems MongoDB
 
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...Michael Stack
 
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!MongoDB
 
Presto in the cloud
Presto in the cloudPresto in the cloud
Presto in the cloudQubole
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBMongoDB
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesSeungYong Oh
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesYousun Jeong
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Amazon Web Services
 

La actualidad más candente (20)

MongoDB 3.4 webinar
MongoDB 3.4 webinarMongoDB 3.4 webinar
MongoDB 3.4 webinar
 
What's new in MongoDB 2.6
What's new in MongoDB 2.6What's new in MongoDB 2.6
What's new in MongoDB 2.6
 
Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!Build Your Kubernetes Operator with the Right Tool!
Build Your Kubernetes Operator with the Right Tool!
 
Distributed Logging Architecture in Container Era
Distributed Logging Architecture in Container EraDistributed Logging Architecture in Container Era
Distributed Logging Architecture in Container Era
 
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
Vitalii Bondarenko HDinsight: spark. advanced in memory big-data analytics wi...
 
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
MongoDB .local Bengaluru 2019: The Journey of Migration from Oracle to MongoD...
 
Running MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSRunning MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWS
 
Webinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB AtlasWebinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
Webinar: Serverless Architectures with AWS Lambda and MongoDB Atlas
 
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to Atlas
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to AtlasMongoDB .local Bengaluru 2019: Lift & Shift MongoDB to Atlas
MongoDB .local Bengaluru 2019: Lift & Shift MongoDB to Atlas
 
An Introduction to MongoDB Ops Manager
An Introduction to MongoDB Ops ManagerAn Introduction to MongoDB Ops Manager
An Introduction to MongoDB Ops Manager
 
Making (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with CachingMaking (Almost) Any Database Faster and Cheaper with Caching
Making (Almost) Any Database Faster and Cheaper with Caching
 
How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems How We Fixed Our MongoDB Problems
How We Fixed Our MongoDB Problems
 
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
HBaseConAsia2018 Track3-7: The application of HBase in New Energy Vehicle Mon...
 
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!
MongoDB .local Bengaluru 2019: Becoming an Ops Manager Backup Superhero!
 
Presto in the cloud
Presto in the cloudPresto in the cloud
Presto in the cloud
 
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDBExperian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
Experian Health: Moving Universal Identity Manager from ANSI SQL to MongoDB
 
Making KVS 10x Scalable
Making KVS 10x ScalableMaking KVS 10x Scalable
Making KVS 10x Scalable
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
 
Spark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on KubernetesSpark day 2017 - Spark on Kubernetes
Spark day 2017 - Spark on Kubernetes
 
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
Optimize MySQL Workloads with Amazon Elastic Block Store - February 2017 AWS ...
 

Similar a MongoDB Ops Manager and Kubernetes - James Broadhead

Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanSyed Murtaza Hassan
 
Velocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ NetflixVelocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ Netflixaspyker
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDStfalcon Meetups
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…Sergey Dzyuban
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?Eficode
 
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...Uri Cohen
 
Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudMatt Callanan
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Avanti Patil
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1Michael Lynn
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerAndrew Phillips
 
Ansible Tutorial.pdf
Ansible Tutorial.pdfAnsible Tutorial.pdf
Ansible Tutorial.pdfNigussMehari4
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerQAware GmbH
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...Nati Shalom
 

Similar a MongoDB Ops Manager and Kubernetes - James Broadhead (20)

Kubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-HassanKubernetes-Presentation-Syed-Murtaza-Hassan
Kubernetes-Presentation-Syed-Murtaza-Hassan
 
Velocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ NetflixVelocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ Netflix
 
Kubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CDKubernetes: від знайомства до використання у CI/CD
Kubernetes: від знайомства до використання у CI/CD
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
Can I Contain This?
Can I Contain This?Can I Contain This?
Can I Contain This?
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...Orchestration tool roundup  - OpenStack Israel summit - kubernetes vs. docker...
Orchestration tool roundup - OpenStack Israel summit - kubernetes vs. docker...
 
Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the Cloud
 
Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021Nugwc k8s session-16-march-2021
Nugwc k8s session-16-march-2021
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Ansible - Hands on Training
Ansible - Hands on TrainingAnsible - Hands on Training
Ansible - Hands on Training
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Power of Azure Devops
Power of Azure DevopsPower of Azure Devops
Power of Azure Devops
 
Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1Ansible, MongoDB Ops Manager and AWS v1.1
Ansible, MongoDB Ops Manager and AWS v1.1
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
 
Ansible Tutorial.pdf
Ansible Tutorial.pdfAnsible Tutorial.pdf
Ansible Tutorial.pdf
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with Gardener
 
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...Orchestration tool roundup   kubernetes vs. docker vs. heat vs. terra form vs...
Orchestration tool roundup kubernetes vs. docker vs. heat vs. terra form vs...
 

Más de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB
 

Más de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDBMongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
MongoDB .local Paris 2020: Les bonnes pratiques pour sécuriser MongoDB
 

Último

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

MongoDB Ops Manager and Kubernetes - James Broadhead

  • 1. How to Deploy and Manage MongoDB in Kubernetes James Broadhead Director of Ops Manager & Cloud Developer Productivity
  • 2. Demo I’m a developer, I want a mongod...
  • 3. Agenda (Intro Demo) What are Kubernetes, Operators & Ops Manager? Introducing the MongoDB Enterprise Operator Demo: Deploying a Sharded Cluster Examples: Operational Tasks with the Operator Demo: Resiliency after Failure Download / Contact info 40 minutes
  • 4. … but mainly these questions ... There are many ways to deploy apps and MongoDB on Kubernetes...
  • 5. There are many ways to deploy apps and MongoDB on Kubernetes Why do I need an Operator? … but mainly these questions ...
  • 6. There are many ways to deploy apps and MongoDB on Kubernetes Why do I need an Operator? Why should I use the MongoDB Enterprise Operator? … but mainly these questions ...
  • 7. As an Operations / DevOps engineer The Operator will make your life easier Fewer manual tasks, more automated failure recovery Skip straight to the answers!
  • 8. As an Operations / DevOps engineer The Operator will make your life easier Fewer manual tasks, more automated failure recovery As a Developer Your company can provide MongoDB as a Service Easy access to production-ready MongoDB with a single click or command Skip straight to the answers!
  • 10. Definition Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation
  • 11. Definition Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation
  • 12. Containers Isolated environments in which you can run your software • Apps ship with their dependencies and configuration bundled in a container Image • Less overhead than Virtual Machines • eg. Docker / rkt for Kubernetes • but many alternatives
  • 13. Definition Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation
  • 14. Orchestration: Kubernetes primitives • Pod - the smallest deployable unit of computing in Kubernetes. Contains 1 or more containers. A pod models an application-specific “logical host” • (Kubernetes) ReplicaSet - guarantees a certain number of pods are running with a given configuration • Deployment - abstraction layer over ReplicaSets nginx-0 nginx-1 nginx-2
  • 15. Orchestration: Features • Replacement - pods which die get rescheduled on a new node. It’s fast! • Consistent, Predictable Hostnames - if your pod gets rescheduled, Kube dns will be updated, so your app can reconnect (Statefulset) • Affinity Rules - configure how close together your instances are. • Same host? Same rack? Same Availability Zone? nginx-0 nginx-1 nginx-2
  • 16. Config Example I need to deploy a stateless app (nginx)
  • 17. Nginx Example apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: selector: matchLabels: app: nginx replicas: 2 # tells deployment to run 2 pods matching the template template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80
  • 18. Nginx Example host$ kubectl apply -f ngnix.yaml deployment "nginx-deployment" created
  • 19. Results host$ kubectl get deployments NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE nginx-deployment 2 2 2 2 53s
  • 20. Results host$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deployment-75675f5897-cbn5t 1/1 Running 0 5m nginx-deployment-75675f5897-tv8pf 1/1 Running 0 5m
  • 21. Scaling host$ kubectl scale deployment nginx-deployment --replicas=3 deployment "nginx-deployment" scaled
  • 22. Scaling host$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-deployment-75675f5897-cbn5t 1/1 Running 0 7m nginx-deployment-75675f5897-tv8pf 1/1 Running 0 7m nginx-deployment-75675f5897-ftf9q 0/1 ContainerCreating 0 26s
  • 24. Ops Manager - Monitoring, Automation and Backup MongoDB Ops Manager makes it fast and easy for you to deploy, monitor, upgrade, back up and scale your MongoDB deployment
  • 25. Ops Manager - Monitoring
  • 26. Ops Manager - Automation
  • 27. ● Point-In-Time Recovery ● Continuous, Incremental Backups ● Queryable backups Ops Manager - Backup
  • 30. Operators • Deploying and scaling stateless apps like nginx is easy
  • 31. Operators • Deploying and scaling stateless apps like nginx is easy • Deploying stateful applications - like databases - is more complicated. We’ll need more Kubernetes objects to be created and managed together, and there’s more to do to update versions, scale or organise backups
  • 32. Operators • Deploying and scaling stateless apps like nginx is easy • Deploying stateful applications - like databases - is more complicated. We’ll need more Kubernetes objects to be created and managed together, and there’s more to do to update versions, scale or organise backups • Operators are a way to add application-specific awareness to Kubernetes, so you can automate these complex tasks while taking advantage of Kubernetes Orchestration.
  • 33. Operators • Deploying and scaling stateless apps like nginx is easy • Deploying stateful applications - like databases - is more complicated. We’ll need more Kubernetes objects to be created and managed together, and there’s more to do to update versions, scale or organise backups • Operators are a way to add application-specific awareness to Kubernetes, so you can automate these complex tasks while taking advantage of Kubernetes Orchestration. ⟶ You can teach Kubernetes about MongoDB!
  • 34. Introducing the MongoDB Enterprise Kubernetes Operator
  • 35. MongoDB Enterprise Kubernetes Operator An application that allows you to create and manage MongoDB deployments in Kubernetes cluster with the help of Ops Manager or Cloud Manager • Quick, declarative definition of what MongoDB services you want • Auto-healing, using Kubernetes reliability features • Easy to scale up / scale down
  • 41. Use Case Deploying a Sharded Cluster
  • 43. Ways to deploy a Sharded Cluster
  • 44. Ways to deploy a Sharded Cluster Atlas!
  • 45. Ways to deploy a Sharded Cluster Manually?
  • 46. Ways to deploy a Sharded Cluster? Manually! https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/ ➔ Time-consuming ➔ Manual management is risky and unreliable ➔ Not reproducible - would need to write your own automation code ◆ Puppet / Chef / Ansible
  • 47. Using Ops Manager Ways to deploy a Sharded Cluster?
  • 48. Using Ops Manager ● Automation! … but ○ Have to configure hardware each time, and install and configure Automation Agents (chef / puppet) ○ Need to trigger failure-recovery in Ops Manager ○ Repeatability - must use APIs Ways to deploy a Sharded Cluster?
  • 49. What if there was a way that … • Could provision hardware from a pool whenever needed • Could recover from failure by requesting new hardware resources • Could easily scale your clusters horizontally or vertically Ways to deploy a Sharded Cluster?
  • 50. What if there was a way that … • Could provision hardware from a pool whenever needed • Could recover from failure by requesting new hardware resources • Could easily scale your clusters horizontally or vertically • Declaratively defined deployment config • Easy to deploy similar configurations / topologies Ways to deploy a Sharded Cluster?
  • 51. Demo Deploying a Sharded Cluster with the MongoDB Enterprise Operator
  • 53. MongoDB version upgrade apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.0-ent project: demo-project credentials: demo-credentials persistent: false
  • 54. MongoDB version upgrade apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.0-ent project: demo-project credentials: demo-credentials persistent: false apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.0-ent project: demo-project credentials: demo-credentials persistent: false
  • 55. Horizontal Scaling apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.0 project: demo-project credentials: demo-credentials persistent: false
  • 56. Horizontal Scaling apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.0 project: demo-project credentials: demo-credentials persistent: false apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster metadata: name: my-sharded-cluster namespace: mongodb spec: shardCount: 3 mongodsPerShardCount: 5 mongosCount: 10 configServerCount: 3 version: 4.0.0 project: demo-project credentials: demo-credentials persistent: false
  • 57. Vertical Scaling ... spec: ... mongosPodSpec: cpu: '0.8' memory: 1G shardPodSpec: cpu: '2' memory: 10G configSrvPodSpec: cpu: '1' memory: 7G
  • 58. Vertical Scaling ... spec: ... mongosPodSpec: cpu: '0.8' memory: 1G shardPodSpec: cpu: '2' memory: 10G configSrvPodSpec: cpu: '1' memory: 7G ... spec: ... mongosPodSpec: cpu: '0.8' memory: 1G shardPodSpec: cpu: '4' memory: 20G configSrvPodSpec: cpu: '1' memory: 7G
  • 59. Scaling / Performance: Storage Hardware Control PersistentVolumeClaims ... spec: ... configSrvPodSpec: storage: 5Gi storageClass: standard shardPodSpec: storage: 25Gi storageClass: fast
  • 60. Scaling / Performance: Storage Hardware Control PersistentVolumeClaims ... spec: ... configSrvPodSpec: storage: 5Gi storageClass: standard shardPodSpec: storage: 25Gi storageClass: fast ... spec: ... shardPodSpec: storage: 25Gi storageClass: fast labelSelector: matchExpressions: - {key: diskGroup, operator: In, values: [shardDisks]}
  • 61. Fault Tolerance: Distributing replicas By default Operator ensures that all members of one replica set are distributed to different nodes It’s possible to change this and spread them to different availability zones: configSrvPodSpec: podAntiAffinityTopologyKey: failure-domain.beta.kubernetes.io/zone
  • 62. A common deployment is to co-locate the mongos process on application servers, which allows for local communication between the application and the mongos process. https://www.mongodb.com/collateral/mongodb-performance-best-practices Performance: Co-locate mongos pods with App
  • 63. apiVersion: apps/v1 kind: Deployment metadata: name: web-server spec: selector: matchLabels: app: web-store replicas: 3 template: metadata: labels: app: web-store ... Performance: Co-locate mongos pods with App
  • 64. apiVersion: apps/v1 kind: Deployment metadata: name: web-server spec: selector: matchLabels: app: web-store replicas: 3 template: metadata: labels: app: web-store ... apiVersion: mongodb.com/v1 kind: MongoDbShardedCluster ... spec: ... mongosPodSpec: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - web-store topologyKey: "kubernetes.io/hostname" Performance: Co-locate mongos pods with App
  • 65. High availability - Replacement • Kubernetes will do its best to match the real state with desired state • If one pod fails, Kubernetes will start another one • The Kubernetes Statefulset primitive will preserve the hostname of the pod, even if scheduled to a different machine • So your MongoDB Driver will be able to connect easily • MongoDB replication will make sure that the new replica catches up • The same PersistentVolume will be mounted, so recovery should be fast
  • 67. As an Operations / DevOps engineer The Operator will make your life easier Fewer manual tasks, more automated failure recovery As a Developer Your company can provide MongoDB as a Service Easy access to production-ready MongoDB with a single click or command So – why use the Operator?
  • 68. Current state • The Operator is in beta now – v.0.4 github.com/mongodb/mongodb-enterprise-kubernetes • We are actively collecting customer and community feedback and building features community-slack.mongodb.com #enterprise- kubernetes • If you have a Kubernetes environment, it’s available for download & pre-production use now.
  • 69. Thanks for listening! Questions? Ask at the Cloud Booth, or in the Community Slack! community-slack.mongodb.com

Notas del editor

  1. Visibility, Alerting, Query Analysis, Index Suggestions
  2. Deployments, Upgrades, Ease of Configurability, APIs
  3. All the core features of Ops Manager, but without needing to manage the Ops Manager service itself