KEMBAR78
Introduction to DevOps | Edureka | PDF
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Agenda
What is DevOps?
DevOps Use Case
DevOps Phases
DevOps Hands-On
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Topics for Today’s Session
DevOps Tutorial
2
3
4
5
1 Why DevOps?
What is DevOps?
DevOps Stages
DevOps Tools
DevOps Use-Case
www.edureka.co/devopsDevOps Certification Training
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Waterfall Model
It has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain.
Once the water has flowed over the edge of the cliff, it cannot turn back.
It has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain.
Once the water has flowed over the edge of the cliff, it cannot turn back.
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Traditional Waterfall Model
www.edureka.co/devopsDevOps Certification Training
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Limitations of Waterfall Model
Not a good model for complex
and object-oriented projects.
No working software is
produced until late during
the life cycle.
Not suitable for the projects
where requirements are at a
moderate to high risk of
changing.
Once an application is in
the testing stage, it is very
difficult to go back and change
something that was not well-
thought out in the concept
stage.
High amounts of risk and
uncertainty
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
What is Agile Methodology?
In the Agile Methodology
each project is broken up
into several ‘Iterations’
In the Agile Methodology
each project is broken up
into several ‘Iterations’
All Iterations should be of
the same time duration
(between 2 to 8 weeks)
All Iterations should be of
the same time duration
(between 2 to 8 weeks)
At the end of each
iteration, a working
product should be
delivered
At the end of each
iteration, a working
product should be
delivered
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Waterfall vs Agile
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Limitations of Agile
Code works fine
in my laptop
Code works fine
in my laptop
There is some
problem with the
code, it does not
work in production`
There is some
problem with the
code, it does not
work in production`
Wants ChangeWants Change Wants StabilityWants Stability
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Solution is DevOps
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
What is DevOps?
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
DevOps Stages
Source Code
Management Continuous Build Continuous Testing
040302020101
Version ControlVersion Control
Continuous
Integration
Continuous
Integration
Continuous
Delivery
Continuous
Delivery
Continuous
Deployment
Continuous
Deployment
Compile, validate,
Code Review, Unit
Testing, Integration
Testing
Deploying the build
application to test
servers, Performing
UAT
Deploying the
tested application
on the prod server
for release.
Maintains different
versions of the code
Configuration
Management and
Containerization
Continuous MonitoringContinuous Monitoring
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Source Code Management
The management of changes to documents, computer programs, large websites and other collection of informationThe management of changes to documents, computer programs, large websites and other collection of information
Distributed Version Control SystemDistributed Version Control SystemCentralized Version Control SystemCentralized Version Control System
RepositoryRepository
RepositoryRepository RepositoryRepository RepositoryRepository
Working CopyWorking Copy Working CopyWorking Copy Working CopyWorking Copy
Workstation/ PC
#1
Workstation/ PC
#2
Workstation/ PC
#3
Commit
Update
Commit
Update
Commit
Update
Push
Pull
Server
RepositoryRepository
Working CopyWorking Copy Working CopyWorking Copy Working CopyWorking Copy
Workstation/ PC
#1
Workstation/ PC
#2
Workstation/ PC
#3
Server
Commit
Update
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Source Code Management
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data
assurance for developing quality software
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data
assurance for developing quality software
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Integration
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Delivery
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Deployment
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Configuration Management
Configuration Management is the practice of handling changes
systematically so that a system maintains its integrity over time
Configuration Management (CM) ensures that the current design
and build state of the system is known, good & trusted
It doesn’t rely on the tacit knowledge of the development team
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Configuration Management
Other ToolsOther Tools
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Containerization
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Monitoring
Continuous Monitoring is all about the ability of an organization to detect, report, respond, contain and
mitigate the attacks that occur, in its infrastructure
Continuous Monitoring is all about the ability of an organization to detect, report, respond, contain and
mitigate the attacks that occur, in its infrastructure
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Monitoring
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Use-Case
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
DevOps Use-Case Part - 1
Clone the Git
Repository
Clone the Git
Repository
Build a Docker
Image
Build a Docker
Image
Push the image
on Docker Hub
Push the image
on Docker Hub
Developers committing code to
a shared repository
Developers committing code to
a shared repository
Git RepositoryGit Repository
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
DevOps Use-Case Part - 2
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Source Code Management
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing
data assurance for developing quality software
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing
data assurance for developing quality software
Working DirectoryWorking Directory Staging AreaStaging Area Local RepoLocal Repo Remote RepoRemote Repo
Git Add
Git Commit
Git Push
Git Pull
Git Checkout
Git Merge
Local Remote
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Limitations of Agile
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
DevOps Use-Case
Developers committing code
to a shared repository
Developers committing code
to a shared repository
Git RepositoryGit Repository
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Source Code Management
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing
data assurance for developing quality software
Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing
data assurance for developing quality software
Local Remote
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
DevOps Use-Case
Clone the Git
Repository
Clone the Git
Repository
Build a Docker
Image
Build a Docker
Image
Push the image
on Docker Hub
Push the image
on Docker Hub
Developers committing code to
a shared repository
Developers committing code to
a shared repository
Git RepositoryGit Repository
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
DevOps Tutorial
www.edureka.co/devopsDevOps Certification Training
Continuous Deployment
Test Server
Commit code to a
shared repository
Jenkins Server
BuildBuild
CompileCompile Code ReviewCode Review
Unit TestingUnit Testing Integration TestingIntegration Testing
Package (WAR, JAR etc.)Package (WAR, JAR etc.)
Deploy the build application
on the test server for UAT
(User Acceptance Test)
Deploy the build
application on the prod
server for release

