SlideShare a Scribd company logo
Operating Mesos-powered Infrastructures
Pierre Cheynier
@pierrecdn
Operations Engineer, SRE Division
October 27, 2017
Operating 600+ servers on 7 DCs @ Criteo : sharing some insights
Company
2009 – GOING ABROAD
2005 - CREATION DATE 2013 – NASDAQ IPO
2016 - +1B REVENUE !
• 2,700 employees (600 R&D engineers), 30 offices
• 1.2B distinct users/month
• Billions of ads served & transactions analyzed / day
• 7 datacenters + 15 network PoPs
• 20K servers (Linux/Windows mix)
• 3M RPS at peak time
• Real Time Bidding: ~ 10 ms
• Hadoop: 171 PB storage (+600TB per day)
Transitioning…
• Hardware : reducing the Total Cost of Ownership
• Filling racks on premises  fully populated cabinets, repeatable process
• Fully secured (RAID, 2 x power, ...) COTS  commodity hardware
• O/S : maintainability
• Windows  Linux
• Runtime : diversity
• .NET Framework  CoreCLR (.NET Core Runtime) & JVM
• Platform deployment : flexibility, self-service
• IT automation  Tasks/Job Orchestration
Transitioning…
• Stable & Maintainable system => Simple & Modular
Why Mesos ?
• Small and Extensible project
• A highly-available distributed system kernel, abstracting and isolating
resources in less than 250k LoC
• Concrete primitives and interfaces, extensibility through Modules
• Implementing industry standards (such as CNI, CSI & OCI soon)
• Self-sufficient
• Mesos Containerizer
• UCR
• Where are we ?
• Started a small PoC during 2015 S2
• 1.5 year later: 600 agents, 150+ production apps, 250K QPS
• 2 generalist frameworks, ML-oriented & GPU-based workloads coming.
The long journey of setting up production-grade infrastructures
• 1 - Automate everything
• 2 - Configure defensively
• 3 - Discovering services and more
• 4 - Provide visibility to the end-users
• 5 - Networking is hard
1 - Automate everything
• Chef: our all-purposes config management tool
• Automate everything:
• address hardware scale up/down operations in minutes.
• Choregraphie: perform complex ops using lock-based
resource protection
• Reliability > CI pipelines:
• perform tests in VMs
• deploy in preproduction environment
2 - Configure defensively
• Identify fault-domains
• Placement constraints
• Take care of user secrets
• Authenticate everything
• Encryption channel provided through asymmetric crypto & key distribution
• Mesos Secrets available now (1.4.0) - SecretResolver
• Enforce limits
• CPU: for predictability use --cgroups_enable_cfs
• Mem: turn off swap (hi OOM-killer !)
• Disk: turn on disk quotas / unbounded by default on Marathon / understand GC.
• User: mandatory (forbid root usage and grant frameworks through Mesos ACL).
• Perform backups
• And try to restore ! (beware of API consistency / versioning)
•
3 - Discovering services and more
• Flat Service Discovery model
• Don’t forget legacy !
• Help managing the DC bootstrap case
• Fallback to the nearest DC using “prepared queries”
• Intra-DC communications : 1 network hop
• Consul API (DNS / HTTP)
• CSLB library embedded in Criteo SDK
• Consul as a DC, Services and State reference
• Tags and K/V used to store services metadatas
• Consul health-check as a general state reference
• Practical applications: automatically provision LBs, smooth
transitions between legacy and Mesos.
•
4 - Provide visibility to the end-users
• Cultural changes
• App instances move continuously !
• Metrology & Alerting
• Collectd, prometheus_exporter, etc.
• Not well-known metrics, from mesos.proto :
• Networking: net_[rx|tx|tcp]*,
[TrafficControl|Ip|Tcp|Udp]Statistics,
• Disk I/O: CgroupInfo.Blkio.CFQ.Statistics
• Tracing: PerfStatistics (costly!)
• SLAs
• Transparency about platform footprint
• Report your ability to schedule – chaos monkey involved !
• Debugging / Tracing
• The Mesos I/O Switchboard: remotely attach/exec
• Introducing system tracing components such as LTTng
5 - Networking is hard
• “The network is reliable”
• The 8 fallacies of distributed computing (L. Peter Deutsch - 1994)
• Load-balancing
• Providing services such as: visibility, timeout profiles, sticky cookie,
TLS...
• Use the new “seamless reloads” feature (1.8-dev2).
• net_cls cgroup : the simplest way to introduce basic QoS
• Noisy neighbours > which trade-off will you choose ?
•
Incidents…
• DC Outages
• Jul, 2017: “The site has been evacuated and the Fire Department
has been notified. Every server basically got shutdown and
restarted”.
• Disaster recovery scenarios
• Apr, 2017: “Marathon applications were deleted WW”
• Jun, 2017: “Zookeeper does not accept connections anymore, has
been satured by Aurora, new task deployments are in pending state”
• Noisy neighbours
• “Network latencies on 1 instance increased a lot (average, 95pctl)”
• “In 1 cabinet row, switches backplanes are currently saturated”
What’s left to answer ?
• Isolation, isolation, isolation
• Network and I/O bandwidth as a first-class resource ?
• Latency critical apps: combine with cpu_set ?
• Efficiency
• Revocable resources for non-latency critical tasks (jobs) ?
• Quotas + Oversubscription ?
• Bin packing (= reclaim hardware … & electrical power !)
• Maintenance Primitives
• Anticipate more complex operations by reclaiming resources
and not allocating new tasks.
Happy users !
• Providing support and sharing knowledge leads to great contributions
Do you want to know more ?
We’re hiring !
Thank you.

