SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
v
Следете актуалните обяви за DevOps
Marian Marinov
How to successfully migrate to DevOps
mm@yuhu.biz
v
Следете актуалните обяви за DevOps
Disclaimer 1!
➢ For me DevOps is the new sysadmin...
➢ But with more responsibilities!
➢ I'm sharing my personal point of
view and my personal mistakes.
v
Следете актуалните обяви за DevOps
Disclaimer 2!
➢ This is not a HashiCorp presentation :)
➢ Its just simpler then presenting the
same thing with k8s
v
Следете актуалните обяви за DevOps
Is DevOps right for me?
➢ How big is my team?
v
Следете актуалните обяви за DevOps
Is DevOps right for me?
➢ How big is my team?
➢ What do I have at the moment:
v
Следете актуалните обяви за DevOps
Is DevOps right for me?
➢ How big is my team?
➢ What do I have at the moment:
➢ how many servers?
v
Следете актуалните обяви за DevOps
Is DevOps right for me?
➢ How big is my team?
➢ What do I have at the moment:
➢ how many servers?
➢ how many applications?
v
Следете актуалните обяви за DevOps
Is DevOps right for me?
➢ How big is my team?
➢ What do I have at the moment:
➢ how many servers?
➢ how many applications?
➢ how many data sources(SQL, NoSQL, FS Storage)
v
Следете актуалните обяви за DevOps
Dev: git push github master
Sys: ssh server
apt-get install git apach2 mysql php-common php7.4-common php7.4-mysql
php7.4-cgi php7.4-fpm iptables iptables-persistent
cd /home/app/
git clone github/repo
git checkout master
echo -e '$db_user=”app1”;n$db_pass=”secret”;' > app-config.php
vi /etc/apache2/conf.d/app.conf
vi /etc/php/7.4/fpm/pool.d/www.conf
systemctl start apache2
systemctl start php7.4-fpm.service
systemctl start mysql
mysql -e 'CREATE DATABASE app1'
mysql -e "GRANT USAGE *.* app1@localhost IDENTIFIED BY 'secret'"
mysql -e 'GRANT ALL ON app1.* TO app1@localhost'
# setup the firewall
The OLD WAY
v
Следете актуалните обяви за DevOps
Dev: git push github master
Ops:
1. Install terraform
2. Write the TF configuration for terraform
3. Configure your infrastructure with terraform
4. Deploy Nomad with Terraform
5. Write the Nomad configuration for the VMs/Containers and the
deployment of your app
6. Write a bash scripts that will:
6.1. Deploy your app
6.2. Deploy your DB and setup user
6.3. Deploy your web server setup
The NEW WAY
v
Следете актуалните обяви за DevOps
Pros:
OLD
- simpler
- faster
- requires knowledge only for the service(s)
Comparing the OLD vs. NEW ways
v
Следете актуалните обяви за DevOps
Pros:
OLD
- simpler
- faster
- requires knowledge only for the service(s)
NEW
- repeatable/reproducible
- scalable
- requires less scripting
- removes the requirement to know the actual service(s)
Comparing the OLD vs. NEW ways
v
Следете актуалните обяви за DevOps
Conns:
OLD
- requires understanding of the service configuration
- requires bash scripting
Comparing the OLD vs. NEW ways
v
Следете актуалните обяви за DevOps
Conns:
OLD
- requires understanding of the service configuration
- requires bash scripting
NEW
- requires a lot of knowledge for high level software
(terraform, nomad, ansible etc.)
- takes longer time to deliver initial setup
- removes the requirements to know the actual services
-
Comparing the OLD vs. NEW ways
v
Следете актуалните обяви за DevOps
Dive into the DevOps way
v
Следете актуалните обяви за DevOps
* Installing teraform
+ typical learning time 1-2 weeks
* Installing Nomad
+ with terraform, around a day
+ without terrafrom 2-3 days
* Choosing the infrastructure configuration
+ decide will we use VMs(KVM, Xen, Hyper-V, AWS, GCP, Azure, Alibaba) or
containers(Docker, LXD, runc)
+ decide how you will split the infra
- will we have web loadbalancers/proxies
- will we keep the DB on the same node as the web application
- will we have a replication for the DB
- will we have a separate node for the firewall
- result should be documented infrastructure and sometimes even a graph
depicting the connection between the nodes
* Decide if you are going to use a secret management system like Vault
* Prepare the deployment configuration
* Test the deployment configuration
* Sometimes... add CI/CD for the application
v
Следете актуалните обяви за DevOps
When to choose DevOps
over Sysadmin
v
Следете актуалните обяви за DevOps
➢ You are expecting rapid growth
➢ You are expecting to setup this infrastructure often
➢ You are expecting to re­provision this application often
➢ You need to implement complex CI/CD
v
Следете актуалните обяви за DevOps
Team considerations
v
Следете актуалните обяви за DevOps
➢ For DevOps teams of less then 5
➢ if only 2 or 3 people know the tools
➢ if the whole team knows the tools
➢ try to do a deployment with these tools at least 4
times a year and rotate the people doing these test
deployments
v
Следете актуалните обяви за DevOps
➢ For DevOps teams of more then 5
➢ make sure you have at least 4 persons that
know the tooling
➢ make sure your setup and infrastructure
configuration are well documented
➢ make sure you test frequently your deployments
➢ keep your infrastructure code in a separate repo
v
Следете актуалните обяви за DevOps
Documentation considerations
v
Следете актуалните обяви за DevOps
➢ Include links to specific topics from the
upstream documentation
➢ Provide specifics for your own environment
➢ If possible keep these comments within the
infrastructure configuration files, not separate
v
Следете актуалните обяви за DevOps
Technical considerations
v
Следете актуалните обяви за DevOps
➢ Scaling is not an automatic process, until you make it
➢ DBs don't scale easy horizontally
➢ replication is mandatory
➢ sharding is preferable, but also not easy
➢ read/write split is needed, but also not easy
➢ LB/Proxies add latency
➢ failure tolerance
➢ Session storage need to scale and be accessible to
all web nodes
➢ Communication between everything is now over TCP,
instead of Unix sockets
v
Следете актуалните обяви за DevOps
ABSTRACTION
ABSTRACTION
the devil is in the details
the devil is in the details
v
Следете актуалните обяви за DevOps
➢ Ansible
➢ just to configure the apache, php and mysql
➢ Terraform
➢ to be able to deploy on different clouds
➢ Nomad
➢ to be able to control the scale
v
Следете актуалните обяви за DevOps
➢ Ansible
➢ ready made examples
➢ limited functionality
➢ reducing your ability to provide specific configuration
➢ A lot of times resulting in DevOps needing to go around it
and just execute some commands
v
Следете актуалните обяви за DevOps
➢ Terraform
➢ can do what Ansible can, but it is not built for that :)
➢ abstracts Ansible and makes it harder to understand what
the end result would be
➢ declares the desired end result, not how to reach it
➢ almost entirely removes the resulting configuration from
the equation
➢ problems with terraform configuration may cause delays in
delivering a fixes to the live system
v
Следете актуалните обяви за DevOps
➢ Nomad
➢ requests a VM/container of a certain type
➢ the type is not defined within Nomad, other tools are used for that
➢ monitors the VMs/containers to decide if you need more or if
some resource needs to be restarted
v
Следете актуалните обяви за DevOps
Hiring
Hiring
the devil is in the details
the devil is in the details
v
Следете актуалните обяви за DevOps
➢ Candidates focus on the new tech
➢ Forgetting what these tools were build to manage
➢ Not understanding the services (hammer and nail issues)
➢ Learning the basics of system administration is harder
➢ If the provider does not support it, the candidate
does not know it exists/it is possible
v
Следете актуалните обяви за DevOps
Marian Marinov
Questions?
mm@yuhu.biz
v
Следете актуалните обяви за DevOps
Marian Marinov
mm@yuhu.biz
Contacts:
https://www.linkedin.com/in/mariandmarinov/
https://github.com/hackman
Thank
you!