Introduction to DevOps | Edureka

  • 1.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Agenda What is DevOps? DevOps Use Case DevOps Phases DevOps Hands-On
  • 2.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Topics for Today’s Session DevOps Tutorial 2 3 4 5 1 Why DevOps? What is DevOps? DevOps Stages DevOps Tools DevOps Use-Case www.edureka.co/devopsDevOps Certification Training
  • 3.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Waterfall Model It has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff, it cannot turn back. It has distinct goals for each phase of development. Imagine a waterfall on the cliff of a steep mountain. Once the water has flowed over the edge of the cliff, it cannot turn back.
  • 4.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Traditional Waterfall Model www.edureka.co/devopsDevOps Certification Training
  • 5.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Limitations of Waterfall Model Not a good model for complex and object-oriented projects. No working software is produced until late during the life cycle. Not suitable for the projects where requirements are at a moderate to high risk of changing. Once an application is in the testing stage, it is very difficult to go back and change something that was not well- thought out in the concept stage. High amounts of risk and uncertainty
  • 6.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training What is Agile Methodology? In the Agile Methodology each project is broken up into several ‘Iterations’ In the Agile Methodology each project is broken up into several ‘Iterations’ All Iterations should be of the same time duration (between 2 to 8 weeks) All Iterations should be of the same time duration (between 2 to 8 weeks) At the end of each iteration, a working product should be delivered At the end of each iteration, a working product should be delivered
  • 7.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Waterfall vs Agile
  • 8.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Limitations of Agile Code works fine in my laptop Code works fine in my laptop There is some problem with the code, it does not work in production` There is some problem with the code, it does not work in production` Wants ChangeWants Change Wants StabilityWants Stability
  • 9.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Solution is DevOps
  • 10.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training What is DevOps?
  • 11.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training DevOps Stages Source Code Management Continuous Build Continuous Testing 040302020101 Version ControlVersion Control Continuous Integration Continuous Integration Continuous Delivery Continuous Delivery Continuous Deployment Continuous Deployment Compile, validate, Code Review, Unit Testing, Integration Testing Deploying the build application to test servers, Performing UAT Deploying the tested application on the prod server for release. Maintains different versions of the code Configuration Management and Containerization Continuous MonitoringContinuous Monitoring
  • 12.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Source Code Management The management of changes to documents, computer programs, large websites and other collection of informationThe management of changes to documents, computer programs, large websites and other collection of information Distributed Version Control SystemDistributed Version Control SystemCentralized Version Control SystemCentralized Version Control System RepositoryRepository RepositoryRepository RepositoryRepository RepositoryRepository Working CopyWorking Copy Working CopyWorking Copy Working CopyWorking Copy Workstation/ PC #1 Workstation/ PC #2 Workstation/ PC #3 Commit Update Commit Update Commit Update Push Pull Server RepositoryRepository Working CopyWorking Copy Working CopyWorking Copy Working CopyWorking Copy Workstation/ PC #1 Workstation/ PC #2 Workstation/ PC #3 Server Commit Update
  • 13.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Source Code Management Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software
  • 14.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Integration
  • 15.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Delivery
  • 16.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Deployment
  • 17.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Configuration Management Configuration Management is the practice of handling changes systematically so that a system maintains its integrity over time Configuration Management (CM) ensures that the current design and build state of the system is known, good & trusted It doesn’t rely on the tacit knowledge of the development team
  • 18.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Configuration Management Other ToolsOther Tools
  • 19.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Containerization
  • 20.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Monitoring Continuous Monitoring is all about the ability of an organization to detect, report, respond, contain and mitigate the attacks that occur, in its infrastructure Continuous Monitoring is all about the ability of an organization to detect, report, respond, contain and mitigate the attacks that occur, in its infrastructure
  • 21.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Monitoring
  • 22.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. Use-Case
  • 23.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training DevOps Use-Case Part - 1 Clone the Git Repository Clone the Git Repository Build a Docker Image Build a Docker Image Push the image on Docker Hub Push the image on Docker Hub Developers committing code to a shared repository Developers committing code to a shared repository Git RepositoryGit Repository
  • 24.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training DevOps Use-Case Part - 2
  • 25.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved.
  • 27.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Source Code Management Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software Working DirectoryWorking Directory Staging AreaStaging Area Local RepoLocal Repo Remote RepoRemote Repo Git Add Git Commit Git Push Git Pull Git Checkout Git Merge Local Remote
  • 28.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Limitations of Agile
  • 29.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training DevOps Use-Case Developers committing code to a shared repository Developers committing code to a shared repository Git RepositoryGit Repository
  • 30.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Source Code Management Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software Git is a Distributed Version Control tool that supports distributed non-linear workflows by providing data assurance for developing quality software Local Remote
  • 31.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training DevOps Use-Case Clone the Git Repository Clone the Git Repository Build a Docker Image Build a Docker Image Push the image on Docker Hub Push the image on Docker Hub Developers committing code to a shared repository Developers committing code to a shared repository Git RepositoryGit Repository
  • 32.
    Copyright © 2017,edureka and/or its affiliates. All rights reserved. DevOps Tutorial www.edureka.co/devopsDevOps Certification Training Continuous Deployment Test Server Commit code to a shared repository Jenkins Server BuildBuild CompileCompile Code ReviewCode Review Unit TestingUnit Testing Integration TestingIntegration Testing Package (WAR, JAR etc.)Package (WAR, JAR etc.) Deploy the build application on the test server for UAT (User Acceptance Test) Deploy the build application on the prod server for release