SlideShare a Scribd company logo
1 of 38
Download to read offline
How you Can How you Can 
Manage Hundreds Manage Hundreds 
              of Serversof Servers
Marian MarinovMarian Marinov
mm@siteground.commm@siteground.com
Chief System ArchitectChief System Architect
Head of the DevOps departmentHead of the DevOps department
❖❖ Who am I?Who am I?
- Chief System Architect of SiteGround.com- Chief System Architect of SiteGround.com
- Sysadmin since 1996- Sysadmin since 1996
- Organizer of OpenFest, BG Perl- Organizer of OpenFest, BG Perl
Workshops, LUG-BG and othersWorkshops, LUG-BG and others
- Teaching Network Security and- Teaching Network Security and
Linux System AdministrationLinux System Administration
courses in Sofia Universitycourses in Sofia University
and SoftUniand SoftUni
❖❖ The theory states
Let's skip the detailsLet's skip the details
❖❖ The theory states
➢ Make all of your servers feel the
same
Let's skip the detailsLet's skip the details
❖❖ The theory states
➢ Make all of your servers feel the
same
➢ Automate everything
Let's skip the detailsLet's skip the details
❖❖ The theory states
➢ Make all of your servers feel the
same
➢ same hardware
➢ same software
➢ Automate everything
Let's skip the detailsLet's skip the details
❖❖ The theory states
➢ Make all of your servers feel the
same
➢ same hardware
➢ same software
➢ Automate everything
➢ no manual deployments
➢ use systems like Ansible, Pupet, Chef
Let's skip the detailsLet's skip the details
What most people do?What most people do?
➢ Do the work in parallel
What most people do?What most people do?
➢ Do the work in parallel
➢ pssh pscp (even Pacemaker is using those)
What most people do?What most people do?
What we did?What we did?
➢ Multy-command.shMulty-command.sh :)
What we did?What we did?
➢ Multy-command.shMulty-command.sh :)
for srv in $srv_list; do
ssh $srv $cmd &
done
What we did?What we did?
mexec
➢ Multy-command.shMulty-command.sh :)
for srv in $srv_list; do
ssh $srv $cmd &
done
for srv in $srv_list; do
scp $src $srv:$src &
done
What we did?What we did?
mexec
mcopy
❖❖ This was is fine...This was is fine...
❖❖ This was is fine...This was is fine...
when you have under 5-6000 machineswhen you have under 5-6000 machines
➢ Time
➢ Network
➢ Memory, CPU and I/O
There are LIMITS :)There are LIMITS :)
❖❖ Using most automation systems, theUsing most automation systems, the
execution of the tasks takes considerablyexecution of the tasks takes considerably
longer time then actually executing thelonger time then actually executing the
commands directlycommands directly
Time limitTime limit
❖❖ Using most automation systems, theUsing most automation systems, the
execution of the tasks takes considerablyexecution of the tasks takes considerably
longer time then actually executing thelonger time then actually executing the
commands directlycommands directly
❖❖ This happens because of error handlingThis happens because of error handling
and logging of all work, that has beenand logging of all work, that has been
donedone
Time limitTime limit
➢ tipical 1Gbps connection is around
100-110 MB per second
Network limitsNetwork limits
➢ tipical 1Gbps connection is around
100-110 MB per second
➢ if you have 10,000 machines
Network limitsNetwork limits
➢ tipical 1Gbps connection is around
100-110 MB per second
➢ if you have 10,000 machines
➢ 2 KB file is now 20 MB
Network limitsNetwork limits
➢ tipical 1Gbps connection is around
100-110 MB per second
➢ if you have 10,000 machines
➢ 2 KB file is now 20 MB
➢ but 1MB file becomes 10GB...
Network limitsNetwork limits
➢ tipical 1Gbps connection is around
100-110 MB per second
➢ if you have 10,000 machines
➢ 2 KB file is now 20 MB
➢ but 1MB file becomes 10GB...
➢ transferred with 100-110MBps ~ 91sec
Network limitsNetwork limits
➢ tipical 1Gbps connection is around
100-110 MB per second
➢ if you have 10,000 machines
➢ 2 KB file is now 20 MB
➢ but 1MB file becomes 10GB...
➢ transferred with 100-110MBps ~ 91sec
➢ what if you have to download the latest
Apache package( ~ 5MB)?
Network limitsNetwork limits
❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM
Memory, CPU, I/O limitsMemory, CPU, I/O limits
❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM
❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM
Memory, CPU, I/O limitsMemory, CPU, I/O limits
❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM
❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM
❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU
Memory, CPU, I/O limitsMemory, CPU, I/O limits
❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM
❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM
❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU
❖❖ logging data from 10k processes requireslogging data from 10k processes requires
a lot of I/Oa lot of I/O
Memory, CPU, I/O limitsMemory, CPU, I/O limits
❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM
❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM
❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU
❖❖ logging data from 10k processes requireslogging data from 10k processes requires
a lot of I/Oa lot of I/O
❖❖ what if the task on each server takeswhat if the task on each server takes
10min...10min...
Memory, CPU, I/O limitsMemory, CPU, I/O limits
➢ How will you handle upgrades?
The reality is even The reality is even 
worse...worse...
➢ How will you handle upgrades?
➢ single software update is easy
The reality is even The reality is even 
worse...worse...
➢ How will you handle upgrades?
➢ single software update is easy
➢ handling multiple at the same time, that's fun
The reality is even The reality is even 
worse...worse...
➢ How will you handle upgrades?
➢ single software update is easy
➢ handling multiple at the same time, that's fun
➢ How will you address security issues?
The reality is even The reality is even 
worse...worse...
➢ How will you handle upgrades?
➢ single software update is easy
➢ handling multiple at the same time, that's fun
➢ How will you address security issues?
➢ Tipical timeframe for kernel upgrade for us
is around 45 days
The reality is even The reality is even 
worse...worse...
➢ How will you handle upgrades?
➢ single software update is easy
➢ handling multiple at the same time, that's fun
➢ How will you address security issues?
➢ Tipical timeframe for kernel upgrade for us
is around 45 days
➢ it is highly possible that there may be an issue
that will require you to switch to a newer kernel
version in that 45days period
The reality is even The reality is even 
worse...worse...
➢ Designing a very effective systems means:
➢ You WILL break stuff VERRY effectively
The reality is even The reality is even 
worse...worse...
Marian MarinovMarian Marinov
mm@siteground.commm@siteground.com