Contenu connexe

Similaire à How to successfully migrate to DevOps .pdf

Symfony4 - Deep dive
Symfony4 - Deep diveSymfony4 - Deep dive
Symfony4 - Deep diveSalma Ghareeb
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionJoe Ferguson
 
Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Johan Mynhardt
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
Trusting the Unknown
Trusting the UnknownTrusting the Unknown
Trusting the UnknownJesse Houwing
 
Trusting the Unknown
Trusting the UnknownTrusting the Unknown
Trusting the Unknownssuser37f369
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life DevOps.com
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Simon Boulet
 
The development environment
The development environmentThe development environment
The development environmentLee Pelser
 
Deploying PHP on PaaS: Why and How?
Deploying PHP on PaaS: Why and How?Deploying PHP on PaaS: Why and How?
Deploying PHP on PaaS: Why and How?Docker, Inc.
 
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000'sDevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000'stechopsguru
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014André Rømcke
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Edureka!
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
Devops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersDevops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersNuSpace
 
Successful DevOps implementation for small teams a true story
Successful DevOps implementation for small teams  a true storySuccessful DevOps implementation for small teams  a true story
Successful DevOps implementation for small teams a true storyJakub Paweł Głazik
 
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
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpNathan Handler
 

Similaire à How to successfully migrate to DevOps .pdf (20)

