SlideShare a Scribd company logo
HOW DID PUPPET
CHANGE OUR LIFE?
Introduction
 Phùng Đắc Hưng
 System Engineer at VNG Corporation
 {Gmail, Twitter}/dachung666
Life when begin
 Works
 Single
 Direct
 Small
Life before Puppet
 Series
 Repeat
 Many roles
Solutions
 Bash shell
Solutions
 Bash shell
 Terminator
Solutions
 Bash shell
 Terminator
 Fabric python
Problems
 Time to deploy
 High human error rate  Misconfig
 Hard to manage
Config management tool
 We have
 Centralized configurations, settings
 Declarative language
 Excute parallel
 Speed
Config management tool
 We have
 Centralized configurations, settings
 Declarative language
 Excute parallel
 Speed
 We have
 CFEngine
 Chef
 Puppet
 SaltStack
Puppet
 About Puppet
http://www.puppetlabs.com/
Puppet
 Puppet master – Puppet agents
Puppet
 Puppet master – Puppet agents
 Facter
Puppet
 Puppet master – Puppet agents
 Facter
 Modules
 Manifest
 Resource type
Some results
 Puppet with Linux OS kernel setting
 Deploy Web cluster
 Deploy Hadoop cluster
Linux OS kernel setting
 Usage
 /etc/sysctl.conf
 sysctl -w
 Before : net.ipv4.ip_forward = 0
 After : net.ipv4.ip_forward = 1
Deploy Web cluster
 Deploy a web node
 nginx
 php
 Folder
 Excute parallel in multiple servers
 Using mcollective*
 Puppet reports
Deploy Hadoop cluster
 Having many roles
 Each server keep some roles
Config management tool
 Open new feature
Config management tool
 Open new feature
 Living Documentation (*)
(*) http://bit.ly/1hkaTnj
Config management tool
 Open new feature
 Living Documentation (*)
 Consistent
configuration
(*) http://bit.ly/1hkaTnj
Config management tool
 Open new feature
 Living Documentation (*)
 Consistent configuration
 DevOps
(*) http://bit.ly/1hkaTnj
Life change
 Improve performance
 New skills
 Have more free time
Q&A

More Related Content

What's hot

Tool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - XhprofTool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - Xhproftoolitup
 
Improving your workflow with gulp
Improving your workflow with gulpImproving your workflow with gulp
Improving your workflow with gulpfrontendne
 
Using filesystem capabilities with rsync
Using filesystem capabilities with rsyncUsing filesystem capabilities with rsync
Using filesystem capabilities with rsync
Hazel Smith
 
Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with PuppetJoe Ray
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran
 
Modernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & BowerModernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & Bower
Alan Crissey
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
Larry Cai
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
Julien Pivotto
 
Simple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottleSimple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottle
Jordi Soucheiron
 
Newgenlib Installation on Ubuntu 12.04
Newgenlib Installation on Ubuntu 12.04Newgenlib Installation on Ubuntu 12.04
Newgenlib Installation on Ubuntu 12.04
Rajendra Singh
 
OSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshopOSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshop
leffen
 
In the desert, without a camel
In the desert, without a camelIn the desert, without a camel
In the desert, without a camel
Stephen Scaffidi
 
Node.js - The New, New Hotness
Node.js - The New, New HotnessNode.js - The New, New Hotness
Node.js - The New, New Hotness
Daniel Shaw
 
open source product management (feat. npm)
open source product management (feat. npm)open source product management (feat. npm)
open source product management (feat. npm)
Forrest Norvell
 
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
bocribbz
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
WEBdeBS
 
Multiple django applications on a single server with nginx
Multiple django applications on a single server with nginxMultiple django applications on a single server with nginx
Multiple django applications on a single server with nginx
roskakori
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet tree
Julien Pivotto
 
Automated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packerAutomated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packer
Jan Collijs
 

What's hot (20)

Tool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - XhprofTool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - Xhprof
 
Improving your workflow with gulp
Improving your workflow with gulpImproving your workflow with gulp
Improving your workflow with gulp
 
