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).
  • Continuous integration and continuous deployment (Jenkins, Hudson, and so on).
  • Code analysis (Sonatype, Jacoco, PMD, FindBugs, and so on).

As we learned in Chapter 10, Containerizing Your Applications, we know how to provide environments based on containers, and we need to understand that the examples that we created can also be applied to the concept of infrastructure as code, which we are going to look at in the next section.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.174.0