Environments and infrastructure
So far, we have deployed our applications to some servers – that is, Docker hosts, Kubernetes clusters, and pure Ubuntu servers (in the case of Ansible). However, when we think more deeply about the continuous delivery (CD) process (or the software delivery process in general), we need to logically group our resources. There are two main reasons why this is important:
- The physical location of machines matters
- No testing should be done on the production machines
Taking these facts into consideration, in this section, we will discuss different types of environments, their role in the CD process, and the security aspect of our infrastructure.
Types of environments
There are four common environment types – production, staging, QA (testing), and development. Let's discuss each of them one by one.
Production
The production environment...