DevOps is a set of practices that automates the processes between software development and IT teams, in order that they can build, test, and release software faster and more reliably. The concept of DevOps is founded on building a culture of collaboration between teams that historically functioned in relative siloes
DevOps Frame
DevOps is a strategy intended to bring perfection in software delivery lifecycle by aligning development and Operations teams around the business goals. DevOps Level 200 is intermediate material. It assumes 100-level knowledge and provides specific details about the topic.DevOps Level 300 is advanced material, it assumes 200-level knowledge, in-depth understanding of features in a real-world environment and strong coding skills. It provides a detailed technical overview of a subset of product/technology features, covering; architecture, performance, migration, deployment, and development.
DevOps Practices
There are many fundamental DevOps practices. A few of them are listed below:
Infrastructure as Code (IaC) is the practice in which the techniques, processes, and tool sets used in software development are leveraged to manage the deployment and configuration of systems, applications, and middleware. Most of the testing and deployment defects occur when developer’s environments differ from testing and production environments. Putting these environments under version control yields immediate benefits in consistency, time savings, error rates, and auditability.
Under Continuous Integration (CI)practice, the working copies of all the developers code are combined with a shared mainline.
Automated Testing – is the practice where various tests such as load, functional, integration, and unit tests happen automatically either after you check in code (i.e. attached to CI) or some other means to fire off one or more tests automatically against a specific build or app.
Release management is a practice intended to oversee the development, testing, deployment and support of software releases.
Configuration Management is the practice for establishing and maintaining consistency of a product’s performance with its requirements, design and operational information throughout its life.