Deploying on AWS
In the previous chapters, we ran our different microservices directly in the host operating system, as it is sometimes the quickest way to get started, while also being a useful approach in general—especially for smaller installations or development where everything can be contained in a virtual environment. However, if the application requires a database or a compiled extension, then things start to be tightly coupled to the operating system and version. Other developers with slightly different systems will start to run into problems, and the more differences between a development environment and a production one, the more trouble you will have when releasing your software.
Virtual Machines (VMs) can be a good solution, as they provide an isolated environment in which to run your code. A VM is essentially a piece of software pretending to be a real computer, in which there is a real operating system running in the pretend computer. If you've ever...