Chapter 11. Getting a Server Ready for Deployment
This chapter is all about getting ready for our deployment. We’re going to spin up an actual server, make it accessible on the internet with a real domain name, and set up the authentication and credentials we need to be able to control it remotely with SSH and Ansible.
Manually Provisioning a Server to Host Our Site
We can separate our “deployment” into two tasks:
-
Provisioning a new server to be able to host the code, which includes choosing an operating system, getting basic credentials to log in, and configuring DNS
-
Deploying our application to an existing server, which includes getting our Docker image onto the server, starting a container, and configuring it to talk to the database and the outside world
Infrastructure-as-code tools can let you automate both of these, but the provisioning parts tend to be quite vendor-specific, so for the purposes of this book, we can live with manual provisioning.
Note
I should probably stress once more that deployment is something that varies a lot and, as a result, there are few universal best practices for how to do it. So, rather than trying to remember the specifics of what I’m doing here, you should be trying to understand the rationale, so that you can apply the same kind of thinking in the specific future circumstances you encounter.
Choosing Where to Host Our Site
There are loads of different solutions out there these days, but they broadly fall into two camps:
-
Running ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access