More Related Content

What's hot

Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPFastly
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveMirantis
 
Varnish: Making eZ Publish sites fly
Varnish: Making eZ Publish sites flyVarnish: Making eZ Publish sites fly
Varnish: Making eZ Publish sites flyPeter Keung
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Ontico
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJSMarcelo Serpa
 
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
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015Alex Chistyakov
 
JCache is here. Say Goodbye to proprietary Caching APIs!
JCache is here. Say Goodbye to proprietary Caching APIs!JCache is here. Say Goodbye to proprietary Caching APIs!
JCache is here. Say Goodbye to proprietary Caching APIs!Jaromir Hamala
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tourq3boy
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...hamidsamadi
 
Solving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.comSolving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.comIvan Kruglov
 
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»Tanya Denisyuk
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureAlvaro Videla
 
Warsztaty ansible
Warsztaty ansibleWarsztaty ansible
Warsztaty ansiblegnosek
 
Nagios Conference 2014 - David Josephsen - Alert on What You Draw
Nagios Conference 2014 - David Josephsen - Alert on What You DrawNagios Conference 2014 - David Josephsen - Alert on What You Draw
Nagios Conference 2014 - David Josephsen - Alert on What You DrawNagios
 

What's hot (20)

Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
 
Neutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep DiveNeutron Network Namespaces and IPtables--A Technical Deep Dive
Neutron Network Namespaces and IPtables--A Technical Deep Dive
 
