Once a team has implemented a software solution, it's time to see that particular piece of software in action. To see the software in action, you basically need to install and run that software in an environment that's available to end users. Such a process is called deployment.
Deployment involves a lot of things. In the past, it was just a matter of copying a binary file somewhere and running it, probably using an FTP server and an SSH session.
As we described earlier in this book, software has changed drastically in terms of languages, capabilities, functionalities, and integration points. All software is connected using various protocols and systems. Thus, deploying a piece of software has become a complex process.
Today, especially in the microservices era, software is distributed in the cloud and every component needs to interact with others; this means...