"DevOps" denotes a close collaboration and cross-pollination between previous cases i.e, purely the development roles, operations roles and QA roles. As it is necessary for the software to release at an ever-increasing rate, we can see that the old "waterfall" develop-test-release cycle is broken. Devops provides us with consistent software delivery, Faster resolution of complex problems and neatier and crisp feature delivery.
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Devops : Automate Your Infrastructure with Puppet
1. View DevOps course details at www.edureka.co/devops
Devops: Automate Your Infrastructure with Puppet
2. Slide 2 www.edureka.co/devops
Objectives
At the end of this module, you will be able to understand -
DevOps and its importance
DevOps Life cycle
Puppet introduction
Puppet basics
Demo using Puppet to install Apache web server.
3. Slide 3 www.edureka.co/devops
What is DevOps
DevOps is a mindset that enables communication, collaboration and integration between
Software developers, Quality Engineers and Information Technology ( Operations ) professionals to enable rapid
evolution of products or services.
4. Slide 4 www.edureka.co/devops
Development & Operation (DevOps)
“Dev” is used as a shorthand for developers in
particular, but in practice it is even wider and it
means that “all the people involved in
developing the product,” that include the
product, QA and other disciplines.
“Ops” is a blanket term for systems
engineers/Administrators, Release engineers,
DBAs, Network engineers, Security
professionals and various other sub-disciplines
and job titles”
6. Slide 6 www.edureka.co/devops
Roles of Developers :
Develop/modify applications
Try new technologies
Roles of Operations :
Build, Deploy and release
Performance and availability
Create or enhance services
Development & Operations
7. Slide 7Slide 7Slide 7 www.edureka.co/devops
Why DevOps?
Customers Requirements
Dev and
Testing Team
Operations
Gap Between
Developers and
Operations
8. Slide 8Slide 8Slide 8 www.edureka.co/devops
Why DevOps?
Development
Operations
Change
» Developers introduce changes
» They try to implement every new
techniques introduced
» Change is the enemy for Operations
» Changes can lead to instability
9. Slide 9Slide 9Slide 9 www.edureka.co/devops
Dev Tools Ops Tools
» Difficult to integrate tools
» Less interest in learning each others tools
» Different implementation of similar tools
Why DevOps?
10. Slide 10Slide 10Slide 10 www.edureka.co/devops
During Deployment
Sends out artifacts based on
requirements
Manually hacks the scripts received and
changes the config files to reflect changes
in production which could potentially lead
to an issue.
Development Operations
Why DevOps?
11. Slide 11Slide 11Slide 11 www.edureka.co/devops
All the artifacts are fine, the error
is because of some other issue.
QA was given wrong setup.
Developer gave faulty artifacts
Development
Operations
Day 1: Loss of Work
Why DevOps?
12. Slide 12Slide 12Slide 12 www.edureka.co/devops
After deployment, QA sees some
anomalies and raises defects
Day 3: After Deployment
Operations
Developer realizes that correct
DB was not deployed
Development
Why DevOps?
13. Slide 13 www.edureka.co/devops
DevOps as a Solution
Instead of seeing these two groups as silos who pass things along but don’t really work together, DevOps
recognizes the interdependencies of software development and IT operations and helps an organization to produce
software and IT services more rapidly, with frequent iterations.
DevOps bridges the gap between agile software development and operations
14. Slide 14 www.edureka.co/devops
DevOps Skills
DevOps Tools – Ability to administer and customize them
Scripting/Automation Skills – Demonstrates the traditional scripting skills to IT operations
Coding Skill – Should possess developer skills in using automation
Process re-engineering Skills – Reflects the holistic view of IT and development as a single system, instead
of two different functions
Skills Products
Linux/Unix Commands & Administration
Shell Scripting Bash, Sed/Awk
Coding Perl, Python, Ruby
Configuration Management Puppet, SaltStack, Chef
Bare Metal Configuration Cobbler, Foreman, PXE, DHCP, DNS
DevOps Skill Matrix
16. Slide 16 www.edureka.co/devops
Provisioning Configuration Integration
Load Balancer
WebServer WebServer
DB Master
DB Slave DB Slave
Load Balancer
WebServer WebServer
DB Master
DB Slave DB Slave
DevOps Life Cycle
17. Slide 17 www.edureka.co/devops
DevOps Tools
Tools for DevOps can be categorized based on the layer of Automation you choose
Each layer has its own tools to build Automation
Infrastructure Automation 1. Cobbler
2. Foreman
3. Crowbar
Configuration Management 1. Puppet
2. SaltStack
3. Chef
Continuous Integration/Deployment 1. Jenkins
2. SVN, Git, Perforce
3. Ant, Maven
Monitoring 1. Nagios, NewRelic, Sensu, Zabbix
2. Custom Tools
20. Slide 20Slide 20Slide 20 www.edureka.co/devops
The most common DevOps challenges are:
Cultural mindset as “How the typical mindset of people could be taken off “
Transitions - “How quickly an organization can build the skill set and cross train people”
DevOps is not a technical problem, it is a business problem as “stake holders are engaged more often”
DevOps is not just about having latest tools
Other DevOps Challenges
21. Slide 21 www.edureka.co/devops
Work of a System administrator:
» Install servers
» configure them
» maintain them
» Update the configuration periodically
Why Puppet?
23. Slide 23 www.edureka.co/devops
Puppet is a configuration management tool that is used for deploying, configuring, managing servers.
Features:
Why Puppet?
It controls all the steps, right from the bootstrapping to the end of Server life
Can define configuration at the node level
Can group them according to roles
Example: WebSevers, DB Servers.
Maintains consistency across nodes
Example: if a change is done locally, it is rolled back to the original configuration
24. Slide 24 www.edureka.co/devops
Advantages of Puppet
Keeps verifying the configuration at
specific interval
It defines configuration with the
help of Puppet Master
Large open-source developer base
It works smoothly even with large
infrastructure
The language used is easy.
25. Slide 25 www.edureka.co/devops
Puppet works on the Master Server model
Puppet Master: This machine contains all the
configuration for different hosts. Puppet master
runs as a daemon on this master server.
Puppet Agent: Daemon which runs on each node
and talks to the master on a regular interval.
The connection between these two machines is
made in a secure encrypted channel with the help
of SSL
How Puppet Works?
26. Slide 26 www.edureka.co/devops
Following are the steps for Puppet configuration:
1. Clients connects to master and master identifies the configuration according to client type.
2. Master builds the Configuration that needs to be applied to a host, compiles it and makes it ready
3. Clients pull the Configuration and apply them on the respective nodes
Puppet Configuration