SlideShare a Scribd company logo
1 of 31
Download to read offline
CentOS Stream at
Facebook
Davide Cavalca
Production Engineer
DevConf.cz 2021
Agenda
Infrastructure
CentOS at Facebook
Contributing upstream
Deployment and management
Infrastructure
Infrastructure
• OS team manages the fleet bare metal experience
• OS as a platform
• Individual teams are responsible for their own hosts
• Built on an Open Source foundation
• Linux, CentOS, rpm/yum/dnf, Chef, systemd
Infrastructure
How does it work?
• Community sets the direction
• We move fast; Open Source often moves faster
• We don’t need to write everything ourselves
• Sharing our code means sharing the maintenance and having others extend it
• DevConf.CZ 2017 talk: https://tinyurl.com/y7gx6nro
Infrastructure
Upstream first
CentOS at
Facebook
• Stable releases
• Binary compatibility
• Security updates
• Mature and well understood tooling
• EPEL
• Close relationship with Fedora
CentOS at Facebook
Why CentOS?
• Backports from Fedora Rawhide for stuff we care about
• Mostly plumbing and low-level packages
• GitHub: facebookincubator/rpm-backports
• %facebook macro to gate internal stuff
• CentOS + FTL = stable distro, moving fast
CentOS at Facebook
FTL - Fast Thin Layer
• Upstream kernel
• Development in master
• Internal stable and development branches
• btrfs, cgroup2, PSI, eBPF
• Testing and rollout automation
• Blog: https://tinyurl.com/sftvy7v
CentOS at Facebook
Kernel
• systemd backport tracking upstream
• Internal CI/CD pipeline for regression testing
• Feature development
• systemd-oomd: userspace OOM handling with PSI
• GitHub: facebookincubator/systemd-compat-libs
• GitHub: facebookincubator/pystemd (also in Fedora and EPEL)
• All Systems Go 2019 talk: https://tinyurl.com/v7lxmq3
CentOS at Facebook
systemd
• Standard packaging stack: rpm, dnf/yum
• rpmdb at scale
- dcrpm to mitigate corruption and remediate
- GitHub: facebookincubator/dcrpm (also in Fedora and EPEL)
- Using alternate rpmdb: ndb
• Work in progress
- DNF and RPM Copy-on-Write for faster package installs
- CentOS Dojo FOSDEM 2020 talk: https://tinyurl.com/y3jr3qv5
- SQLite rpmdb evaluation
CentOS at Facebook
Packaging
• cgroup2 by default
• btrfs on / by default
• iptables: legacy backend instead of nftables
• networking: network-scripts instead of NetworkManager
• CentOS Dojo Brussels 2020 talk: https://tinyurl.com/yqwhr4j8
CentOS at Facebook
Policy deviations
Contributing
upstream
Contributing upstream
CentOS Linux 7
RHEL 7 .0 CentOS Linux 7.0
RHEL 7.x CentOS Linux 7.x
... ...
...
Staging distribution
(RH internal)
Fedora 19
Contributing upstream
CentOS Linux 8 and CentOS Stream 8
RHEL 8 .0 CentOS Linux 8.0
RHEL 8.x
CentOS Stream 8
... ...
...
Fedora 28
Contributing upstream
CentOS Stream 9
RHEL 9 .0
RHEL 9.x
CentOS Stream 9
...
Fedora ELN
Fedora 34
CentOS Stream blog post: https://tinyurl.com/ycn29k2c
• Fedora
- Influences the next CentOS Stream major release
- File and fix bugs, maintain packages, drive Changes, etc.
• Fedora ELN
- Assists in the bringup of the next CentOS Stream major release
- Join the meetup tomorrow (https://tinyurl.com/45h8gp8y)
• CentOS Stream
- Continuously delivered distribution tracking the next minor release of RHEL
- File and fix bugs, send pull requests, etc.
- Join or create a SIG
Contributing upstream
What can you do
• Fedora packaging
- Facebook stack and OSS projects
- Feature enablement
- Rust packaging
• Change proposals
- F33: Btrfs by default
- F34: Btrfs with zstd compression by default
- F34: systemd-oomd by default
- F34 F35: DNF RPM Copy-on-Write
• EPEL Packagers SIG
• FOSDEM 2021 talk: https://tinyurl.com/1osjbj4b
Contributing upstream
Fedora and EPEL
• CentOS Stream focus
• Large scale infrastructure
• Foster cross-company collaboration on packaging and tooling
• Bring in-house development out in the open
• Open to anybody interested in working in this space
• https://wiki.centos.org/SpecialInterestGroup/Hyperscale
• CentOS Dojo FOSDEM 2021 talk: https://tinyurl.com/nw9wehi9
Contributing upstream
Hyperscale SIG
• Faster-moving package backports
- systemd, grep, dwarves, libvirt, rasdaemon, ...
• Policy and configuration alternatives
- iptables
• Large-scale testing
- RPM Copy-on-Write
• Kernel
- LTS-based, btrfs and cgroup2 support
Contributing upstream
Hyperscale SIG
• Right now
- c8s-sig-hyperscale branches on git.centos.org
- Main package repository
- dnf install centos-release-hyperscale
• In the future
- Experimental package repository
- Kernel
- Cloud images
Contributing upstream
Hyperscale SIG
Deployment and
management
• Chef for config management
• Philosophy: https://tinyurl.com/mgxb923
- Layered configuration through attribute-based APIs
- Separation of policy and mechanism
- Idempotency
- Configuration as programming
• Cookbooks in source control
• Develop locally, test on real machines
Deployment and management
Chef
• Documentation, best practices and tooling
- GitHub: facebook/chef-utils
- GitHub: facebookincubator/go2chef (also in Fedora)
- GitHub: facebook/taste-tester
- GitHub: facebook/grocery-delivery
• Cookbooks
- GitHub: facebook/chef-cookbooks
Deployment and management
Chef
• Incremental Rolling OS upgrades
• Every two weeks we sync down the latest updates…
• …and roll them out over two weeks
• ‘dnf upgrade’ kicked off via fb_yum in Chef
• High level monitoring of rollout health
• Easy stop button and opt out for individual packages
Deployment and management
Minor OS upgrades
• Reprovisioning for OS upgrades
- Clean slate
- Deprecated unwanted features
- Policy changes coupling
• Leverage the general host maintenance window
• Tooling and automation for rollouts
Deployment and management
Major OS upgrades
• CentOS Linux 5 -> 6 (~2013-2016)
• CentOS Linux 6 -> 7 (2016-2018)
• CentOS Linux 7 -> CentOS Stream 8 (2018-2021)
• DevConf.cz 2020 talk: https://tinyurl.com/52hqdp6t
• Current status
- >85% of the fleet on CentOS Stream 8
- Long tail: switches, storage, containers
- Coming up: CentOS Stream 9!
Deployment and management
Major OS upgrades
Thank you!
Questions?
CentOS Stream at Facebook

More Related Content

What's hot

Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make filesropsu
 
QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container StationWu Fan-Cheng
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSDpycontw
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoMarco Cavallini
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9JBUG London
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelThe Linux Foundation
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Gitdirtytactics
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Marco Cavallini
 
Shipping python project by docker
Shipping python project by dockerShipping python project by docker
Shipping python project by dockerWei-Ting Kuo
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Takaya Saeki
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishJose De La Rosa
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo家榮 吳
 
runC – Open Container Initiative
runC – Open Container InitiativerunC – Open Container Initiative
runC – Open Container InitiativeJeeva Chelladhurai
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKMarco Cavallini
 

What's hot (20)

Composer JSON kills make files
Composer JSON kills make filesComposer JSON kills make files
Composer JSON kills make files
 
QNAP COSCUP Container Station
QNAP COSCUP Container StationQNAP COSCUP Container Station
QNAP COSCUP Container Station
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernelUnikernel User Summit 2015: Getting started in unikernels using the rump kernel
Unikernel User Summit 2015: Getting started in unikernels using the rump kernel
 
Building a Drupal site with Git
Building a Drupal site with GitBuilding a Drupal site with Git
Building a Drupal site with Git
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Shipping python project by docker
Shipping python project by dockerShipping python project by docker
Shipping python project by docker
 
RKT
RKTRKT
RKT
 
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
Noah - Robust and Flexible Operating System Compatibility Architecture - Cont...
 
pkgsrc on MirBSD
pkgsrc on MirBSDpkgsrc on MirBSD
pkgsrc on MirBSD
 
Automated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and RedfishAutomated Out-of-Band management with Ansible and Redfish
Automated Out-of-Band management with Ansible and Redfish
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Yocto project
Yocto projectYocto project
Yocto project
 
Git training v10
Git training v10Git training v10
Git training v10
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
 
runC – Open Container Initiative
runC – Open Container InitiativerunC – Open Container Initiative
runC – Open Container Initiative
 
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDKYocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
Yocto Project Dev Day Prague 2017 - Advanced class - Kernel modules with eSDK
 
NkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application serverNkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application server
 

Similar to CentOS Stream at Facebook

Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS StreamDavide Cavalca
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetDavide Cavalca
 
What's new with CentOS at Facebook
What's new with CentOS at FacebookWhat's new with CentOS at Facebook
What's new with CentOS at FacebookDavide Cavalca
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleetDavide Cavalca
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingDonnie Berkholz
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux KernelDocker, Inc.
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Hyperscale SIG Introduction
Hyperscale SIG IntroductionHyperscale SIG Introduction
Hyperscale SIG IntroductionDavide Cavalca
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Max Romanovsky
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovskyphp-user-group-minsk
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Carlos Eduardo
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloSUSE España
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...Andrew Denner
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 

Similar to CentOS Stream at Facebook (20)

Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
What's new with CentOS at Facebook
What's new with CentOS at FacebookWhat's new with CentOS at Facebook
What's new with CentOS at Facebook
 
Running CentOS on the Facebook fleet
Running CentOS on the Facebook fleetRunning CentOS on the Facebook fleet
Running CentOS on the Facebook fleet
 
Unix tc
Unix tcUnix tc
Unix tc
 
Gentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile EverythingGentoo Linux, or Why in the World You Should Compile Everything
Gentoo Linux, or Why in the World You Should Compile Everything
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Firebird on Linux
Firebird on LinuxFirebird on Linux
Firebird on Linux
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Hyperscale SIG Introduction
Hyperscale SIG IntroductionHyperscale SIG Introduction
Hyperscale SIG Introduction
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
First steps on CentOs7
First steps on CentOs7First steps on CentOs7
First steps on CentOs7
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
 
DevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y ModeloDevOps: Arquitectura, Estrategia y Modelo
DevOps: Arquitectura, Estrategia y Modelo
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
December 2020 CIALUG: Local Kubernetes for Dummies-So you want to move on fro...
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
spack_hpc.pptx
spack_hpc.pptxspack_hpc.pptx
spack_hpc.pptx
 

More from Davide Cavalca

systemd @ Facebook in 2019
systemd @ Facebook in 2019systemd @ Facebook in 2019
systemd @ Facebook in 2019Davide Cavalca
 
State of systemd @ Facebook
State of systemd @ FacebookState of systemd @ Facebook
State of systemd @ FacebookDavide Cavalca
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year laterDavide Cavalca
 
Building Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBBuilding Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBDavide Cavalca
 
Building Better FLOSS Community Relationships @ FB
Building Better  FLOSS Community Relationships @ FBBuilding Better  FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBDavide Cavalca
 
Deploying systemd at scale
Deploying systemd at scaleDeploying systemd at scale
Deploying systemd at scaleDavide Cavalca
 

More from Davide Cavalca (8)

Hyperscale SIG update
Hyperscale SIG updateHyperscale SIG update
Hyperscale SIG update
 
Hyperscale SIG update
Hyperscale SIG updateHyperscale SIG update
Hyperscale SIG update
 
systemd @ Facebook in 2019
systemd @ Facebook in 2019systemd @ Facebook in 2019
systemd @ Facebook in 2019
 
State of systemd @ Facebook
State of systemd @ FacebookState of systemd @ Facebook
State of systemd @ Facebook
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year later
 
Building Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBBuilding Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
Building Better FLOSS Community Relationships @ FB
Building Better  FLOSS Community Relationships @ FBBuilding Better  FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
Deploying systemd at scale
Deploying systemd at scaleDeploying systemd at scale
Deploying systemd at scale
 

Recently uploaded

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 

Recently uploaded (20)

KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 

CentOS Stream at Facebook

  • 1. CentOS Stream at Facebook Davide Cavalca Production Engineer DevConf.cz 2021
  • 2. Agenda Infrastructure CentOS at Facebook Contributing upstream Deployment and management
  • 5. • OS team manages the fleet bare metal experience • OS as a platform • Individual teams are responsible for their own hosts • Built on an Open Source foundation • Linux, CentOS, rpm/yum/dnf, Chef, systemd Infrastructure How does it work?
  • 6. • Community sets the direction • We move fast; Open Source often moves faster • We don’t need to write everything ourselves • Sharing our code means sharing the maintenance and having others extend it • DevConf.CZ 2017 talk: https://tinyurl.com/y7gx6nro Infrastructure Upstream first
  • 8. • Stable releases • Binary compatibility • Security updates • Mature and well understood tooling • EPEL • Close relationship with Fedora CentOS at Facebook Why CentOS?
  • 9. • Backports from Fedora Rawhide for stuff we care about • Mostly plumbing and low-level packages • GitHub: facebookincubator/rpm-backports • %facebook macro to gate internal stuff • CentOS + FTL = stable distro, moving fast CentOS at Facebook FTL - Fast Thin Layer
  • 10. • Upstream kernel • Development in master • Internal stable and development branches • btrfs, cgroup2, PSI, eBPF • Testing and rollout automation • Blog: https://tinyurl.com/sftvy7v CentOS at Facebook Kernel
  • 11. • systemd backport tracking upstream • Internal CI/CD pipeline for regression testing • Feature development • systemd-oomd: userspace OOM handling with PSI • GitHub: facebookincubator/systemd-compat-libs • GitHub: facebookincubator/pystemd (also in Fedora and EPEL) • All Systems Go 2019 talk: https://tinyurl.com/v7lxmq3 CentOS at Facebook systemd
  • 12. • Standard packaging stack: rpm, dnf/yum • rpmdb at scale - dcrpm to mitigate corruption and remediate - GitHub: facebookincubator/dcrpm (also in Fedora and EPEL) - Using alternate rpmdb: ndb • Work in progress - DNF and RPM Copy-on-Write for faster package installs - CentOS Dojo FOSDEM 2020 talk: https://tinyurl.com/y3jr3qv5 - SQLite rpmdb evaluation CentOS at Facebook Packaging
  • 13. • cgroup2 by default • btrfs on / by default • iptables: legacy backend instead of nftables • networking: network-scripts instead of NetworkManager • CentOS Dojo Brussels 2020 talk: https://tinyurl.com/yqwhr4j8 CentOS at Facebook Policy deviations
  • 15. Contributing upstream CentOS Linux 7 RHEL 7 .0 CentOS Linux 7.0 RHEL 7.x CentOS Linux 7.x ... ... ... Staging distribution (RH internal) Fedora 19
  • 16. Contributing upstream CentOS Linux 8 and CentOS Stream 8 RHEL 8 .0 CentOS Linux 8.0 RHEL 8.x CentOS Stream 8 ... ... ... Fedora 28
  • 17. Contributing upstream CentOS Stream 9 RHEL 9 .0 RHEL 9.x CentOS Stream 9 ... Fedora ELN Fedora 34 CentOS Stream blog post: https://tinyurl.com/ycn29k2c
  • 18. • Fedora - Influences the next CentOS Stream major release - File and fix bugs, maintain packages, drive Changes, etc. • Fedora ELN - Assists in the bringup of the next CentOS Stream major release - Join the meetup tomorrow (https://tinyurl.com/45h8gp8y) • CentOS Stream - Continuously delivered distribution tracking the next minor release of RHEL - File and fix bugs, send pull requests, etc. - Join or create a SIG Contributing upstream What can you do
  • 19. • Fedora packaging - Facebook stack and OSS projects - Feature enablement - Rust packaging • Change proposals - F33: Btrfs by default - F34: Btrfs with zstd compression by default - F34: systemd-oomd by default - F34 F35: DNF RPM Copy-on-Write • EPEL Packagers SIG • FOSDEM 2021 talk: https://tinyurl.com/1osjbj4b Contributing upstream Fedora and EPEL
  • 20. • CentOS Stream focus • Large scale infrastructure • Foster cross-company collaboration on packaging and tooling • Bring in-house development out in the open • Open to anybody interested in working in this space • https://wiki.centos.org/SpecialInterestGroup/Hyperscale • CentOS Dojo FOSDEM 2021 talk: https://tinyurl.com/nw9wehi9 Contributing upstream Hyperscale SIG
  • 21. • Faster-moving package backports - systemd, grep, dwarves, libvirt, rasdaemon, ... • Policy and configuration alternatives - iptables • Large-scale testing - RPM Copy-on-Write • Kernel - LTS-based, btrfs and cgroup2 support Contributing upstream Hyperscale SIG
  • 22. • Right now - c8s-sig-hyperscale branches on git.centos.org - Main package repository - dnf install centos-release-hyperscale • In the future - Experimental package repository - Kernel - Cloud images Contributing upstream Hyperscale SIG
  • 24. • Chef for config management • Philosophy: https://tinyurl.com/mgxb923 - Layered configuration through attribute-based APIs - Separation of policy and mechanism - Idempotency - Configuration as programming • Cookbooks in source control • Develop locally, test on real machines Deployment and management Chef
  • 25. • Documentation, best practices and tooling - GitHub: facebook/chef-utils - GitHub: facebookincubator/go2chef (also in Fedora) - GitHub: facebook/taste-tester - GitHub: facebook/grocery-delivery • Cookbooks - GitHub: facebook/chef-cookbooks Deployment and management Chef
  • 26. • Incremental Rolling OS upgrades • Every two weeks we sync down the latest updates… • …and roll them out over two weeks • ‘dnf upgrade’ kicked off via fb_yum in Chef • High level monitoring of rollout health • Easy stop button and opt out for individual packages Deployment and management Minor OS upgrades
  • 27. • Reprovisioning for OS upgrades - Clean slate - Deprecated unwanted features - Policy changes coupling • Leverage the general host maintenance window • Tooling and automation for rollouts Deployment and management Major OS upgrades
  • 28. • CentOS Linux 5 -> 6 (~2013-2016) • CentOS Linux 6 -> 7 (2016-2018) • CentOS Linux 7 -> CentOS Stream 8 (2018-2021) • DevConf.cz 2020 talk: https://tinyurl.com/52hqdp6t • Current status - >85% of the fleet on CentOS Stream 8 - Long tail: switches, storage, containers - Coming up: CentOS Stream 9! Deployment and management Major OS upgrades