Introduction

Writing the code of a program is one thing, but reaching users is another entirely. In the age of the Internet, the Web has emerged as the preferred distribution channel, and with good reason. Accessing a Web application requires almost no effort from a user. Everyone has a Web browser everywhere they go. It's great for developers too: all users see the same version, and updates are easy to push out.

So, how do you take the code of your Web application and publish it to the world? There are many specific use cases, and even more solutions. In any case, a computer connected to the Internet (the server) receives requests from a user's computer. The server executes some code and responds with data that the user's computer can use or display. It is important that your server is always running so your application is always available.

Cloud computing has simplified this process so anyone can run their own servers with just a few clicks and no up-front costs. There is no hardware to buy and maintain. You just decide how much computing power you need (CPU cores, RAM and disk space) and rent it from a provider. This is "infrastructure-as-a-service" (IaaS). There are plenty of providers, but Amazon Web Services (AWS) is far and away the leader.

This book will walk you through setting up and running your own simple yet scalable Virtual Private Cloud (VPC) on AWS. Along the way, it introduces some technologies that are fundamental to modern cloud deployment. These include Git, Docker and Continuous Integration (CI). You'll deploy your Web app to the world, and have a powerful, automated process to deploy updates. The journey ends with a cheat sheet to distil the essentials and empower your future deployments.

Maybe you're new to the cloud or AWS. Maybe you've tried before and bounced off the labyrinth of concepts and menus. If so, this might just be the book you've been searching for. Read on and discover how to start doing Modern Deployment yourself.