DevOps is a philosophy that consolidates development teams and IT operations in order to facilitate a collaborative effort throughout the software development lifecycle. DevOps helps organizations maximize productivity and performance while reducing the time from design to deployment.
CI/CD supports the objective of reducing the time required to update or deliver software while improving quality.
Automation can reduce human error and improve the responsiveness of the development environment. Automation tools:
Combining your development and IT operations teams into a powerful DevOps team requires a cultural shift. Start by:
Key performance indicators can help measure the success of your DevOps efforts. The following metrics provide valuable insight:
A build server is an example of an automation tool, and allows code in the source code repository to be compiled into executable code base. Popular examples include Jenkins, SonarQube, and Artifactory.
A source code repository is a key element of continuous integration, and serves as a place where developers can manage various versions of code and make code changes without affecting each other's work. Options for source code repository tools include Git, Cloudforce, Bitbucket, and Subversion.
Configuration management establishes and maintains the quality and consistency of the requirements, functional attributes, and properties of IT infrastructure. Puppet, Ansible, and Chef are all examples of configuration management tools that are widely used.
Virtual infrastructures are cloud-based services that offer infrastructure or platform as a service (PaaS), such as Amazon Web Services (AWS) or Microsoft Azure. When used in conjunction with automation tools, virtual infrastructures support DevOps by allowing system administrators to test new code automatically without human interaction.
Linux containers are virtualization components that isolate certain workloads or applications from the host system during the development process. Docker, Kubernetes, ElasticBox and CoreOs are all examples of vendors and tools that serve this purpose.