Embracing automation
Embracing automation is one of the key factors in the adoption of DevOps. There are several tools that will help us with this process.
We need to find tools that help us to automate the process in all stages throughout the SDLC. These phases are shown in the following diagram:
Pipeline in the organization
Within an organization, a pipeline is designed to keep the software delivery process simple. The first step is to identify the different stages, as we did in the preceding diagram, and then we should choose the right tools that will allow us to automate each stage. Let's review the stages and tools/software associated with each stage:
- Code (Git, SVN, and so on).
- Build (Maven, Gradle, npm, and so on).
- Test automation. This could also include integration testing (JUnit, Postman, Newman, JFrog, Selenium, Cucumber, Gherkin, and so on).
- Deployment (Ansible, Vagrant, Docker, Chef, Puppet, and so on).
- Monitoring (we are going to talk in depth about monitoring in Chapter 12, Monitoring...