DevOps – A practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. DevOps aims at establishing a culture and environment where building, testing, and releasing software happens rapidly, frequently, and more reliably. DevOps is the intersection of development (software engineering), operations and quality assurance (QA).


Demand for people with DevOps skills is on a rapid growth because businesses get better results from DevOps. Organizations using DevOps practices are very high-functioning: They deploy code up to 30 times more frequently than their competitors, and 50 percent fewer of their deployments fail, according to a 2015 State of DevOps report. DevOps promotes a set of processes and methods for thinking about communication and collaboration between development, QA, and IT operations.

Top three skill areas for DevOps staff:

  • Coding or scripting
  • Process re-engineering
  • Communicating and collaborating with others

Devops simplified phases:

  • Release
  • Configuration
  • Orchestration – Continuous integration / delivery
  • Monitoring

DevOps Getting Started

  • Tools Inventory
  • Skills Assessment
  • Task to be accomplished
  • Tool Selection (there are many more tools than can be used!)
  • Assignment of Responsibility
  • DevOps should be language neutral, although modern languages popular today are: Java, Ruby, Python, C++,...

Endless Possibilities: DevOps can create an infinite loop of release and feedback for all your code and development targets.

DevOps lifecycle

  •  Create new code changes
  • Check in code
  • Pull code changes, check latest patches, and build
  • Test (continuous integration server to generate builds & arrange releases)
  • Individual models
  • Integration tests
  • User acceptance tests.
  • Store artifacts and update the build repository (repository for storing artifacts, results & releases)
  • Deploy and release (release automation product to deploy apps)
    • Configure environment
  • Update databases
  • Update apps
  • Push to users
  • Application & Network Performance Monitoring (preventive safeguard)
  • Repeat