Francesco Cesarini

Tutorial: Erlang - Inspiring Software
Concurrency + Distribution = Scalability + Availability, a Journey architecting Erlang Systems

O'Reilly Author & Founder of Erlang Solutions

Tutorial: Erlang - Inspiring Software

Prerequisite Knowledge

This tutorial covers high level concepts about Erlang but is technical as well. Having some proficiency in at least one programming language will be helpful, as well as some experience in building software systems.

Materials or downloads needed in advance

This tutorial does not require a full Erlang development environment, but if you'd like to experiment with the language it will be helpful to have a working copy of Erlang installed on your laptop.

Description

Erlang is a programming language designed for the internet age, although it predates the web. It is a language designed for multi-core computers, although it predates them too. It is the Ramones of the programming world, inspiring the sound and the beat which other mainstream languages are using. Erlang, more clearly than any other language, demonstrates the benefits of distributed, concurrency-oriented programming. In this tutorial, Francesco & Garrett will present the features that make Erlang a trendsetter and give you a context for using it as strategic tool in your software arsenal.

This tutorial will cover these topics:

Functional Programming in Erlang

  • Functions
  • Pattern matching
  • Recursion
  • Higher order functions

Concurrent Programming

  • Processes
  • Message passing
  • Links and monitors
  • Error handling

Multi-core

Distribution

  • Basic principles
  • Riak Core
  • Scalable Distributed (SD) Erlang
  • Messaging Architecture

OTP

  • Behaviors
  • Releases and upgrades

Concurrency + Distribution = Scalability + Availability, a Journey architecting Erlang Systems

Erlang/OTP has for years been described as your secret sauce to writing scalable and available systems. Erlang alone, however, will not do any magic. It is merely an enabler that, thanks to its semantics, programming model and predictable virtual machine makes the end results easier to achieve. In this talk, Francesco will walk through the topology patterns of modern distributed Erlang architectures, discussing the tradeoffs in scalability and reliability the actor model, the failure model and the built-in distribution model encourage you to take.

About Francesco

Francesco Cesarini is the founder of Erlang Solutions Ltd. He has used Erlang on a daily basis since 1995, starting as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of OTP, applying it to turnkey solutions and flagship telecom applications. In 1999, soon after Erlang was released as open source, he founded Erlang Solutions, who have become the world leaders in Erlang based consulting, contracting, training and systems development. Francesco has worked in major Erlang based projects both within and outside Ericsson, and as Technical Director, has led the development and consulting teams at Erlang Solutions. He is also the co-author of 'Erlang Programming' and 'Designing for Scalability with Erlang/OTP' both published by O'Reilly and lectures at Oxford University.

Twitter: @FrancescoC

Back to conference page