Using filesystem capabilities with rsync
Using filesystem capabilities with rsyncUsing filesystem capabilities with rsync
Using filesystem capabilities with rsync
 
Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with Puppet
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
 
Modernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & BowerModernizing Your WordPress Workflow with Grunt & Bower
Modernizing Your WordPress Workflow with Grunt & Bower
 
Python virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutesPython virtualenv & pip in 90 minutes
Python virtualenv & pip in 90 minutes
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
 
Simple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottleSimple webapps with nginx, uwsgi emperor and bottle
Simple webapps with nginx, uwsgi emperor and bottle
 
Newgenlib Installation on Ubuntu 12.04
Newgenlib Installation on Ubuntu 12.04Newgenlib Installation on Ubuntu 12.04
Newgenlib Installation on Ubuntu 12.04
 
OSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshopOSDC.no 2015 introduction to node.js workshop
OSDC.no 2015 introduction to node.js workshop
 
In the desert, without a camel
In the desert, without a camelIn the desert, without a camel
In the desert, without a camel
 
Node.js - The New, New Hotness
Node.js - The New, New HotnessNode.js - The New, New Hotness
Node.js - The New, New Hotness
 
open source product management (feat. npm)
open source product management (feat. npm)open source product management (feat. npm)
open source product management (feat. npm)
 
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3 Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
Puppet Camp Seattle 2014: Docker and Puppet: 1+1=3
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
 
Multiple django applications on a single server with nginx
Multiple django applications on a single server with nginxMultiple django applications on a single server with nginx
Multiple django applications on a single server with nginx
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet tree
 
Automated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packerAutomated reproducible images on openstack using vagrant and packer
Automated reproducible images on openstack using vagrant and packer
 

Viewers also liked

Bai 3 thietke_csdlpt
Bai 3 thietke_csdlptBai 3 thietke_csdlpt
Bai 3 thietke_csdlpt
Hồ Lợi
 
Lecture1 overview ad
Lecture1 overview adLecture1 overview ad
Lecture1 overview adLã Đạt
 
High scalability of an e-commerce system on the example of Magento
High scalability of an e-commerce system on the example of MagentoHigh scalability of an e-commerce system on the example of Magento
High scalability of an e-commerce system on the example of Magento
Divante
 
Nghiep vu ban ve may bay
Nghiep vu ban ve may bayNghiep vu ban ve may bay
Nghiep vu ban ve may bay
xuanmuitran
 
Chapter 1 introduction www
Chapter 1  introduction wwwChapter 1  introduction www
Chapter 1 introduction wwwxuandiencntt
 
IoC and Mapper in C#
IoC and Mapper in C#IoC and Mapper in C#
IoC and Mapper in C#
Huy Hoàng Phạm
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availability
Renato Lucindo
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed SystemsRupsee
 
e-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalabilitye-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalability
Aryashree Pritikrishna
 
Security in E-commerce
Security in E-commerceSecurity in E-commerce
Security in E-commercem8817
 

Viewers also liked (11)

Bai 3 thietke_csdlpt
Bai 3 thietke_csdlptBai 3 thietke_csdlpt
Bai 3 thietke_csdlpt
 
Lecture1 overview ad
Lecture1 overview adLecture1 overview ad
Lecture1 overview ad
 
High scalability of an e-commerce system on the example of Magento
High scalability of an e-commerce system on the example of MagentoHigh scalability of an e-commerce system on the example of Magento
High scalability of an e-commerce system on the example of Magento
 
Nghiep vu ban ve may bay
Nghiep vu ban ve may bayNghiep vu ban ve may bay
Nghiep vu ban ve may bay
 
Chapter 1 introduction www
Chapter 1  introduction wwwChapter 1  introduction www
Chapter 1 introduction www
 
IoC and Mapper in C#
IoC and Mapper in C#IoC and Mapper in C#
IoC and Mapper in C#
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availability
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
e-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalabilitye-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalability
 
Security in E-commerce
Security in E-commerceSecurity in E-commerce
Security in E-commerce
 
