Clueful Elixir with Kubernetes

  • Expertise
    Intermediate
  • Target audience Elixir/Erlang developers with basic knowledge of Docker wishing to expand their operational ability of running BEAM applications on Kubernetes.
  • Duration 1 day
  • Prerequisites
    • Basic understanding of Elixir applications, releases, distributed Erlang, and Docker.
      Docker for Mac (edge) installed on their machine (Kubernetes supported out of the box)(preferable), a working Kubernetes instance, or use a provided GKE Google Kubernetes Engine instance.

In this one-day tutorial, you will learn to build, deploy, scale and cluster Elixir applications on Kubernetes.

Deploying, running, operating and debugging Elixir and Erlang applications on Kubernetes doesn’t have to be a big deal once you know a couple of basic tricks and patterns. In this one-day tutorial, you will learn to build, deploy, scale and cluster Elixir applications on Kubernetes.

OBJECTIVES 

  • Have a deeper understanding of Kubernetes
  • Know how to operate an Elixir cluster deployed on Kubernetes
  • Know how to set up monitoring
  • Know how to debug issues
  • Know how to template configuration for deployment in multiple environments
  • Techniques for keeping secrets secret

Most of the class will be live coding together. You’ll have plenty of time to work on labs along the way as you hone your skills. About half of the class is either lab work or coding side-by-side with your instructor.

COVERS THE FOLLOWING TOPICS

  • Best practice for building docker images of Elixir applications
  • Using distillery for building releases
  • Using libcluster for automatically forming Elixir clusters
  • Integrating prometheus/grafana monitoring
  • Debugging deployment issues * The characteristics of the different kubernetes controllers
  • How to leverage Kube DNS
  • Autoscalling
  • Working with dependencies and private repositories 
  • Startup failure and health checks
  • Exposing Kubernetes applications to the internet (GKE)
Bryan Hunt
Tech Lead at Erlang Solutions

Bryan Hunt is a long term internet developer having installed Java in 96 from a magazine provided CD-ROM, and hacking in Perl before the great dot-com crash. For the last few years he has concentrated on BEAM with a particular emphasis on Elixir. His day job is split between coding Elixir and infrastructure such as AWS and Kubernetes.

Looking for bespoke
corporate training?

Contact us about how we can tailor a course for the needs of your team.