So far, we have deployed our applications to some servers, which were Docker hosts, Kubernetes clusters, or even pure Ubuntu servers (in case of Ansible). However, when we think deeper about the Continuous Delivery process (or the software delivery process in general), we need to make a logical grouping of our resources. There are two main reasons why it's so 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 environment, their role in the Continuous Delivery process, and the security aspect of our infrastructure.