SlideShare a Scribd company logo
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Mastering MongoDB in
Kubernetes - MongoDB Enterprise
Operator for Kubernetes
Paul Hubert, Arkadiusz Borucki
Amadeus
2
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Back in the day at a travel agency…
FRA IST SLC
DEN SIN PHL
YYZ YUL PHX TLV PEK
HND SYD ICN DEL
CLT BOM DUB
SEA
BRU ORD CTU
LAX MNL MSP CGK VKO
CDG BCN EWR RCO CAN
FCO MCO KUL SAN
DFW
GRU HKG LGW AMS
Now, you have the personalized travel agent in your hand …
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Personalized
Tailor-made experiences
unique to the traveler’s
preferences
A smooth, door-to-
door experience
Connected
3
4
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Amadeus: Evolving demands(latency & volume) - Shopping experience!
15.2M availability
request per sec (peak)
580 availability
request per sec (peak)
40% Growth / Year
year2011 2019
AvailabilityRequests
600K+
availability
requests for
one booking!
(peak)
25K
avail. requests
for one booking
Shopping services Response Time impact Business impact
Amadeus Fareportal + 1000 ms -20% in revenue
Amadeus Ctrip + 700 ms -30% in revenue
Source 1. http://www.marketingprofs.com/charts/2014/25719/the-website-experience-consumers-value-most-infographic
5
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Amadeus: Need for Hybrid IT
Reliable
Stateful
Scale up
Long cycles
Price for performance
System
of
Record
Agile
Stateless
Scale out
Short cycles
Customer experienceSystem
of Engagem
ent
630+ Million
Total bookings
processed in 2017
300+ Trillion
Availability requests
processed in 2017
6%p.a.
40%p.a.
Challenges in
harmonizing the two
system types
©AmadeusITGroupanditsaffiliatesandsubsidiaries
2. MongoDB @
Amadeus
Agenda
7
35 minutes
_Amadeus MongoDB infrastructure
_What are Kubernetes operators
_Introducing the MongoDB Enterprise Operator
_Demo: Deploying a Sharded Cluster
_Software Defined Infrastructure for Kubernetes
8
©AmadeusITGroupanditsaffiliatesandsubsidiaries
MongoDB deployment @ huge scale!
8
Ops
Managers
4
Multi Data
Centers
Cluster
Size
130TB
Micro
sharding
68
MongoD
processes
Cloud
6500 GCE, OVH,
OpenStack
72
Nodes per
cluster
MongoDB deployment @ huge scale!
9
_ Instant searching - flight recommendations data
3 huge MongoDB clusters 75TB, 80TB, 130 TB with 2 ms (avg) response time
_ MongoDB for real-time analytics – 124 shards (micro sharding) agregation framework
_ Data agregation from multiple sources into a central cluster - A Single View application
_ Apache Spark on MongoDB – fraud detection - run machine learning on MongoDB
_ MongoDB Amadeus Payments - payment flows
_ Dashboards, scheduling tools, change viewers, applications error
viewers, and more
10
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Kubernetes - how to operate smarter
_ Operational overhead, effort, human resources, time
_ Why Kubernetes ? Why Operator ?
_ As an Operations / DevOps engineer - Fewer manual tasks, automation provided by vendor
_ As a Developer - Your company can provide MongoDB as a Service
Easy access to production-ready MongoDB with a single click or command
_ Build consistent and identical environments!
_ Speed!
©AmadeusITGroupanditsaffiliatesandsubsidiaries
4. The future
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Why Kubernetes Operators are a game changer
12
_ You can extend the Kubernetes API with
CustomResourceDefinitions
_ Enables developers to add
new/repleace old functionalities
_ Custom Controllers allow you to write
an application to fully manage another
like statefull MongoDB databases farm
_ Help you focus on a desired
configuration state via Custom
Resource, not the details of manual
deployment/configuration
_ You can work on service logic rather
than spending weeks on environment
automation
_ Operators will change/simplify the way
how we manage databases / repleace
already created automation
Operator represents human
operational knowledge in
sortware to reliably manage an
application
Kubernetes 1.7 add
Custom Controllers
feature
An Operator is set of
app-specific custom
controllers.
Controllers have
direct access to
Kubernetes API
Operator – teach Kubernetes about MongoDB!
13
Declarative definition of what
MongoDB services you want
An Operator is an abstraction
for deploying non-trivial
applications on Kubernetes
Easy to scale up / scale down
_ Deploying and scaling stateless apps like nginx is easy
_ Deploying stateful applications - like databases - is more complicated. We’ll need
more objects to be created and managed together, and there’s more to do to update
versions, scale or organize 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.
14
MongoDB Enterprise Operator for Kubernetes
Ops Manager
features on K8s
cluster!
K8s API and Ops Manager
integration
Controller,
extends the
Kubernetes API
Operator for Kubernetes supports:
_ pod’s backup, automation, monitoring
_ provisioning StatefulSets for replica set
_ creates deployment in Ops Manager
project
_ automates cluster provisioning,
scalability, auto recovery, upgrades
_ automates common tasks, to achieve
the desired state
_ security - tls
_ many more features are coming!
Operator architecture
15
Operator architecture
16
Operator architecture
17
Operator architecture
18
Operator architecture
19
20
How is Operator build ?
Application
specific
controllers
Custom
Resource
_ Custom Resource allow us to define
your own resources in the Kubernetes
API using CustomResourceDefinition
_ Additinal resource is available via
Kubernets API
_ Perform CRUD operations upon them
_ Interact with threm via kubectl
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: mongodb.mongodb.com
.............
oneOf:
- properties: # Standalone schema
- properties: # ReplicaSet schema
- properties: # ShardedCluster schema
components
Custom resources
21
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-sharded-cluster
spec:
type: ShardedCluster
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.6
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-replica-set
spec:
members: 3
version: 4.0.6
service: my-service
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Controllers
22
_ Observe the actual state
_ Analyse difference from
desired state
_ Take action
_ Drive the actual state
towards the desired stare
_ Repeat!
Observe
Analyse
Act
my-replica set has 2 running
pods
Differs from desired state of
3 replicas (pods)
Action:
- Start a pod
- Add pod to the cluster
- Waiting for replication
©AmadeusITGroupanditsaffiliatesandsubsidiaries
3. Live Demo
Sharded Cluster
24
25
Software Defined for Kubernetes - Procurement scenario
High level building block perspective
Availability Zone 3
Availability Zone 2
Blue print
1 mongo cluster
1 shard
2 secondaries
Availability Zone 1
Infrastructure Pod
Compute
tenant
Storage
tenant
VolumeContainerized
App
K8s Pod 10.10.10.1
26
Software Defined for Kubernetes – User Expectations
Public Clouds are setting the standards
aaS
• Need to manage pre-provisioned pool of resources
• All is software driven (SDS, SDN, …)
Contract
• Tenant
• Performance (# of io and throughput per GB)
Compliancy
• PCI, PII, …
Resiliency
• AZ, Region, hybrid-Cloud, Multi-Cloud
27
Software Defined for Kubernetes – Infrastructure Perspective
Necessary enablers
Network
• Ethernet is default transport
• Less over-commitment at the spine and super spine level
• Bandwidth increase for East-West traffic
• Virtualized networks / security zones
• Moving away from VLAN towards BGP
Storage
• New low latency protocols like NVMeoF
• S3 increases it’s footprint thanks to its REST API and IAM support
28
Software Defined for Kubernetes – Stack evolution
The PaaS is driving the standard towards simplification
Server
Storage
(appliance)
Network
Nova Cinder Neutron
K8sPaaS
IaaS
(OpenStack)
HW lightweight
Linux
Storage
(SDS)
Network
(SDN)
HW
PaaS K8s
Docker
container
CSI
CNI
Classic Stack Stack Evolution
(k8s on bare metal)
Coordination and pool management
©AmadeusITGroupanditsaffiliatesandsubsidiaries
Let’s shape the
future of travel
together
NoSQL
Private Cloud
Compliance & MonitoringNetwork
Storage
-V
-T

More Related Content

What's hot (20)

PPTX
Microservices: Living Large in Your Castle Made of Sand
MongoDB
 
PPTX
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Jeff Chu
 
PPTX
Tokyo azure meetup #12 service fabric internals
Tokyo Azure Meetup
 
PPTX
Microservices - Event-driven & the hidden landmines
Vijay Redkar
 
PPTX
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
PPTX
MVC 6 - the new unified Web programming model
Alex Thissen
 
PPTX
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
Javier García Magna
 
PPTX
AzDevCom2021 - Bicep vs Terraform
Philip Welz
 
PPTX
Exploring Microservices in a Microsoft Landscape
Alex Thissen
 
PDF
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
PPTX
How to deploy a Private Cloud based on WAP and Nutanix
Tom Van Gramberen
 
PDF
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Gary Arora
 
PPTX
Event Sourcing your AngularJS applications
Maurice De Beijer [MVP]
 
PDF
Azure Saturday: Security + DevOps + Azure = Awesomeness
Karl Ots
 
PPTX
Microservices
Ahmad Abu Ghazal
 
PDF
Microservices with Spring
Software Infrastructure
 
PPTX
CICD Azure DevOps
Sergey Seletsky
 
PPTX
Microservices in Azure
Doug Vanderweide
 
PPTX
'Cloud-Native' Ecosystem - Aug 2015
Lenny Pruss
 
PPTX
Introduction to Azure Event Grid
Callon Campbell
 
Microservices: Living Large in Your Castle Made of Sand
MongoDB
 
Innovations of .NET and Azure (Recaps of Build 2017 selected sessions)
Jeff Chu
 
Tokyo azure meetup #12 service fabric internals
Tokyo Azure Meetup
 
Microservices - Event-driven & the hidden landmines
Vijay Redkar
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
Red Hat Developers
 
MVC 6 - the new unified Web programming model
Alex Thissen
 
.Net Microservices with Event Sourcing, CQRS, Docker and... Windows Server 20...
Javier García Magna
 
AzDevCom2021 - Bicep vs Terraform
Philip Welz
 
Exploring Microservices in a Microsoft Landscape
Alex Thissen
 
Digital Forensics and Incident Response in The Cloud
Velocidex Enterprises
 
How to deploy a Private Cloud based on WAP and Nutanix
Tom Van Gramberen
 
Leapfrog into Serverless - a Deloitte-Amtrak Case Study | Serverless Confere...
Gary Arora
 
Event Sourcing your AngularJS applications
Maurice De Beijer [MVP]
 
Azure Saturday: Security + DevOps + Azure = Awesomeness
Karl Ots
 
Microservices
Ahmad Abu Ghazal
 
Microservices with Spring
Software Infrastructure
 
CICD Azure DevOps
Sergey Seletsky
 
Microservices in Azure
Doug Vanderweide
 
'Cloud-Native' Ecosystem - Aug 2015
Lenny Pruss
 
Introduction to Azure Event Grid
Callon Campbell
 

Similar to MongoDB World 2019: Mastering MongoDB in Kubernetes (20)

PDF
MongoDB .local Munich 2019: Mastering MongoDB on Kubernetes – MongoDB Enterpr...
MongoDB
 
PPTX
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB
 
PPTX
Mastering MongoDB in Kubernetes - Amadeus
MongoDB
 
PPTX
How kubernetes operators can rescue dev secops in midst of a pandemic updated
Shikha Srivastava
 
PDF
MongoDB Ops Manager + Kubernetes
MongoDB
 
PDF
Crossplane and a story about scaling Kubernetes custom resources.pdf
Richárd Kovács
 
PDF
A Deeper Look Into How Kubernetes Works.pdf
PetaBytz Technologies
 
PPTX
TRAINING_ABOUT_KUBERNETES_Nguyen_Si_Nhan.pptx
nhannguyensi
 
PDF
MongoDB OpsManager and Kubernetes
MongoDB
 
PDF
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
PDF
Kubernetes extensibility: crd & operators
Giacomo Tirabassi
 
PDF
Kubernetes extensibility: CRDs & Operators
SIGHUP
 
PDF
stackconf 2024 | Orchestrating Resilient Data: Harnessing the Strength of Kub...
NETWAYS
 
PDF
Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017
Codemotion
 
PPTX
How to manage state with a Kubernetes Application
Bahubali Shetti
 
PPTX
ADDO - Your own Kubernetes controller, not only in Go
Nicolas Fränkel
 
PDF
Shaping the Future of Travel with MongoDB
MongoDB
 
PPTX
Docker Geneva - Your own Kubernetes controller, not only in Go!
Nicolas Fränkel
 
PDF
AKS: k8s e azure
Alessandro Melchiori
 
PPTX
Java.IL - Your own Kubernetes controller, not only in Go!
Nicolas Fränkel
 
MongoDB .local Munich 2019: Mastering MongoDB on Kubernetes – MongoDB Enterpr...
MongoDB
 
MongoDB Ops Manager and Kubernetes - James Broadhead
MongoDB
 
Mastering MongoDB in Kubernetes - Amadeus
MongoDB
 
How kubernetes operators can rescue dev secops in midst of a pandemic updated
Shikha Srivastava
 
MongoDB Ops Manager + Kubernetes
MongoDB
 
Crossplane and a story about scaling Kubernetes custom resources.pdf
Richárd Kovács
 
A Deeper Look Into How Kubernetes Works.pdf
PetaBytz Technologies
 
TRAINING_ABOUT_KUBERNETES_Nguyen_Si_Nhan.pptx
nhannguyensi
 
MongoDB OpsManager and Kubernetes
MongoDB
 
Kubernetes Architecture - beyond a black box - Part 1
Hao H. Zhang
 
Kubernetes extensibility: crd & operators
Giacomo Tirabassi
 
Kubernetes extensibility: CRDs & Operators
SIGHUP
 
stackconf 2024 | Orchestrating Resilient Data: Harnessing the Strength of Kub...
NETWAYS
 
Andrea Tosatto - Kubernetes Beyond - Codemotion Milan 2017
Codemotion
 
How to manage state with a Kubernetes Application
Bahubali Shetti
 
ADDO - Your own Kubernetes controller, not only in Go
Nicolas Fränkel
 
Shaping the Future of Travel with MongoDB
MongoDB
 
Docker Geneva - Your own Kubernetes controller, not only in Go!
Nicolas Fränkel
 
AKS: k8s e azure
Alessandro Melchiori
 
Java.IL - Your own Kubernetes controller, not only in Go!
Nicolas Fränkel
 
Ad

More from MongoDB (20)

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

Recently uploaded (20)

PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PPTX
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
PDF
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
PDF
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PDF
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
CapCut Pro PC Crack Latest Version Free Free
josanj305
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
Bitkom eIDAS Summit | European Business Wallet: Use Cases, Macroeconomics, an...
Carsten Stoecker
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pdf
ghjghvhjgc
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 

MongoDB World 2019: Mastering MongoDB in Kubernetes

  • 1. ©AmadeusITGroupanditsaffiliatesandsubsidiaries Mastering MongoDB in Kubernetes - MongoDB Enterprise Operator for Kubernetes Paul Hubert, Arkadiusz Borucki Amadeus
  • 2. 2 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Back in the day at a travel agency… FRA IST SLC DEN SIN PHL YYZ YUL PHX TLV PEK HND SYD ICN DEL CLT BOM DUB SEA BRU ORD CTU LAX MNL MSP CGK VKO CDG BCN EWR RCO CAN FCO MCO KUL SAN DFW GRU HKG LGW AMS
  • 3. Now, you have the personalized travel agent in your hand … ©AmadeusITGroupanditsaffiliatesandsubsidiaries Personalized Tailor-made experiences unique to the traveler’s preferences A smooth, door-to- door experience Connected 3
  • 4. 4 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Amadeus: Evolving demands(latency & volume) - Shopping experience! 15.2M availability request per sec (peak) 580 availability request per sec (peak) 40% Growth / Year year2011 2019 AvailabilityRequests 600K+ availability requests for one booking! (peak) 25K avail. requests for one booking Shopping services Response Time impact Business impact Amadeus Fareportal + 1000 ms -20% in revenue Amadeus Ctrip + 700 ms -30% in revenue Source 1. http://www.marketingprofs.com/charts/2014/25719/the-website-experience-consumers-value-most-infographic
  • 5. 5 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Amadeus: Need for Hybrid IT Reliable Stateful Scale up Long cycles Price for performance System of Record Agile Stateless Scale out Short cycles Customer experienceSystem of Engagem ent 630+ Million Total bookings processed in 2017 300+ Trillion Availability requests processed in 2017 6%p.a. 40%p.a. Challenges in harmonizing the two system types
  • 7. Agenda 7 35 minutes _Amadeus MongoDB infrastructure _What are Kubernetes operators _Introducing the MongoDB Enterprise Operator _Demo: Deploying a Sharded Cluster _Software Defined Infrastructure for Kubernetes
  • 8. 8 ©AmadeusITGroupanditsaffiliatesandsubsidiaries MongoDB deployment @ huge scale! 8 Ops Managers 4 Multi Data Centers Cluster Size 130TB Micro sharding 68 MongoD processes Cloud 6500 GCE, OVH, OpenStack 72 Nodes per cluster
  • 9. MongoDB deployment @ huge scale! 9 _ Instant searching - flight recommendations data 3 huge MongoDB clusters 75TB, 80TB, 130 TB with 2 ms (avg) response time _ MongoDB for real-time analytics – 124 shards (micro sharding) agregation framework _ Data agregation from multiple sources into a central cluster - A Single View application _ Apache Spark on MongoDB – fraud detection - run machine learning on MongoDB _ MongoDB Amadeus Payments - payment flows _ Dashboards, scheduling tools, change viewers, applications error viewers, and more
  • 10. 10 ©AmadeusITGroupanditsaffiliatesandsubsidiaries Kubernetes - how to operate smarter _ Operational overhead, effort, human resources, time _ Why Kubernetes ? Why Operator ? _ As an Operations / DevOps engineer - Fewer manual tasks, automation provided by vendor _ As a Developer - Your company can provide MongoDB as a Service Easy access to production-ready MongoDB with a single click or command _ Build consistent and identical environments! _ Speed!
  • 12. ©AmadeusITGroupanditsaffiliatesandsubsidiaries Why Kubernetes Operators are a game changer 12 _ You can extend the Kubernetes API with CustomResourceDefinitions _ Enables developers to add new/repleace old functionalities _ Custom Controllers allow you to write an application to fully manage another like statefull MongoDB databases farm _ Help you focus on a desired configuration state via Custom Resource, not the details of manual deployment/configuration _ You can work on service logic rather than spending weeks on environment automation _ Operators will change/simplify the way how we manage databases / repleace already created automation Operator represents human operational knowledge in sortware to reliably manage an application Kubernetes 1.7 add Custom Controllers feature An Operator is set of app-specific custom controllers. Controllers have direct access to Kubernetes API
  • 13. Operator – teach Kubernetes about MongoDB! 13 Declarative definition of what MongoDB services you want An Operator is an abstraction for deploying non-trivial applications on Kubernetes Easy to scale up / scale down _ Deploying and scaling stateless apps like nginx is easy _ Deploying stateful applications - like databases - is more complicated. We’ll need more objects to be created and managed together, and there’s more to do to update versions, scale or organize 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.
  • 14. 14 MongoDB Enterprise Operator for Kubernetes Ops Manager features on K8s cluster! K8s API and Ops Manager integration Controller, extends the Kubernetes API Operator for Kubernetes supports: _ pod’s backup, automation, monitoring _ provisioning StatefulSets for replica set _ creates deployment in Ops Manager project _ automates cluster provisioning, scalability, auto recovery, upgrades _ automates common tasks, to achieve the desired state _ security - tls _ many more features are coming!
  • 20. 20 How is Operator build ? Application specific controllers Custom Resource _ Custom Resource allow us to define your own resources in the Kubernetes API using CustomResourceDefinition _ Additinal resource is available via Kubernets API _ Perform CRUD operations upon them _ Interact with threm via kubectl --- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: mongodb.mongodb.com ............. oneOf: - properties: # Standalone schema - properties: # ReplicaSet schema - properties: # ShardedCluster schema components
  • 21. Custom resources 21 --- apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: my-sharded-cluster spec: type: ShardedCluster shardCount: 2 mongodsPerShardCount: 3 mongosCount: 2 configServerCount: 3 version: 4.0.6 --- apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: my-replica-set spec: members: 3 version: 4.0.6 service: my-service
  • 22. ©AmadeusITGroupanditsaffiliatesandsubsidiaries Controllers 22 _ Observe the actual state _ Analyse difference from desired state _ Take action _ Drive the actual state towards the desired stare _ Repeat! Observe Analyse Act my-replica set has 2 running pods Differs from desired state of 3 replicas (pods) Action: - Start a pod - Add pod to the cluster - Waiting for replication
  • 25. 25 Software Defined for Kubernetes - Procurement scenario High level building block perspective Availability Zone 3 Availability Zone 2 Blue print 1 mongo cluster 1 shard 2 secondaries Availability Zone 1 Infrastructure Pod Compute tenant Storage tenant VolumeContainerized App K8s Pod 10.10.10.1
  • 26. 26 Software Defined for Kubernetes – User Expectations Public Clouds are setting the standards aaS • Need to manage pre-provisioned pool of resources • All is software driven (SDS, SDN, …) Contract • Tenant • Performance (# of io and throughput per GB) Compliancy • PCI, PII, … Resiliency • AZ, Region, hybrid-Cloud, Multi-Cloud
  • 27. 27 Software Defined for Kubernetes – Infrastructure Perspective Necessary enablers Network • Ethernet is default transport • Less over-commitment at the spine and super spine level • Bandwidth increase for East-West traffic • Virtualized networks / security zones • Moving away from VLAN towards BGP Storage • New low latency protocols like NVMeoF • S3 increases it’s footprint thanks to its REST API and IAM support
  • 28. 28 Software Defined for Kubernetes – Stack evolution The PaaS is driving the standard towards simplification Server Storage (appliance) Network Nova Cinder Neutron K8sPaaS IaaS (OpenStack) HW lightweight Linux Storage (SDS) Network (SDN) HW PaaS K8s Docker container CSI CNI Classic Stack Stack Evolution (k8s on bare metal) Coordination and pool management
  • 29. ©AmadeusITGroupanditsaffiliatesandsubsidiaries Let’s shape the future of travel together NoSQL Private Cloud Compliance & MonitoringNetwork Storage -V -T