DevOps is a set of software development practices that combine software development (Dev) and information-technology operations (Ops) to shorten the systems-development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives.
Includes the cultural and professional movement that stresses communication, collaboration, integration and automation in order to improve the flow of work between software developers and IT operations professionals.
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market. — Amazon Web Services (AWS)
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology— especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective. — Gartner
DevOps is a software development methodology that combines software development and IT operations to improve the efficiency and speed of software delivery. It emphasizes collaboration, automation, and continuous improvement.
The key principles of DevOps include collaboration and communication between development and operations teams, automation of the software delivery pipeline, continuous integration and delivery, and a focus on monitoring and feedback.
DevOps can help to improve the speed and quality of software delivery, reduce costs, increase collaboration between teams, and improve the reliability and scalability of software systems.
Continuous Integration is a practice in DevOps where developers regularly merge their code changes into a shared repository and run automated tests to ensure that the code is working correctly.
Continuous Delivery is a practice in DevOps where code changes are automatically built, tested, and deployed to production environments. It ensures that code changes can be released quickly and with minimal risk.
Infrastructure as Code is a practice in DevOps where infrastructure configurations are defined in code and managed in a version control system. It allows for the automated creation and management of infrastructure and helps to improve consistency and reliability.
A DevOps toolchain is a set of tools and technologies that are used to support DevOps practices. It includes tools for continuous integration, continuous delivery, infrastructure automation, monitoring, and feedback.
A DevOps culture is one that emphasizes collaboration, communication, and shared responsibility between development and operations teams. It encourages a focus on delivering value to customers quickly and continuously improving processes.
The reason for documenting these days is so that others can take something from it and also hopefully enhance the resources.
The goal is to take 90 days, 1 hour a day, to tackle over 13 areas of DevOps to a foundational knowledge.
This will not cover all things DevOps but it will cover the areas that I feel will benefit my learning and understanding overall.
These tools help you manage servers and deploy happier and more often with more confidence.
DevOps is a methodology integrating and automating the work of software development (Dev) and information technology operations (Ops). It serves as a means for improving and shortening the systems development life cycle. DevOps is complementary to agile software development; several DevOps aspects came from the agile approach.
Automation is an important part of DevOps. Software programmers and architects should use "fitness functions" to keep their software in check.
According to Neal Ford, DevOps, particularly through continuous delivery, employs the "Bring the pain forward" principle, tackling tough tasks early, fostering automation and swift issue detection.
Source: YouTube
DevOps is closely related to ALM (Application Lifecycle Management) because it focuses on streamlining the application lifecycle by bridging the gap between development and operations teams. DevOps provides a framework for automating the deployment and operation of software applications, while ALM provides a framework for managing the entire lifecycle of the application, including development, testing, deployment, and maintenance.
In other words, DevOps is a methodology that emphasizes collaboration and automation across the entire application lifecycle, and ALM provides a framework for managing the application lifecycle from inception to retirement. Both DevOps and ALM are focused on optimizing the application lifecycle, and together they provide a comprehensive approach to software development and deployment.
Various Tools depending of the DevOps steps:
DevOps Common | DevOps Stages | Azure DevOps |
---|---|---|
Plan | DevOps Plan | Azure Boards |
Code | DevOps Create | Azure Repos |
Build | ||
Test | DevOps Verify | Azure Test Plans |
DevOps Packaging | Azure Artifacts | |
Release | DevOps Release | Azure Pipelines (also builds) |
Deploy | DevOps Configure | Azure |
Operate | DevOps Monitor | Azure Monitor |
– Figure out this Matrix.
The 2015 State of DevOps Report discovered that the top seven measures with the strongest correlation to organizational culture are:
Adoption of DevOps success factors include: