What is Infrastructure as Code?

Infrastructure as Code (IaC) dictates that the infrastructure needed to deploy (or test deploy) the application (e.g. application server, dependencies, WAF, database server, etc.), should be defined in a file/script that can be executed to make the infrastructure ready. It covers the tools/techniques used to automate the creation of setup for deployment (or test deployment) of the project. 

The following components are there in this phase:

  • Ansible  

  • Test server


People involved: Operation team

External sources

Why is it important in DevSecOps? 

Infrastructure as Code saves the repetitive human effort in setting up and managing the infrastructure. It also removes the human error altogether (i.e. once the script is finalized) by making sure that everything is set up, in the same way, every time the script is run. It also ensures that the developers and testers are working on an accurate setup with no special settings/misconfiguration etc caused by the operations team.  

What will you learn in this section? 

The user will learn to perform the following tasks

  • Automating Apache web server, MySQL installation using Ansible

  • Automating Apache tomcat installation using Ansible


Tools Covered

  • Ansible


Labs

  • Ansible: Deploying Apache and MySQL

    • A Kali machine is provided to the user with Ansible installed on it and a configuration file for installing Apache web server, MySQL on it. A Ubuntu server is also present on the same network.
      Objective: Deploy Apache and MySQL on the Ubuntu server machine using Ansible!

  • Ansible: Deploying Tomcat

    • A Kali machine is provided to the user with Ansible installed on it and a configuration file for installing Tomcat is also provided. A Ubuntu server is also present on the same network.
      Objective: Deploy Tomcat on the Ubuntu server machine using Ansible!

User Avatar

Ansible: Deploying Apache and MySQL

User Avatar

Ansible: Deploying Tomcat