E commerce
E commerceE commerce
E commerce
 

Similar to How did puppet change our system's life?

Continuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentContinuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic Environment
Puppet
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
Nick Jones
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
Alessandro Franceschi
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
Sharad Aggarwal
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
Puppet
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
Puppet
 
Aucklug slides - desktop tips and tricks
Aucklug slides - desktop tips and tricksAucklug slides - desktop tips and tricks
Aucklug slides - desktop tips and tricks
Glen Ogilvie
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Puppet demo
Puppet demoPuppet demo
Puppet demo
Sanjeev Tripurari
 
Capistrano, Puppet, and Chef
Capistrano, Puppet, and ChefCapistrano, Puppet, and Chef
Capistrano, Puppet, and Chef
David Benjamin
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationPASCAL Jean Marie
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
Sam Bashton
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
Puppet
 
Learn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VMLearn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VM
Kumaran Balachandran
 
DevOps Series: Extending vagrant with Puppet for configuration management
DevOps Series: Extending vagrant with Puppet for configuration managementDevOps Series: Extending vagrant with Puppet for configuration management
DevOps Series: Extending vagrant with Puppet for configuration management
Felipe
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
Boulos Dib
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
Vishal Biyani
 

Similar to How did puppet change our system's life? (20)

Continuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentContinuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic Environment
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
Puppet Camp Boston 2014: Continuous Integration for Hyper-V with Puppet (Begi...
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
 
Aucklug slides - desktop tips and tricks
Aucklug slides - desktop tips and tricksAucklug slides - desktop tips and tricks
Aucklug slides - desktop tips and tricks
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
 
Puppet demo
Puppet demoPuppet demo
Puppet demo
 
Capistrano, Puppet, and Chef
Capistrano, Puppet, and ChefCapistrano, Puppet, and Chef
Capistrano, Puppet, and Chef
 
Puppet_training
Puppet_trainingPuppet_training
Puppet_training
 
Nuxeo5 - Continuous Integration
Nuxeo5 - Continuous IntegrationNuxeo5 - Continuous Integration
Nuxeo5 - Continuous Integration
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
Learn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VMLearn Puppet : Quest Guide for the Learning VM
Learn Puppet : Quest Guide for the Learning VM
 
DevOps Series: Extending vagrant with Puppet for configuration management
DevOps Series: Extending vagrant with Puppet for configuration managementDevOps Series: Extending vagrant with Puppet for configuration management
DevOps Series: Extending vagrant with Puppet for configuration management
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Learning Puppet Chapter 1
Learning Puppet Chapter 1Learning Puppet Chapter 1
Learning Puppet Chapter 1
 

Recently uploaded

Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

How did puppet change our system's life?

Editor's Notes

  1. - Simple: Puppet là một “công cụ” tuyệt vời dùng để quản lý cấu hình hệ thống server chạy trên nền tảng Unix hoặc WindowsĐối tượng: System Engineer, Administrator  hoir: bao nhiêu bạn trong đây là system admin  trong các bạn ai đã dùng puppet  xem câu chuyện của bạn có giống mình không :DLý do tại sao nghe bài thuyết trình, nó giúp gì cho bạn, bạn sẽ được gì:Đối với các bạn chưa biết đến hoặc chưa dùng cụ thể: mình muốn chia sẻ một công cụ giúp việc quản lý hệ thống server của bạn dễ thở hơn và cuộc sống một người quản lý hệ thống thú vị hơn (ngoài việc cắm đầu vào cấu hình, nay chúng ta code nhiều hơn)Đối với các bạn đã biết và sử dụng puppet cũng như các configuration management tool khác: mình muốn chia sẻ trải nghiệm về việc triển hệ thống puppet trên hệ thống của mình, có sự trao đổi với các bạn.Tự do, mềm dẻo cho thao tác của bạn.Trích dẫn  review từ người bên ngoài
  2. Đầu tiên mình muốn kể câu chuyện về quá trình làm system của mình.Đầu tiên nói qua về công việc của 1 system, ngoài việc tìm hiểu và nghiên cứu, cơ bán system thì công việc là cài đặt, triển khai, quản lí, duy trì, nâng cấp, tối ưu dịch vụ của mình  quá trình đó gắn liền với việc thực hiện thao tác: Cấu hình begin:Khi bắt đầu từ việc học tập đến quản lí một số server với các service chạy trên đó  cấu hình, dùng thử, test kiểm trực tiếp trên file cấu hình. (Webserver là điển hình): lúc này, với mỗi dịch vụ trong hệ thống lúc này, chúng là duy nhất, phục vụ tất cả các yêu cầu của hệ thống. Trong topology của bạn thì service này chỉ có 1.Quy mô nhỏViệc lúc này là làm tốt việc quản lí các dịch vụ của mình, optimize nó.Qua thời gian, số lượng server chúng ta phải quản lí sẽ tăng lên. Cấp độ phức tạp của công việc sẽ tăng lên gấp bội, kể cả về topology và thao tác cấu hình.Không phải chỉ quản lí 1 server với các dịch vụ duy nhất trên đó, lúc này hệ thống lớn lên, chúng ta có nhiều server hơn, mỗi dịch vụ sẽ có nhiều phần và được nằm trên nhiều server khác nhau.Cứ mỗi khi server lớn lên thêm là công việc của chúng ta nhiều và phức tạp hơn theo cấp số.
  3. Công việc phải thực hiện trên nhiều server, thực hiện hàng loạt.Khi công việc nhiều hơn, số lượng server cùng với service dần tăng lên  để thao tác chúng ta phải login vào từng server, lặp đi lặp lại các công việc: đổi cấu hình, reload dịch vụ. 2-3 server, mọi chuyện ok  7-8 server: công việc phức tạp hơn rất nhiều.Từ viết bash script, record lại các động tác của chúng ta, đưa vào script, đẩy lên từng server và chạy các script này.Kể cả việc đó, các bạn vẫn phải thực hiện công việc copy từng file script lên tất cả các server và kích hoạt chúng  chúng ta phải nghĩ ra các khác, thứ tiếp theo em muốn nói đến là Terminator, 1 bảo bối mà em được các đại huynh truyền lại với bí kíp gọi là broadcast – broadcast groupKhông chịu thua, phải đẩy nhanh tốc độ, chúng ta: viết bash script: không phải việc gì cũng phải viết bash script (restart, change cấu hình)  nhiều thao tác khó thực hiện (change cấu hình)  khó control outputSử dụng các shell, termial hỗ trợ: Terminator  broadcast group, parallel ssh  tỉ lệ sai sót rất cao, nguy hiểm  thao tác sai 1 lỗi là ảnh hưởng đến toàn bộ.Hơn nữa, chúng ta sẽ sử dụng fabric pythonFabric python không phải vào từng server lập đi lập lại 1 công đoạn, các thao tác của chúng ta cũng được record lại, quá trình chạy trên nhiều server sẽ đơn giản hơn rất nhiềuHạn chế: Với lượng lớn server, quản lí là rất cần thiết: cụm server này có gì, cấu hình ra sao  cần thiết một central.
  4. Fabric is a Python library (i.e. a tool to build on) used for interacting with SSH and computer systems [easily] to automate a wide range of tasks, varying from application deployment to general system administration.
  5. Fabric is a Python library (i.e. a tool to build on) used for interacting with SSH and computer systems [easily] to automate a wide range of tasks, varying from application deployment to general system administration.
  6. Fabric is a Python library (i.e. a tool to build on) used for interacting with SSH and computer systems [easily] to automate a wide range of tasks, varying from application deployment to general system administration.
  7. - Chậm, chắc chắn rất là chậm khi chúng ta phải ssh vào từng server, thực hiện một quá trình. Đặc biệt là quá trình chậm này sẽ lặp lại trong tương lai, không giảm bớt nhiều.High error rate, misconfig: thao tác trên nhiều server, mặc dù lặp đi lặp lại quá trình nhưng không thể tránh khỏi những sai sót, lỗi. Từ đây dẫn đến những misconfig rất khó có thể debug. Nếu có vấn đề, chúng ta phải vào từng server kiểm tra, so sánh cấu hình.Bạn sẽ gặp khó khăn trong việc quản lí các server với cấu hình các service của chúng:Không thể nhận biết các server đang chạy service gì, các service đó phục vụ cho mục đích nào (quy mô lớn, góc nhìn tổng quát)  dù các bạn có lưu lại danh sách, nhưng khi có số lượng lớn server thì đó là một núi bùi nhùi.Kiểm soát các server của chúng ta, số lượng, chất lượng, “khản năng”Tính riêng biệt của các server: cấu hình khác nhau  tuy nhiên chúng ta lại chạy trên cùng 1 cấu hình.
  8. + Centralized:Default set of configClient specified configPackage managermentMaintain consistent configuration+ Declarative language: - Used to write config - Support OOPs - Reuseable code - Platform independent----- Meeting Notes (3/20/14 16:09) -----framework: bộ công cụ, tập công cụ quản lí resource. Có tính mở rộng
  9. + Centralized:Default set of configClient specified configPackage managermentMaintain consistent configuration+ Declarative language: - Used to write config - Support OOPs - Reuseable code - Platform independent----- Meeting Notes (3/20/14 16:09) -----framework: bộ công cụ, tập công cụ quản lí resource. Có tính mở rộng
  10. - http://puppetlabs.com/puppet/what-is-puppet- Môi trường chạy: Unix: Redhat, Ubuntu-Debian , FreeBSD,  Mac OSWindowsDeveloper(s) Puppet LabsInitial release 2005; 9 years agoStable release 3.4.0 (December 19, 2013; 2 months ago) [±]Preview release 3.2.1-rc1 (May 17, 2013; 9 months ago) [±]Written in RubyOperating system GNU/Linux, Unix-like, WindowsType Configuration managementLicense Apache for >2.7.0; GPL for prior versions.Website http://www.puppetlabs.com/----- Meeting Notes (3/20/14 16:38) ------ Nói thêm chi tiết về puppet trước khi demo:type: công cụ đưa ra sẵn, manifest: kịch bản định nghĩ modules: --> cái làm nên framework: cái có khả năng mở rộng
  11. Puppet clients pull configuration information from the puppet masterClient first collects local host configuration information using factorClient then requests a master recipe to configure the clientThis master recipe then pulls in additional recipes based on the client's configurationThe puppet client then translates this information into host specific commands to run
  12. Puppet clients pull configuration information from the puppet masterClient first collects local host configuration information using factorClient then requests a master recipe to configure the clientThis master recipe then pulls in additional recipes based on the client's configurationThe puppet client then translates this information into host specific commands to run
  13. Puppet clients pull configuration information from the puppet masterClient first collects local host configuration information using factorClient then requests a master recipe to configure the clientThis master recipe then pulls in additional recipes based on the client's configurationThe puppet client then translates this information into host specific commands to run
  14. -Puppet thay đổi hoạt động của chúng ta như thế nào  từ đó thay đổi cuộc sống của chúng ta ra sao?Thêm 1 serverThêm vào nhiều server:Lâu sau mới thêm, nhớ ????Muốn xem 1 server đã chạy những gì, phải vào từng server để xem
  15. Deloy new server:Cài đặt các service cần thiết: yum install, build source, copy from other placeSetup cấu hìnhTạo folder cần thiếtDeloy source codeMaintaintThêm, sửa 1 cấu hình:Vào từng server để đổi cấu hìnhSử dụng fabric: tạo 1 file cấu hình mới thay thế, viết 1 lệnh phức tạp để thay đổi cấu hình  phức tạp----- Meeting Notes (3/20/14 16:38) -----Show trước change, những thay đổi trong slide
  16. Each server have a rule
  17. Chính việc quản lí và triển khai hệ thống thông qua framework này, chúng ta có 1 document chi tiết về trạng thái, tài nguyên của server. Theo thời gian hệ thống sẽ cso sự thay đổi, và sự thay đổi đó nằm trên chính những modules, config mà chúng ta đang viết ra. Bằng cách sử dụng subversion chúng ta sẽ có thông tin chi tiết về sự thay đổi của hệ thống, vô hình nó tạo cho tao 1 document. Viết document là một việc không phải SE nào thích và update thường xuyên, đặc biệt khi nhìn vào những file word chi chít chữ.----- Meeting Notes (3/20/14 16:26) ------ Eclipse- Document lại hệ thống có những gì, - Theo thời gian thay đổi phải update --> - Mỗi h----- Meeting Notes (3/20/14 16:38) -----Thay đổi document hệ thống như thế nào --> file .pp là document thay vì mở file wordIntegrity: puppet dashboard image
  18. Chính việc quản lí và triển khai hệ thống thông qua framework này, chúng ta có 1 document chi tiết về trạng thái, tài nguyên của server. Theo thời gian hệ thống sẽ cso sự thay đổi, và sự thay đổi đó nằm trên chính những modules, config mà chúng ta đang viết ra. Bằng cách sử dụng subversion chúng ta sẽ có thông tin chi tiết về sự thay đổi của hệ thống, vô hình nó tạo cho tao 1 document. Viết document là một việc không phải SE nào thích và update thường xuyên, đặc biệt khi nhìn vào những file word chi chít chữ.----- Meeting Notes (3/20/14 16:26) ------ Eclipse- Document lại hệ thống có những gì, - Theo thời gian thay đổi phải update --> - Mỗi h----- Meeting Notes (3/20/14 16:38) -----Thay đổi document hệ thống như thế nào --> file .pp là document thay vì mở file wordIntegrity: puppet dashboard image
  19. Chính việc quản lí và triển khai hệ thống thông qua framework này, chúng ta có 1 document chi tiết về trạng thái, tài nguyên của server. Theo thời gian hệ thống sẽ cso sự thay đổi, và sự thay đổi đó nằm trên chính những modules, config mà chúng ta đang viết ra. Bằng cách sử dụng subversion chúng ta sẽ có thông tin chi tiết về sự thay đổi của hệ thống, vô hình nó tạo cho tao 1 document. Viết document là một việc không phải SE nào thích và update thường xuyên, đặc biệt khi nhìn vào những file word chi chít chữ.----- Meeting Notes (3/20/14 16:26) ------ Eclipse- Document lại hệ thống có những gì, - Theo thời gian thay đổi phải update --> - Mỗi h----- Meeting Notes (3/20/14 16:38) -----Thay đổi document hệ thống như thế nào --> file .pp là document thay vì mở file wordIntegrity: puppet dashboard image
  20. Chính việc quản lí và triển khai hệ thống thông qua framework này, chúng ta có 1 document chi tiết về trạng thái, tài nguyên của server. Theo thời gian hệ thống sẽ cso sự thay đổi, và sự thay đổi đó nằm trên chính những modules, config mà chúng ta đang viết ra. Bằng cách sử dụng subversion chúng ta sẽ có thông tin chi tiết về sự thay đổi của hệ thống, vô hình nó tạo cho tao 1 document. Viết document là một việc không phải SE nào thích và update thường xuyên, đặc biệt khi nhìn vào những file word chi chít chữ.----- Meeting Notes (3/20/14 16:26) ------ Eclipse- Document lại hệ thống có những gì, - Theo thời gian thay đổi phải update --> - Mỗi h----- Meeting Notes (3/20/14 16:38) -----Thay đổi document hệ thống như thế nào --> file .pp là document thay vì mở file wordIntegrity: puppet dashboard image
  21. Giảm thiểu chi phí vận hành hệ thống, thời gian triển khai ngắn hơn, lỗi thuộc về phần con người sẽ giảm đi.Mở ra nhiều chức năng mới mà lúc trước chúng ta không có được.Thay vì ngồi mò,fix lỗi triển khai hệ thống thì chúng ta sẽ có thời gian chơi game, hẹn hò …..----- Meeting Notes (3/20/14 16:38) -----1 người làm được nhiều việc