More Related Content

What's hot

Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Community
 
Disaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFDisaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoF
ShapeBlue
 
Mi-Cloud Deployment Scenarios - Nazarudin Wijee
Mi-Cloud Deployment Scenarios - Nazarudin WijeeMi-Cloud Deployment Scenarios - Nazarudin Wijee
Mi-Cloud Deployment Scenarios - Nazarudin Wijee
OpenNebula Project
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack
 
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephProtecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Sean Cohen
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
ShapeBlue
 
Using CloudStack With Clustered LVM
Using CloudStack With Clustered LVMUsing CloudStack With Clustered LVM
Using CloudStack With Clustered LVM
Marcus L Sorensen
 
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Making Ceph awesome on Kubernetes with Rook - Bassam TabbaraMaking Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Ceph Community
 
Managing ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderManaging ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_Cinder
Maor Lipchuk
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
ShapeBlue
 
Adventures in Research
Adventures in ResearchAdventures in Research
Adventures in Research
NETWAYS
 
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebula Project
 
OpenNebula TechDay Waterloo 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Waterloo 2015 - Hyperconvergence  and  OpenNebulaOpenNebula TechDay Waterloo 2015 - Hyperconvergence  and  OpenNebula
OpenNebula TechDay Waterloo 2015 - Hyperconvergence and OpenNebula
OpenNebula Project
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
NETWAYS
 
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
OPNFV
 
OpenNebulaconf2017US: Rapid scaling of research computing to over 70,000 cor...
OpenNebulaconf2017US:  Rapid scaling of research computing to over 70,000 cor...OpenNebulaconf2017US:  Rapid scaling of research computing to over 70,000 cor...
OpenNebulaconf2017US: Rapid scaling of research computing to over 70,000 cor...
OpenNebula Project
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High Availability
Jakub Pavlik
 
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
NETWAYS
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
Murali Boyapati
 
Mi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
Mi-ROSS Reliable Object Storage System For Software Defined Storage and CloudMi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
Mi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
OpenNebula Project
 

What's hot (20)

Ceph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan XuCeph Goes on Online at Qihoo 360 - Xuehan Xu
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
 
Disaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoFDisaggregating Ceph using NVMeoF
Disaggregating Ceph using NVMeoF
 
Mi-Cloud Deployment Scenarios - Nazarudin Wijee
Mi-Cloud Deployment Scenarios - Nazarudin WijeeMi-Cloud Deployment Scenarios - Nazarudin Wijee
Mi-Cloud Deployment Scenarios - Nazarudin Wijee
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
 
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and CephProtecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
Protecting the Galaxy - Multi-Region Disaster Recovery with OpenStack and Ceph
 
Nick Fisk - low latency Ceph
Nick Fisk - low latency CephNick Fisk - low latency Ceph
Nick Fisk - low latency Ceph
 
Using CloudStack With Clustered LVM
Using CloudStack With Clustered LVMUsing CloudStack With Clustered LVM
Using CloudStack With Clustered LVM
 
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Making Ceph awesome on Kubernetes with Rook - Bassam TabbaraMaking Ceph awesome on Kubernetes with Rook - Bassam Tabbara
Making Ceph awesome on Kubernetes with Rook - Bassam Tabbara
 
Managing ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderManaging ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_Cinder
 
Ceph with CloudStack
Ceph with CloudStackCeph with CloudStack
Ceph with CloudStack
 
Adventures in Research
Adventures in ResearchAdventures in Research
Adventures in Research
 
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
 