Symfony4 - Deep dive
Symfony4 - Deep diveSymfony4 - Deep dive
Symfony4 - Deep dive
 
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello ProductionLaravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
 
Clouds presentation, aws meetup v2
Clouds presentation, aws meetup   v2Clouds presentation, aws meetup   v2
Clouds presentation, aws meetup v2
 
Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Trusting the Unknown
Trusting the UnknownTrusting the Unknown
Trusting the Unknown
 
Trusting the Unknown
Trusting the UnknownTrusting the Unknown
Trusting the Unknown
 
Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life Achieving Full Stack DevOps at Colonial Life
Achieving Full Stack DevOps at Colonial Life
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
The development environment
The development environmentThe development environment
The development environment
 
Deploying PHP on PaaS: Why and How?
Deploying PHP on PaaS: Why and How?Deploying PHP on PaaS: Why and How?
Deploying PHP on PaaS: Why and How?
 
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000'sDevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Cloud Orchestration is Broken
Cloud Orchestration is BrokenCloud Orchestration is Broken
Cloud Orchestration is Broken
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
Devops CI-CD pipeline with Containers
Devops CI-CD pipeline with ContainersDevops CI-CD pipeline with Containers
Devops CI-CD pipeline with Containers
 
Successful DevOps implementation for small teams a true story
Successful DevOps implementation for small teams  a true storySuccessful DevOps implementation for small teams  a true story
Successful DevOps implementation for small teams a true story
 
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…
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
 

Plus de Marian 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 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
 
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
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networksMarian 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
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of serversMarian Marinov
 
Let's Encrypt failures
Let's Encrypt failuresLet's Encrypt failures
Let's Encrypt failuresMarian 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
 

Plus de Marian Marinov (20)

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 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
 
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
 
Challenges with high density networks
Challenges with high density networksChallenges with high density networks
Challenges with high density networks
 
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
 
Managing a lot of servers
Managing a lot of serversManaging a lot of servers
Managing a lot of servers
 
Let's Encrypt failures
Let's Encrypt failuresLet's Encrypt failures
Let's Encrypt failures
 
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
 

Dernier

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
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
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
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 

Dernier (20)

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
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
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
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 

