<

Bryan Hunt

Open source contributor, solutions architect at Erlang solutions

Bryan 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.

Upcoming Activities

Bryan Hunt
Code BEAM STO V
Tutorial/ 09 Sep 2020
09.00 - 17.00

Clueful Elixir with 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

When you've completed this tutorial, you will:

  • 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
  • Learn the 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.

 

PREREQUISITES

Attendees should have a basic understanding of Elixir applications, releases, distributed Erlang, and Docker.

Please have 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.

 

TARGET AUDIENCE

Elixir/Erlang developers with basic knowledge of Docker wishing to expand their operational ability of running BEAM applications on Kubernetes.

COURSE OUTLINE

  • 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
  • Autoscaling
  • Working with dependencies and private repositories
  • Startup failure and health checks
  • Exposing Kubernetes applications to the internet (GKE)

Past Activities

Bryan Hunt
Code BEAM STO 2018
Tutorial/ 30 May 2018
09.00 - 17.30

Implementing a simple HTTP file storage server

09:00-17:00

This tutorial walks attendees through the structure, design, and setup of a distributed HTTP file storage server loving built with Cowboy/Phoenix. The server can handle large file uploads, safely passing the chunked data onwards via a gen_statem server to… well anywhere really, but typically, a remote Erlang process. The current implementation writes to the chunks sequentially to a Unix file system.

The goal of this training is be to store the file chunks via a riak_core back-end, using a custom hashing algorithm (physically adjacent chunk storage) and backed by the leveled LSM storage engine. The intent of this exercise is not to achieve Amazon API compatibility such as that provided by Riak CS (out of scope of this tutorial), but to provide an implementation of standard HTTP verbs (GET, PUT, POST, DELETE) so that the server can easily be manipulated with Unix command line tools such as `curl`, `wget`, etc. Checksums will be a project feature as will some limited form of tagging/iteration.

Bryan Hunt
Code BEAM SF
Tutorial/ 04 Mar 2020
09.00 - 17.00

Clueful Elixir with 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

When you've completed this tutorial, you will

  • 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.

 

PREREQUISITES

Attendees should have a basic understanding of Elixir applications, releases, distributed Erlang, and Docker. Please have 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.

 

TARGET AUDIENCE

Elixir/Erlang developers with basic knowledge of Docker wishing to expand their operational ability of running BEAM applications on Kubernetes.)

COURSE OUTLINE

  • 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
Code BEAM SF
05 Mar 2020
10.40 - 11.25

Customer retention and how to avoid double billing

My talk will discuss several techniques to prevent double billing during the booking/checkout process. I'll start with simple relational datatabase techniques and work up to distributed CP, and AP implementations. I will also show how modeling a customer activity as an Elixir processes state provides an excellent means to ensure reliable ordere processing.

THIS TALK IN THREE WORDS

Transactions

Modelling

Transactions

OBJECTIVES

Demonstrate simple techniques to prevent double booking - two phase commit using RDBMS, Riak, and a strongly consistent distributed DB. Demonstrate the trade-offs and implementation details.

TARGET AUDIENCE

Elixir/Erlang developers who want to ensure their check-out process works correctly.

Media

Articles: 1

PC Member Bryan Hunt picks his personal talk highlights for Code BEAM STO 2018

Article by Bryan Hunt

Bryan hunt is on the Programme Committee for Code BEAM STO and has been involved with the open source community in various ways for the last 20 years. He is now leading Erlang Solutions' Riak support whilst being an advocate for Elixir and Erlang. In this article, Bryan gives his own personal list of talks he plans on attending at Code BEAM STO this year.

READ MORE

Videos: 1