OpenNebula TechDay Waterloo 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Waterloo 2015 - Hyperconvergence  and  OpenNebulaOpenNebula TechDay Waterloo 2015 - Hyperconvergence  and  OpenNebula
OpenNebula TechDay Waterloo 2015 - Hyperconvergence and OpenNebula
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
 
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
Testing, CI Gating & Community Fast Feedback: The Challenge of Integration Pr...
 
OpenNebulaconf2017US: Rapid scaling of research computing to over 70,000 cor...
OpenNebulaconf2017US:  Rapid scaling of research computing to over 70,000 cor...OpenNebulaconf2017US:  Rapid scaling of research computing to over 70,000 cor...
OpenNebulaconf2017US: Rapid scaling of research computing to over 70,000 cor...
 
OpenStack High Availability
OpenStack High AvailabilityOpenStack High Availability
OpenStack High Availability
 
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
OpenNebula Conf 2014 | Bootstrapping a virtual infrastructure using OpenNebul...
 
Openstack nova
Openstack novaOpenstack nova
Openstack nova
 
Mi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
Mi-ROSS Reliable Object Storage System For Software Defined Storage and CloudMi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
Mi-ROSS Reliable Object Storage System For Software Defined Storage and Cloud
 

Similar to MesosCon EU 2017 - Criteo - Operating Mesos-based Infrastructures

The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
Particular Software
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
John Adams
 
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
Tibo Beijen
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
Peter Clapham
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
Peter Clapham
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
Peter Clapham
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
Bigstep
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
OpenEBS
 
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
Eric D. Schabell
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
John D Almon
 
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
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
David Stockton
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Fwdays
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
Juan Herrera Utande
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
Josef Adersberger
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
QAware GmbH
 
Mtc learnings from isv & enterprise interaction
Mtc learnings from isv & enterprise  interactionMtc learnings from isv & enterprise  interaction
Mtc learnings from isv & enterprise interaction
Govind Kanshi
 
Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)
Govind Kanshi
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
Dave Holland
 

Similar to MesosCon EU 2017 - Criteo - Operating Mesos-based Infrastructures (20)

The impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves GoelevenThe impact of cloud NSBCon NY by Yves Goeleven
The impact of cloud NSBCon NY by Yves Goeleven
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)Kubernetes at NU.nl   (Kubernetes meetup 2019-09-05)
Kubernetes at NU.nl (Kubernetes meetup 2019-09-05)
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
HPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journeyHPC and cloud distributed computing, as a journey
HPC and cloud distributed computing, as a journey
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
Data Lake and the rise of the microservices
Data Lake and the rise of the microservicesData Lake and the rise of the microservices
Data Lake and the rise of the microservices
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
PromCon EU 2022 - Centralized vs Decentralized Prometheus Scraping Architectu...
 
Hpc lunch and learn
Hpc lunch and learnHpc lunch and learn
Hpc lunch and learn
 
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…
 
Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018Kubernetes Manchester - 6th December 2018
Kubernetes Manchester - 6th December 2018
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
Mtc learnings from isv & enterprise interaction
Mtc learnings from isv & enterprise  interactionMtc learnings from isv & enterprise  interaction
Mtc learnings from isv & enterprise interaction
 
Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)Mtc learnings from isv & enterprise (dated - Dec -2014)
Mtc learnings from isv & enterprise (dated - Dec -2014)
 
Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017Sanger OpenStack presentation March 2017
Sanger OpenStack presentation March 2017
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

