Francesco Cesarini, Founder Erlang Training and Consulting, author of "Erlang Programming"
Francesco Cesarini is the founder and Technical Director of Erlang Training and Consulting. He is also a co-author of Erlang Programming, a book published by O'Reilly Media. Having started his career as an intern at Ericsson's computer science lab, the birth place of Erlang, and has used the language on a daily basis for the last 15 years. He has worked with flagship Erlang projects both within and outside of Ericsson, including the R1 release of the OTP middleware and the AXD301 Switch. He has taught Erlang/OTP to hundreds of professionals and undergraduate students alike.
Soon after Erlang was released as Open Source, he founded Erlang Training and Consulting. With offices in the UK, Sweden, Poland (and soon the US), they have become the world leaders in Erlang based consulting, contracting, support, training and systems development. Their client base is spread on five continents and ranges from small start-ups to blue chip companies. In his role as Technical Director, he is currently leading the research, development and consulting teams.
He is active in the Erlang community not only through regularly talks, seminars and tutorials at conferences worldwide, but also through his involvement in international research projects. He organises local Erlang user groups and with the help of his colleagues and runs the Trapexit Erlang community website.
Presentation: "Styling your Architecture in an Evolving Concurrent World"
Erlang/OTP has been used for well over 15 years to develop distributed, fault-tolerant soft-realtime systems which run for years with no downtime. Hardware and operating systems have evolved as well as the Erlang Virtual Machine itself. This has enabled a continual evolvement of the architectures of the Erlang based application systems. The first Erlang systems were built using an active-standby architecture. When Erlang’s distributed Mnesia database allowed data to be easily replicated in a cluster of nodes, architectures where data was fully replicated became popular. As processing power and the load these systems were subjected to increased, duplicating all data was no longer viable; shared all architecture models gave way to minimal shared data and no shared data architectures. In the last few years, cloud computing has taken over, with Erlang powering its backbone and infrastructure.
This talk will look at the most common architecture patterns in Erlang-based products, describing how each of them solves a particular problem while guaranteeing no single points of failure. It will start with the early versions of the AXD301 switch and end with examples of the use of Erlang in cloud computing architectures.
Workshop: "Erlang: A language for programming reliable systems"
This hands
on tutorial will give you an introduction to the Erlang programming language.
You will learn the basics of how to read, write and structure Erlang programs.
We start with an insight into the theory and concepts behind sequential and
concurrent Erlang, allowing you to get acquainted with the Erlang syntax and
semantics. We conclude with an overview of the error handling mechanisms used
to build fault tolerant systems with five nines availability.
Target
Audience: Delegates
who will benefit from this tutorial includes those want to learn more about
Erlang and its concurrency model. Attending will put you on the right track in
building distributed, fault tolerant massively concurrent soft real-time
systems.
In order to
get the most out of this tutorial, you must have a good grasp of other
programming languages. This will be a hands on tutorial. Make sure you come
with your laptop having installed Erlang and your favourite editor.
Erlang is just a
programming language. To build highly scalable, fault tolerant systems with requirements
on high availability, you need the OTP middleware. OTP consists of tools,
reusable components and libraries, and design principles. In this tutorial, you
will get an insight in the theory and concepts behind Erlang design principles,
learning how concurrency design patterns they are used to build industrial
grade systems. These design patterns, also known as OTP behaviours, include
client servers, event handlers, finite state machines, supervisors and
applications. We will explain the client server behaviour in detail, and
provide an overview of finite state machines, event handlers and supervisors.
Target
Audience: Delegates
who will benefit from this tutorial are software developers and architects. You
must have either attended the Practical Erlang Tutorial or have a good
understanding of Erlang’s syntax, semantics and concurrency model (Either
through the Erlang books or online tutorials).
This will
be a hands on tutorial. Make sure you come with your laptop having installed
Erlang and your favourite editor.