Skip to main content

Building a Massively Scalable Web Server In Erlang

Garrett Smith (CloudBees)
JavaScript - HTML5 - Web | Tools & Techniques
D139/140
Tutorial Please note: to attend, your registration must include Tutorials.
Average rating: ****.
(4.14, 7 ratings)

THIS TUTORIAL HAS REQUIREMENTS AND INSTRUCTIONS LISTED BELOW

Are you curious about Erlang? Perhaps you’ve heard that companies like Facebook, GitHub, and Amazon turn to Erlang when they need to build highly concurrent, scalable, mission critical systems. Have you wondered what makes this language so powerful?

In just three hours, you’ll learn the fundamentals of Erlang by example. We’ll walk you through the process of creating a real life, massively scalable HTTP server. And at the end, we’ll benchmark our work and compare it to the fastest web servers around to see how we did!

In this tutorial, you’ll learn:

  • Fundamental Erlang syntax and language constructs
  • Erlang types
  • Erlang processes and message passing
  • Network programming
  • Error handing and recovery
  • High performance template rendering
  • Details of the HTTP protocol

If you’re new to Erlang, this is a perfect way to get a jump start on the language! By implementing an HTTP server, you’ll see how a real life application is built in Erlang. You’ll also learn how Web servers work! At the end, you’ll have been exposed to one of the industry’s most revered functional languages and have a solid starting point building your own applications.

You’ll also have had a lot of fun!

TUTORIAL REQUIREMENTS AND INSTRUCTIONS FOR ATTENDEES

* This tutorial does not require prior Erlang experience. It’s intended as an introduction to the language using a practical example. If you know any other programming languages, you’ll be able to follow along and pick up usable information about Erlang and application development. If you have experience with Erlang, you’ll benefit from the advanced problem of building an HTTP server.

To follow along with the coding exercises, you’ll need the following:

* Laptop connected to the conference (or other) wifi
* Text editor
* Erlang installed for your operating system

It will help if you can create a simple Hello World Erlang program before getting started. This will verify that you can compile Erlang programs and save you time during the tutorial.

This is a good link to start with: http://www.erlang.org/faq/getting_started.html.

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

Photo of Garrett Smith

Garrett Smith

CloudBees

Garrett Smith is senior architect at CloudBees, the company behind Jenkins CI and leading Java platform-as-a-service vendor. Garrett specializes in distributed systems and reliable software. His programming language of choice for systems programming is Erlang, a high productivity functional language specializing in concurrency and reliability. Garrett is an Erlang instructor and the author of e2, which was built from his experience teaching Erlang. Garrett is known for his videos “MongoDb is Web Scale” and “Node.js Is Bad Ass Rock Star Tech”.