MesosCon EU 2017 - Criteo - Operating Mesos-based Infrastructures

  • 1. Operating Mesos-powered Infrastructures Pierre Cheynier @pierrecdn Operations Engineer, SRE Division October 27, 2017 Operating 600+ servers on 7 DCs @ Criteo : sharing some insights
  • 2. Company 2009 – GOING ABROAD 2005 - CREATION DATE 2013 – NASDAQ IPO 2016 - +1B REVENUE ! • 2,700 employees (600 R&D engineers), 30 offices • 1.2B distinct users/month • Billions of ads served & transactions analyzed / day • 7 datacenters + 15 network PoPs • 20K servers (Linux/Windows mix) • 3M RPS at peak time • Real Time Bidding: ~ 10 ms • Hadoop: 171 PB storage (+600TB per day)
  • 3. Transitioning… • Hardware : reducing the Total Cost of Ownership • Filling racks on premises  fully populated cabinets, repeatable process • Fully secured (RAID, 2 x power, ...) COTS  commodity hardware • O/S : maintainability • Windows  Linux • Runtime : diversity • .NET Framework  CoreCLR (.NET Core Runtime) & JVM • Platform deployment : flexibility, self-service • IT automation  Tasks/Job Orchestration
  • 4. Transitioning… • Stable & Maintainable system => Simple & Modular
  • 5. Why Mesos ? • Small and Extensible project • A highly-available distributed system kernel, abstracting and isolating resources in less than 250k LoC • Concrete primitives and interfaces, extensibility through Modules • Implementing industry standards (such as CNI, CSI & OCI soon) • Self-sufficient • Mesos Containerizer • UCR • Where are we ? • Started a small PoC during 2015 S2 • 1.5 year later: 600 agents, 150+ production apps, 250K QPS • 2 generalist frameworks, ML-oriented & GPU-based workloads coming.
  • 6. The long journey of setting up production-grade infrastructures • 1 - Automate everything • 2 - Configure defensively • 3 - Discovering services and more • 4 - Provide visibility to the end-users • 5 - Networking is hard
  • 7. 1 - Automate everything • Chef: our all-purposes config management tool • Automate everything: • address hardware scale up/down operations in minutes. • Choregraphie: perform complex ops using lock-based resource protection • Reliability > CI pipelines: • perform tests in VMs • deploy in preproduction environment
  • 8. 2 - Configure defensively • Identify fault-domains • Placement constraints • Take care of user secrets • Authenticate everything • Encryption channel provided through asymmetric crypto & key distribution • Mesos Secrets available now (1.4.0) - SecretResolver • Enforce limits • CPU: for predictability use --cgroups_enable_cfs • Mem: turn off swap (hi OOM-killer !) • Disk: turn on disk quotas / unbounded by default on Marathon / understand GC. • User: mandatory (forbid root usage and grant frameworks through Mesos ACL). • Perform backups • And try to restore ! (beware of API consistency / versioning) •
  • 9. 3 - Discovering services and more • Flat Service Discovery model • Don’t forget legacy ! • Help managing the DC bootstrap case • Fallback to the nearest DC using “prepared queries” • Intra-DC communications : 1 network hop • Consul API (DNS / HTTP) • CSLB library embedded in Criteo SDK • Consul as a DC, Services and State reference • Tags and K/V used to store services metadatas • Consul health-check as a general state reference • Practical applications: automatically provision LBs, smooth transitions between legacy and Mesos. •
  • 10. 4 - Provide visibility to the end-users • Cultural changes • App instances move continuously ! • Metrology & Alerting • Collectd, prometheus_exporter, etc. • Not well-known metrics, from mesos.proto : • Networking: net_[rx|tx|tcp]*, [TrafficControl|Ip|Tcp|Udp]Statistics, • Disk I/O: CgroupInfo.Blkio.CFQ.Statistics • Tracing: PerfStatistics (costly!) • SLAs • Transparency about platform footprint • Report your ability to schedule – chaos monkey involved ! • Debugging / Tracing • The Mesos I/O Switchboard: remotely attach/exec • Introducing system tracing components such as LTTng
  • 11. 5 - Networking is hard • “The network is reliable” • The 8 fallacies of distributed computing (L. Peter Deutsch - 1994) • Load-balancing • Providing services such as: visibility, timeout profiles, sticky cookie, TLS... • Use the new “seamless reloads” feature (1.8-dev2). • net_cls cgroup : the simplest way to introduce basic QoS • Noisy neighbours > which trade-off will you choose ? •
  • 12. Incidents… • DC Outages • Jul, 2017: “The site has been evacuated and the Fire Department has been notified. Every server basically got shutdown and restarted”. • Disaster recovery scenarios • Apr, 2017: “Marathon applications were deleted WW” • Jun, 2017: “Zookeeper does not accept connections anymore, has been satured by Aurora, new task deployments are in pending state” • Noisy neighbours • “Network latencies on 1 instance increased a lot (average, 95pctl)” • “In 1 cabinet row, switches backplanes are currently saturated”
  • 13. What’s left to answer ? • Isolation, isolation, isolation • Network and I/O bandwidth as a first-class resource ? • Latency critical apps: combine with cpu_set ? • Efficiency • Revocable resources for non-latency critical tasks (jobs) ? • Quotas + Oversubscription ? • Bin packing (= reclaim hardware … & electrical power !) • Maintenance Primitives • Anticipate more complex operations by reclaiming resources and not allocating new tasks.
  • 14. Happy users ! • Providing support and sharing knowledge leads to great contributions
  • 15. Do you want to know more ? We’re hiring ! Thank you.