Varnish: Making eZ Publish sites fly
Varnish: Making eZ Publish sites flyVarnish: Making eZ Publish sites fly
Varnish: Making eZ Publish sites fly
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
 
Frontend Track NodeJS
Frontend Track NodeJSFrontend Track NodeJS
Frontend Track NodeJS
 
Capistrano && SystemD
Capistrano && SystemDCapistrano && SystemD
Capistrano && SystemD
 
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...
 
My talk at Linux Piter 2015
My talk at Linux Piter 2015My talk at Linux Piter 2015
My talk at Linux Piter 2015
 
JCache is here. Say Goodbye to proprietary Caching APIs!
JCache is here. Say Goodbye to proprietary Caching APIs!JCache is here. Say Goodbye to proprietary Caching APIs!
JCache is here. Say Goodbye to proprietary Caching APIs!
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tour
 
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
JCache is here. Say goodbye to proprietary Caching API's", jDays 2015 Speaker...
 
Docker and Fargate
Docker and FargateDocker and Fargate
Docker and Fargate
 
Solving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.comSolving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.com
 
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
 
Vagrant
VagrantVagrant
Vagrant
 
Dissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal ArchitectureDissecting the rabbit: RabbitMQ Internal Architecture
Dissecting the rabbit: RabbitMQ Internal Architecture
 
Groovy VFS
Groovy VFSGroovy VFS
Groovy VFS
 
Warsztaty ansible
Warsztaty ansibleWarsztaty ansible
Warsztaty ansible
 
Nagios Conference 2014 - David Josephsen - Alert on What You Draw
Nagios Conference 2014 - David Josephsen - Alert on What You DrawNagios Conference 2014 - David Josephsen - Alert on What You Draw
Nagios Conference 2014 - David Josephsen - Alert on What You Draw
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
 

Similar to Managing a lot of servers

DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKMarian Marinov
 
High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013Server Density
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Abhishek Singh
 
How to setup your linux server
How to setup your linux serverHow to setup your linux server
How to setup your linux serverMarian Marinov
 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsAll Things Open
 
Backing up thousands of containers
Backing up thousands of containersBacking up thousands of containers
Backing up thousands of containersMarian Marinov
 
20150918 klug el performance tuning-v1.4
20150918 klug el performance tuning-v1.420150918 klug el performance tuning-v1.4
20150918 klug el performance tuning-v1.4Jinkoo Han
 
1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBSJim Plush
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentEmerson Exchange
 
OSS Presentation Metro Cluster by Andy Bennett & Roel De Frene
OSS Presentation Metro Cluster by Andy Bennett & Roel De FreneOSS Presentation Metro Cluster by Andy Bennett & Roel De Frene
OSS Presentation Metro Cluster by Andy Bennett & Roel De FreneOpenStorageSummit
 
Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained krishna kakade
 
SPE effiency on modern hardware paper presentation
SPE effiency on modern hardware   paper presentationSPE effiency on modern hardware   paper presentation
SPE effiency on modern hardware paper presentationPanagiotisSavvaidis
 
Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Ontico
 
Performance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksPerformance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksMarian Marinov
 
Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) PostgreSQL Experts, Inc.
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networksMarian Marinov
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceBOSC 2010
 
Virtualisation Oversubscription - What's so scary?
Virtualisation Oversubscription - What's so scary?Virtualisation Oversubscription - What's so scary?
Virtualisation Oversubscription - What's so scary?Metron
 

Similar to Managing a lot of servers (20)

DoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDKDoS and DDoS mitigations with eBPF, XDP and DPDK
DoS and DDoS mitigations with eBPF, XDP and DPDK
 
High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013High performance Infrastructure Oct 2013
High performance Infrastructure Oct 2013
 
Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up Scaling a Rails Application from the Bottom Up
Scaling a Rails Application from the Bottom Up
 
How to setup your linux server
How to setup your linux serverHow to setup your linux server
How to setup your linux server
 
Testing Wi-Fi with OSS Tools
Testing Wi-Fi with OSS ToolsTesting Wi-Fi with OSS Tools
Testing Wi-Fi with OSS Tools
 
