Introduction

Learn how to deploy an application to production.

We’ll first cover the current landscape of Elixir application deployment and the specific challenges that real-time applications will encounter.

Our (or our company’s) specific needs will dictate how we deploy and run our application—there isn’t a silver bullet for all situations. Deployment techniques also change as new libraries, tools, and platforms emerge. This section is not a guide to deploying Elixir applications, and we won’t code deployment in it. Instead, we’ll receive an overview of current deployment options before we cover more specific real-time problems:

  • Load balancing WebSockets.
  • Deployment strategies.
  • BEAM Node clustering options.

Deployment can be daunting—there’s a lot of things to consider when we first set up an application. However, we’ll gain a reusable set of deployment strategies after we complete our first real-world deployment. It may be frustrating at first, but the reward of a running application is worth it.

We’ll start this section with today’s lay of the land for deploying Elixir applications. We’ll cover topics such as Mix releases versus Distillery and what services can run our application. After that, we’ll discuss load balancing WebSockets and the challenges with persistent connections during ...