How to successfully migrate to DevOps .pdf

  • 1. v Следете актуалните обяви за DevOps Marian Marinov How to successfully migrate to DevOps mm@yuhu.biz
  • 2. v Следете актуалните обяви за DevOps Disclaimer 1! ➢ For me DevOps is the new sysadmin... ➢ But with more responsibilities! ➢ I'm sharing my personal point of view and my personal mistakes.
  • 3. v Следете актуалните обяви за DevOps Disclaimer 2! ➢ This is not a HashiCorp presentation :) ➢ Its just simpler then presenting the same thing with k8s
  • 4. v Следете актуалните обяви за DevOps Is DevOps right for me? ➢ How big is my team?
  • 5. v Следете актуалните обяви за DevOps Is DevOps right for me? ➢ How big is my team? ➢ What do I have at the moment:
  • 6. v Следете актуалните обяви за DevOps Is DevOps right for me? ➢ How big is my team? ➢ What do I have at the moment: ➢ how many servers?
  • 7. v Следете актуалните обяви за DevOps Is DevOps right for me? ➢ How big is my team? ➢ What do I have at the moment: ➢ how many servers? ➢ how many applications?
  • 8. v Следете актуалните обяви за DevOps Is DevOps right for me? ➢ How big is my team? ➢ What do I have at the moment: ➢ how many servers? ➢ how many applications? ➢ how many data sources(SQL, NoSQL, FS Storage)
  • 9. v Следете актуалните обяви за DevOps Dev: git push github master Sys: ssh server apt-get install git apach2 mysql php-common php7.4-common php7.4-mysql php7.4-cgi php7.4-fpm iptables iptables-persistent cd /home/app/ git clone github/repo git checkout master echo -e '$db_user=”app1”;n$db_pass=”secret”;' > app-config.php vi /etc/apache2/conf.d/app.conf vi /etc/php/7.4/fpm/pool.d/www.conf systemctl start apache2 systemctl start php7.4-fpm.service systemctl start mysql mysql -e 'CREATE DATABASE app1' mysql -e "GRANT USAGE *.* app1@localhost IDENTIFIED BY 'secret'" mysql -e 'GRANT ALL ON app1.* TO app1@localhost' # setup the firewall The OLD WAY
  • 10. v Следете актуалните обяви за DevOps Dev: git push github master Ops: 1. Install terraform 2. Write the TF configuration for terraform 3. Configure your infrastructure with terraform 4. Deploy Nomad with Terraform 5. Write the Nomad configuration for the VMs/Containers and the deployment of your app 6. Write a bash scripts that will: 6.1. Deploy your app 6.2. Deploy your DB and setup user 6.3. Deploy your web server setup The NEW WAY
  • 11. v Следете актуалните обяви за DevOps Pros: OLD - simpler - faster - requires knowledge only for the service(s) Comparing the OLD vs. NEW ways
  • 12. v Следете актуалните обяви за DevOps Pros: OLD - simpler - faster - requires knowledge only for the service(s) NEW - repeatable/reproducible - scalable - requires less scripting - removes the requirement to know the actual service(s) Comparing the OLD vs. NEW ways
  • 13. v Следете актуалните обяви за DevOps Conns: OLD - requires understanding of the service configuration - requires bash scripting Comparing the OLD vs. NEW ways
  • 14. v Следете актуалните обяви за DevOps Conns: OLD - requires understanding of the service configuration - requires bash scripting NEW - requires a lot of knowledge for high level software (terraform, nomad, ansible etc.) - takes longer time to deliver initial setup - removes the requirements to know the actual services - Comparing the OLD vs. NEW ways
  • 15. v Следете актуалните обяви за DevOps Dive into the DevOps way
  • 16. v Следете актуалните обяви за DevOps * Installing teraform + typical learning time 1-2 weeks * Installing Nomad + with terraform, around a day + without terrafrom 2-3 days * Choosing the infrastructure configuration + decide will we use VMs(KVM, Xen, Hyper-V, AWS, GCP, Azure, Alibaba) or containers(Docker, LXD, runc) + decide how you will split the infra - will we have web loadbalancers/proxies - will we keep the DB on the same node as the web application - will we have a replication for the DB - will we have a separate node for the firewall - result should be documented infrastructure and sometimes even a graph depicting the connection between the nodes * Decide if you are going to use a secret management system like Vault * Prepare the deployment configuration * Test the deployment configuration * Sometimes... add CI/CD for the application
  • 17. v Следете актуалните обяви за DevOps When to choose DevOps over Sysadmin
  • 18. v Следете актуалните обяви за DevOps ➢ You are expecting rapid growth ➢ You are expecting to setup this infrastructure often ➢ You are expecting to re­provision this application often ➢ You need to implement complex CI/CD
  • 19. v Следете актуалните обяви за DevOps Team considerations
  • 20. v Следете актуалните обяви за DevOps ➢ For DevOps teams of less then 5 ➢ if only 2 or 3 people know the tools ➢ if the whole team knows the tools ➢ try to do a deployment with these tools at least 4 times a year and rotate the people doing these test deployments
  • 21. v Следете актуалните обяви за DevOps ➢ For DevOps teams of more then 5 ➢ make sure you have at least 4 persons that know the tooling ➢ make sure your setup and infrastructure configuration are well documented ➢ make sure you test frequently your deployments ➢ keep your infrastructure code in a separate repo
  • 22. v Следете актуалните обяви за DevOps Documentation considerations
  • 23. v Следете актуалните обяви за DevOps ➢ Include links to specific topics from the upstream documentation ➢ Provide specifics for your own environment ➢ If possible keep these comments within the infrastructure configuration files, not separate
  • 24. v Следете актуалните обяви за DevOps Technical considerations
  • 25. v Следете актуалните обяви за DevOps ➢ Scaling is not an automatic process, until you make it ➢ DBs don't scale easy horizontally ➢ replication is mandatory ➢ sharding is preferable, but also not easy ➢ read/write split is needed, but also not easy ➢ LB/Proxies add latency ➢ failure tolerance ➢ Session storage need to scale and be accessible to all web nodes ➢ Communication between everything is now over TCP, instead of Unix sockets
  • 26. v Следете актуалните обяви за DevOps ABSTRACTION ABSTRACTION the devil is in the details the devil is in the details
  • 27. v Следете актуалните обяви за DevOps ➢ Ansible ➢ just to configure the apache, php and mysql ➢ Terraform ➢ to be able to deploy on different clouds ➢ Nomad ➢ to be able to control the scale
  • 28. v Следете актуалните обяви за DevOps ➢ Ansible ➢ ready made examples ➢ limited functionality ➢ reducing your ability to provide specific configuration ➢ A lot of times resulting in DevOps needing to go around it and just execute some commands
  • 29. v Следете актуалните обяви за DevOps ➢ Terraform ➢ can do what Ansible can, but it is not built for that :) ➢ abstracts Ansible and makes it harder to understand what the end result would be ➢ declares the desired end result, not how to reach it ➢ almost entirely removes the resulting configuration from the equation ➢ problems with terraform configuration may cause delays in delivering a fixes to the live system
  • 30. v Следете актуалните обяви за DevOps ➢ Nomad ➢ requests a VM/container of a certain type ➢ the type is not defined within Nomad, other tools are used for that ➢ monitors the VMs/containers to decide if you need more or if some resource needs to be restarted
  • 31. v Следете актуалните обяви за DevOps Hiring Hiring the devil is in the details the devil is in the details
  • 32. v Следете актуалните обяви за DevOps ➢ Candidates focus on the new tech ➢ Forgetting what these tools were build to manage ➢ Not understanding the services (hammer and nail issues) ➢ Learning the basics of system administration is harder ➢ If the provider does not support it, the candidate does not know it exists/it is possible
  • 33. v Следете актуалните обяви за DevOps Marian Marinov Questions? mm@yuhu.biz
  • 34. v Следете актуалните обяви за DevOps Marian Marinov mm@yuhu.biz Contacts: https://www.linkedin.com/in/mariandmarinov/ https://github.com/hackman Thank you!