Backing up thousands of containers
Backing up thousands of containersBacking up thousands of containers
Backing up thousands of containers
 
20150918 klug el performance tuning-v1.4
20150918 klug el performance tuning-v1.420150918 klug el performance tuning-v1.4
20150918 klug el performance tuning-v1.4
 
1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS1 Million Writes per second on 60 nodes with Cassandra and EBS
1 Million Writes per second on 60 nodes with Cassandra and EBS
 
DeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized EnvironmentDeltaV Development Systems in a Virtualized Environment
DeltaV Development Systems in a Virtualized Environment
 
OSS Presentation Metro Cluster by Andy Bennett & Roel De Frene
OSS Presentation Metro Cluster by Andy Bennett & Roel De FreneOSS Presentation Metro Cluster by Andy Bennett & Roel De Frene
OSS Presentation Metro Cluster by Andy Bennett & Roel De Frene
 
NFS and Oracle
NFS and OracleNFS and Oracle
NFS and Oracle
 
Optimizing Linux Servers
Optimizing Linux ServersOptimizing Linux Servers
Optimizing Linux Servers
 
Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained Arch linux and whole security concepts in linux explained
Arch linux and whole security concepts in linux explained
 
SPE effiency on modern hardware paper presentation
SPE effiency on modern hardware   paper presentationSPE effiency on modern hardware   paper presentation
SPE effiency on modern hardware paper presentation
 
Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.Marian Marinov, 1H Ltd.
Marian Marinov, 1H Ltd.
 
Performance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networksPerformance comparison of Distributed File Systems on 1Gbit networks
Performance comparison of Distributed File Systems on 1Gbit networks
 
Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009)
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networks
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
 
Virtualisation Oversubscription - What's so scary?
Virtualisation Oversubscription - What's so scary?Virtualisation Oversubscription - What's so scary?
Virtualisation Oversubscription - What's so scary?
 

More from Marian Marinov

How to implement PassKeys in your application
How to implement PassKeys in your applicationHow to implement PassKeys in your application
How to implement PassKeys in your applicationMarian Marinov
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingMarian Marinov
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsMarian Marinov
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Marian Marinov
 
Introduction and replication to DragonflyDB
Introduction and replication to DragonflyDBIntroduction and replication to DragonflyDB
Introduction and replication to DragonflyDBMarian Marinov
 
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMessage Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMarian Marinov
 
How to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfHow to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfMarian Marinov
 
How to survive in the work from home era
How to survive in the work from home eraHow to survive in the work from home era
How to survive in the work from home eraMarian Marinov
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefsMarian Marinov
 
Control your service resources with systemd
 Control your service resources with systemd  Control your service resources with systemd
Control your service resources with systemd Marian Marinov
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storageMarian Marinov
 
Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Marian Marinov
 
Securing your MySQL server
Securing your MySQL serverSecuring your MySQL server
Securing your MySQL serverMarian Marinov
 
SiteGround building automation
SiteGround building automationSiteGround building automation
SiteGround building automationMarian Marinov
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingMarian Marinov
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingMarian Marinov
 
How to build your own anycast service
How to build your own anycast serviceHow to build your own anycast service
How to build your own anycast serviceMarian Marinov
 

More from Marian Marinov (20)

How to implement PassKeys in your application
How to implement PassKeys in your applicationHow to implement PassKeys in your application
How to implement PassKeys in your application
 
Dev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & LoggingDev.bg DevOps March 2024 Monitoring & Logging
Dev.bg DevOps March 2024 Monitoring & Logging
 
Basic presentation of cryptography mechanisms
Basic presentation of cryptography mechanismsBasic presentation of cryptography mechanisms
Basic presentation of cryptography mechanisms
 
Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?Microservices: Benefits, drawbacks and are they for me?
Microservices: Benefits, drawbacks and are they for me?
 
Introduction and replication to DragonflyDB
Introduction and replication to DragonflyDBIntroduction and replication to DragonflyDB
Introduction and replication to DragonflyDB
 
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQMessage Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
Message Queuing - Gearman, Mosquitto, Kafka and RabbitMQ
 
