"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.
Developer Data Modeling Mistakes: From Postgres to NoSQL
Continuous Integration With Jenkins
1. View DevOps course details at www.edureka.co/devops
DevOps: Continues integration with Jenkins
2. Slide 2 www.edureka.co/devops
Objectives
At the end of this module, you will be able to
Introduction of DevOps
DevOps Life cycle
Different stages in DevOps
Continuous Integration
Introduction to Jenkins
Demo on Jenkins
3. Slide 3 www.edureka.co/devops
What is DevOps
DevOps is a software development method that stresses communication, collaboration and integration between
Software developers 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 kinds of disciplines
“Ops” is a blanket term for systems engineers,
system administrators, operations staff, 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 :
Add or modify features
Try with new technologies
Roles of Operations :
Create stability
Create or enhance services
Development & Operation
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
» Developer always looks for changes
» They try to implement every new
techniques introduced
» Change is the enemy for Operations
» It is not reliable and leads to
instability
9. Slide 9Slide 9Slide 9 www.edureka.co/devops
Dev Tools Ops Tools
» Difficult to integrate the tools
» Very less interest in learning others tools
» Different implementation of similar tools
Why DevOps?
10. Slide 10Slide 10Slide 10 www.edureka.co/devops
During Deployment
Send out the artifacts based on the
requirement received from clients
Manually hacks the scripts received and
changes the configuration files to reflect
changes in production environment
leading to bugs leading to recover
Development Operations
Why DevOps?
11. Slide 11Slide 11Slide 11 www.edureka.co/devops
All the artifacts are fine, the error
is because of admin issue. Tester
was given wrong set up
Developer gave faulty artifacts
Development
Operations
Day 1: Loss of Work
Why DevOps?
12. Slide 12Slide 12Slide 12 www.edureka.co/devops
Developer is working on his machine but he is
facing some firewall issue for a local tool
because of which he is unable to work
Development
He reaches out to local IT team and they
point him to the infrastructure team and
finally the issue is resolved
Day 2: Loss of Work
Firewall
Why DevOps?
13. Slide 13Slide 13Slide 13 www.edureka.co/devops
After deployment ,during testing after
few scenario tester sees some anomalies
and raises some defects
Day 3: After Deployment
Operations
developer checks in and figures
out that correct DB was not
deployed
Development
Why DevOps?
14. Slide 14 www.edureka.co/devops
DevOps as the Solution
Instead of seeing these two groups as silos who pass things along but don’t really work together, DevOps
recognizes the interdependence 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
15. Slide 15 www.edureka.co/devops
DevOps Skills
DevOps Tools – Ability to administer and customize them
Scripting 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
17. Slide 17 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
18. Slide 18 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 1. Jenkins, Hudson
2. SVN, Git, Perforce
3. Ant, Maven
Continuous Deployment 1. Capsitrano
2. Custom Tools
3. Yum, Deb, RPM
Monitoring 1. Nagios, Sensu, Zabbix
2. Custom Tools
21. Slide 21Slide 21Slide 21 www.edureka.co/devops
The most common DevOps challenges are:
Cultural mindset as “How the typical mindset of people could be taken off “
Transitions as “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 about cool tools
Other DevOps Challenges
22. Slide 22 http://www.edureka.co/devops
“Continuous Integration is a software development practice where members of a team integrate their work
frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each
integration is verified by an automated build (including test) to detect integration errors as quickly as possible”
– Martin Fowler
Continuous Integration
23. Slide 23 http://www.edureka.co/devops
At a regular frequency (ideally at every commit), the system is:
Integrated
All changes up until that point are combined into the project
Built
The code is compiled into an executable or package
Tested
Automated test suites are run
Archived
Versioned and stored so it can be distributed as is, if desired
Deployed
Loaded onto a system where the developers can interact with it
Continuous Integration
24. Slide 24 http://www.edureka.co/devops
Immediate bug detection
No integration step in the lifecycle
A deployable system at any given point
Record of evolution of the project
Continuous Integration - Benefits
26. Slide 26 http://www.edureka.co/devops
Jenkins provide continuous Integration services for software development. It’s container is based on Tomcat
and can work with various revision control systems like SVN, CVS, Git, etc.
This originally started as Hudson and then after Oracle’s claim, the name Jenkins was coined
It includes a feature-rich web user interface that provides the
ability to trigger builds, customize builds, manage resources,
manage plugins, and many other features
Jenkins
27. Slide 27 http://www.edureka.co/devops
Builds can be started by:
» Commit in a version control system
» Scheduling via a cron-like mechanism
» Building when other builds have completed or by requesting a specific build URL
Jenkins (Contd.)