DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
Software development |
---|
Core activities |
Paradigms and models |
Methodologies and frameworks |
Supporting disciplines |
Practices |
Tools |
Standards and Bodies of Knowledge |
Glossaries |
Outlines |
"At its essence, DevOps is a culture, a practice, a philosophy."
Introduction
DevOps expertise is in high demand. Job postings with "DevOps" in a title or keyword are sprouting up everywhere. DevOps is an enterprise software development phrase emerging from combination of IT teams, process and products to enable the continuous delivery of value to end users. It is a firm bond between development and operations that emphasizes a shift in mindset, better collaboration, and tighter integration and aims to create a culture and environment where building, testing, and releasing software can happen rapidly, often, and more reliably, so organizations can solve critical issues quickly, and better serve their customers and compete more effectively in the market.
What is DevOps?
"A software development method formed out of a fundamental need that stresses communication, collaboration and integration between software developers and ITprofessionals." DevOps could be explained simply as operations working together with engineers to get things done faster in an automated and repeatable way.
History of DevOps
At the 2008 Agile Toronto conference, Andrew Shafer and Patrick Debois introduced the term in their talk on "Agile Infrastructure". Since 2009, the DevOps term has been steadily promoted based on a simple philosophy — business works best when efforts being coordinated and collaborative — and brought into more mainstream usage through a series of "DevOpsDays", which started in Belgium and has now spread into Web-enabled sphere to resolve the conflict between the software developers and the operations teams when it comes to getting great work done quickly. In recent years, more tangential DevOps initiatives have also evolved, such as OpsDev, WinOps, and BizDevOps to encourage the communication between software developers and IT Operations to increase the speed at which applications being delivered.
Benefits of DevOps
The technical benefits include:
- Continuous software delivery
- Less complexity to manage
- Faster resolution of problems
The cultural benefits include:
- More productive teams
- Higher employee engagement
- Greater professional development opportunities
The business benefits include:
- Faster delivery of features
- More stable operating environments
- Improved communication and collaboration
- More time to innovate (and not fix / keep up)
Features of DevOps
- Source control: Software developers need to safely store their code and keep track of source-code history and versions. For this reason alone, source control is of critical importance.
- Issue tracking system: An issue tracking system allows everyone involved to track current issues, estimates, and deadlines.
- Build system: The build system supports continuous integration by building the software, running unit and integration tests, deploying to the integration environment, and performing any other automated checks defined for new versions of the software.
- Monitoring system: Monitoring systems continuously track all autonomous systems within the DevOps environment, notifying necessary maintenance staff if a system failure occurs.
- Communications system: The constant exchange of information is important so email, wiki, and a real-time chat system being enabled for effective communication and collaboration among all members of the project team.
- Integration environment: The integration environment hosts all the virtual machines that make up our DevOps environment
- Code review system: To make sure software quality, every line of code being reviewed by a experienced developer. The practice of reviewing code also accelerates career growth and learning.
- Documentation system: Regrettably, documentation often remains an afterthought in production software projects. To ensure that documentation being written throughout the project, an automated system being developed to allow developers to write documentation easily, along with source code.
DevOps Goals
- Improve deployment frequency
- To make faster time to market
- Less failure rate to new releases
- Short lead time between fixes
- Improve mean time to recovery
Is DevOps a good career?
DevOps practitioners are among the highest paid IT professionals today, and the market demand for them is growing rapidly because organizations using DevOps practices are overwhelmingly high-functioning to deliver IT services that offer value to the business. According to a study on the application economy and the role of DevOps, 88% of enterprise IT organizations and LOB (line of business) executives already have planned to adopt DevOps sometime within the next five years to accelerate delivery of apps and offer customers with higher-quality software. In the last two years, listings for DevOps jobs at Indeed.com increased 75 percent. On LinkedIn.com, mentions of DevOps as a skill increased 50 percent. In a recent survey by Puppetlabs, half of their 4,000-plus respondents (in more than 90 countries) said their companies consider DevOps skills when hiring.
100 Must Read Books To Take Your DevOps Skills To The Next Level
- Ansible for DevOps
- API-Driven DevOps
- Building Your Next Big Thing with Google Cloud Platform
- Continuous Delivery and DevOps – A Quickstart Guide
- DevOps Automation Cookbook
- DevOps for Digital Leaders: Reignite Business with a Modern DevOps-Enabled Software Factory
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- DevOps with OpenShift
- DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
- DevOps from APIs to z Systems
- Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale
- Effective DevOps with AWS
- Hands-On Security in DevOps
- Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to Deliver SaaS Solutions
- Securing DevOps: Security in the Cloud
- DevOps with Kubernetes
- DevOps for Web Development
- DevOps Technologies for Tomorrow
- Enterprise DevOps Framework: Transforming IT Operations
- CICS and DevOps: What You Need To Know
- DevOps for SharePoint: With Packer, Terraform, Ansible, and Vagrant
- The IT Revolution DevOps Guide
- Continuous Delivery: Tools, Collaboration, and Conway's Law
- Enterprise DevOps Playbook: A Guide to Delivering at Velocity
- Learning Continuous Integration with Jenkins
- The DevOps 2.1 Toolkit: Docker Swarm
- The State of DevOps Tools
- Puppet | State of DevOps Report 2018
- Continuous Delivery with Docker and Jenkins
- DevOps Pipeline with Docker
- DevOps for Finance
- Collaborative DevOps with CLM V6.0
- DevOps From the Trenches
- Lessons From a DevOps Journey
- DevOps for VMware Administrators
- Docker Cookbook
- Docker in Action
- Docker Tutorial
- Docker in Practice
- DevOps: Puppet, Docker, and Kubernetes
- Docker Deep Dive
- Hands on Docker
- Agile Project Management with Azure DevOps
- Reinventing ITIL in the Age of DevOps
- DevOps For Dummies
- Security is Dead. Long Live Rugged DevOps: IT at Ludicrous Speed ...
- Puppet Cookbook
- Creating Development Environments with Vagrant
- Puppet Best Practices: Design Patterns for Maintainable Code
- Practical Network Automation: Leverage the power of Python and Ansible to optimize your network
- Ansible: Up and Running
- Ansible Playbook Essentials
- Jenkins: The Definitive Guide
- Jenkins Continuous Integration Cookbook
- Jenkins Essentials
- Git Essentials
- Version Control with Git
- Pro Git
- The Practice of System and Network Administration
- DevOps Troubleshooting: Linux Server Best Practices
- Automate it!: Recipes to upskill your business
- Beginning Shell Scripting
- Classic Shell Scripting
- DevOps Bootcamp: A fast-paced guide to implement DevOps with ease
- Implementing Modern DevOps
- Linux Shell Scripting Cookbook
- Mastering Linux Shell Scripting
- Microservices: Building Scalable Software
- Microservices: Flexible Software Architecture
- Practical DevOps
- Pro Bash Programming: Scripting the GNU/Linux Shell
- Mastering UNIX Shell Scripting
- The Practical Guide to Enterprise DevOps and Continuous Delivery
- Linux in a Nutshell
- Linux Utilities Cookbook
- Mastering Wireshark
- REST API Design Rulebook
- Shell Scripting Recipes: A Problem-Solution Approach
- The DevOps Adoption Playbook
- Scala Microservices
- Linus for Developers: Jumpstart Your Linux Programming Skills
- Selenium Testing Tools Cookbook
- Selenium WebDriver Recipes in Java
- The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
- Architecting for Scale: High Availability for Your Growing Applications
- Practical DevOps for Big Data
- Practical Linux Topics
- Getting Started with Kubernetes
- Just Culture: Balancing Safety and Accountability
- Site Reliability Engineering: How Google Runs Production Systems
- DevOps Revealed Training Book
- JIRA Agile Essentials
- Implementation of DevOps pipeline for Serverless Applications
- Microservices for Java Developers: A Hands-on Introduction to Frameworks and Containers
- Microservices Best Practices for Java
- Spring Microservices
- A Python Book: Beginning Python, Advanced Python, and Python Exercises
- Automate The Boring Stuff With Python
- Microservices from Day One: Build robust and scalable software from the start
- Designing and Implementing Linux Firewalls and QoS using netfilter, iproute2, NAT, and L7-filter
- Scientific Programming and Computer Architecture
- Open Source Systems: Towards Robust Practices
- The Future of Software Quality Assurance
- DevOps for Digital Leaders: Reignite Business with a Modern DevOps-Enabled Software Factory
- Anti-fragile ICT Systems
- Formal Foundations of Serverless Computing
- Consistency Analysis in Bloom: a CALM and Collected Approach
- How do committees invent?
- Your Server as a Function
- Understanding Software Ecosystems: A Strategic Modeling Approach
- Resource Oriented Computing for Adaptive Systems
- From DevOps to DevDataOps: Data Management in DevOps processes
- Ethics in DevOps, The Attitude of Programmers Towards it
- DevOps and software quality: A systematic mapping
- Application of DevOps in the improvement of machine learning processes
- Industrial DevOps
- Readiness model for DevOps implementation in software organizations
- DevOps, Challenges and Implications
- Leading DevOps Practice and Principle Adoption
- Proposal To Cope Change Resistance Using DevOps
- A Survey on DevOps Techniques Used in Cloud-Based IOT Mashups
- Devops and Microservices Based Internet of Things Meta-Model
- How DevOps Practices Support Digital Transformation
- Anomaly Detection in DevOps Toolchain
- A Review Paper on DevOps: Beginning and More To Know
- A grounded theory analysis of modern web applications: knowledge, skills, and abilities for DevOps
- Security Practices in DevOps
- DevOps: Introducing Infrastructure-as-Code
- Communication Challenges and Strategies in Distributed DevOps
- Improve software quality through practicing DevOps