How to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdfHow to successfully migrate to DevOps .pdf
How to successfully migrate to DevOps .pdf
 
How to survive in the work from home era
How to survive in the work from home eraHow to survive in the work from home era
How to survive in the work from home era
 
Managing sysadmins
Managing sysadminsManaging sysadmins
Managing sysadmins
 
Improve your storage with bcachefs
Improve your storage with bcachefsImprove your storage with bcachefs
Improve your storage with bcachefs
 
Control your service resources with systemd
 Control your service resources with systemd  Control your service resources with systemd
Control your service resources with systemd
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?Защо и как да обогатяваме знанията си?
Защо и как да обогатяваме знанията си?
 
Securing your MySQL server
Securing your MySQL serverSecuring your MySQL server
Securing your MySQL server
 
Sysadmin vs. dev ops
Sysadmin vs. dev opsSysadmin vs. dev ops
Sysadmin vs. dev ops
 
SiteGround building automation
SiteGround building automationSiteGround building automation
SiteGround building automation
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
Preventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel trackingPreventing cpu side channel attacks with kernel tracking
Preventing cpu side channel attacks with kernel tracking
 
How to build your own anycast service
How to build your own anycast serviceHow to build your own anycast service
How to build your own anycast service
 
Electrical workshop
Electrical workshopElectrical workshop
Electrical workshop
 

Recently uploaded

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 

Recently uploaded (20)

Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 

Managing a lot of servers

  • 2. ❖❖ Who am I?Who am I? - Chief System Architect of SiteGround.com- Chief System Architect of SiteGround.com - Sysadmin since 1996- Sysadmin since 1996 - Organizer of OpenFest, BG Perl- Organizer of OpenFest, BG Perl Workshops, LUG-BG and othersWorkshops, LUG-BG and others - Teaching Network Security and- Teaching Network Security and Linux System AdministrationLinux System Administration courses in Sofia Universitycourses in Sofia University and SoftUniand SoftUni
  • 3. ❖❖ The theory states Let's skip the detailsLet's skip the details
  • 4. ❖❖ The theory states ➢ Make all of your servers feel the same Let's skip the detailsLet's skip the details
  • 5. ❖❖ The theory states ➢ Make all of your servers feel the same ➢ Automate everything Let's skip the detailsLet's skip the details
  • 6. ❖❖ The theory states ➢ Make all of your servers feel the same ➢ same hardware ➢ same software ➢ Automate everything Let's skip the detailsLet's skip the details
  • 7. ❖❖ The theory states ➢ Make all of your servers feel the same ➢ same hardware ➢ same software ➢ Automate everything ➢ no manual deployments ➢ use systems like Ansible, Pupet, Chef Let's skip the detailsLet's skip the details
  • 9. ➢ Do the work in parallel What most people do?What most people do?
  • 10. ➢ Do the work in parallel ➢ pssh pscp (even Pacemaker is using those) What most people do?What most people do?
  • 13. ➢ Multy-command.shMulty-command.sh :) for srv in $srv_list; do ssh $srv $cmd & done What we did?What we did? mexec
  • 14. ➢ Multy-command.shMulty-command.sh :) for srv in $srv_list; do ssh $srv $cmd & done for srv in $srv_list; do scp $src $srv:$src & done What we did?What we did? mexec mcopy
  • 15. ❖❖ This was is fine...This was is fine...
  • 16. ❖❖ This was is fine...This was is fine... when you have under 5-6000 machineswhen you have under 5-6000 machines
  • 17. ➢ Time ➢ Network ➢ Memory, CPU and I/O There are LIMITS :)There are LIMITS :)
  • 18. ❖❖ Using most automation systems, theUsing most automation systems, the execution of the tasks takes considerablyexecution of the tasks takes considerably longer time then actually executing thelonger time then actually executing the commands directlycommands directly Time limitTime limit
  • 19. ❖❖ Using most automation systems, theUsing most automation systems, the execution of the tasks takes considerablyexecution of the tasks takes considerably longer time then actually executing thelonger time then actually executing the commands directlycommands directly ❖❖ This happens because of error handlingThis happens because of error handling and logging of all work, that has beenand logging of all work, that has been donedone Time limitTime limit
  • 20. ➢ tipical 1Gbps connection is around 100-110 MB per second Network limitsNetwork limits
  • 21. ➢ tipical 1Gbps connection is around 100-110 MB per second ➢ if you have 10,000 machines Network limitsNetwork limits
  • 22. ➢ tipical 1Gbps connection is around 100-110 MB per second ➢ if you have 10,000 machines ➢ 2 KB file is now 20 MB Network limitsNetwork limits
  • 23. ➢ tipical 1Gbps connection is around 100-110 MB per second ➢ if you have 10,000 machines ➢ 2 KB file is now 20 MB ➢ but 1MB file becomes 10GB... Network limitsNetwork limits
  • 24. ➢ tipical 1Gbps connection is around 100-110 MB per second ➢ if you have 10,000 machines ➢ 2 KB file is now 20 MB ➢ but 1MB file becomes 10GB... ➢ transferred with 100-110MBps ~ 91sec Network limitsNetwork limits
  • 25. ➢ tipical 1Gbps connection is around 100-110 MB per second ➢ if you have 10,000 machines ➢ 2 KB file is now 20 MB ➢ but 1MB file becomes 10GB... ➢ transferred with 100-110MBps ~ 91sec ➢ what if you have to download the latest Apache package( ~ 5MB)? Network limitsNetwork limits
  • 26. ❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM Memory, CPU, I/O limitsMemory, CPU, I/O limits
  • 27. ❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM ❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM Memory, CPU, I/O limitsMemory, CPU, I/O limits
  • 28. ❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM ❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM ❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU Memory, CPU, I/O limitsMemory, CPU, I/O limits
  • 29. ❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM ❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM ❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU ❖❖ logging data from 10k processes requireslogging data from 10k processes requires a lot of I/Oa lot of I/O Memory, CPU, I/O limitsMemory, CPU, I/O limits
  • 30. ❖❖ 1 ssh process is ~6MB RAM1 ssh process is ~6MB RAM ❖❖ 10,000 * 6 = 60GB RAM10,000 * 6 = 60GB RAM ❖❖ spawning 10k processes is costing CPUspawning 10k processes is costing CPU ❖❖ logging data from 10k processes requireslogging data from 10k processes requires a lot of I/Oa lot of I/O ❖❖ what if the task on each server takeswhat if the task on each server takes 10min...10min... Memory, CPU, I/O limitsMemory, CPU, I/O limits
  • 31. ➢ How will you handle upgrades? The reality is even The reality is even  worse...worse...
  • 32. ➢ How will you handle upgrades? ➢ single software update is easy The reality is even The reality is even  worse...worse...
  • 33. ➢ How will you handle upgrades? ➢ single software update is easy ➢ handling multiple at the same time, that's fun The reality is even The reality is even  worse...worse...
  • 34. ➢ How will you handle upgrades? ➢ single software update is easy ➢ handling multiple at the same time, that's fun ➢ How will you address security issues? The reality is even The reality is even  worse...worse...
  • 35. ➢ How will you handle upgrades? ➢ single software update is easy ➢ handling multiple at the same time, that's fun ➢ How will you address security issues? ➢ Tipical timeframe for kernel upgrade for us is around 45 days The reality is even The reality is even  worse...worse...
  • 36. ➢ How will you handle upgrades? ➢ single software update is easy ➢ handling multiple at the same time, that's fun ➢ How will you address security issues? ➢ Tipical timeframe for kernel upgrade for us is around 45 days ➢ it is highly possible that there may be an issue that will require you to switch to a newer kernel version in that 45days period The reality is even The reality is even  worse...worse...
  • 37. ➢ Designing a very effective systems means: ➢ You WILL break stuff VERRY effectively The reality is even The reality is even  worse...worse...