Subscribe to our Erlang Factory newsletter to receive the latest updates and news

A Decade of YAWS

Steve Vinoski
Steve Vinoski

Given how popular writing your own Erlang web server seems to be these days, perhaps legendary Erlang programmer Claes "Klacke" Wikström was ahead of his time when nearly a decade ago he chose to call his then-new project "Yet Another Web Server." Famous for the "Apache vs. Yaws" graphs that boasted its scalability, Yaws has managed to maintain a relatively simple core while acquiring a rich set of features over the years. These features include the support of Erlang code embedded within HTML pages, mapping URI paths to specific application modules for request processing, streamed responses, web sockets, virtual servers, URL rewriting, integration with existing Erlang applications, sendfile support, and embedding within larger Erlang applications. When combined with the advanced concurrency, distribution, and reliability features of its underlying Erlang/OTP platform, Yaws provides a rich environment for production-quality web applications. 

In this talk, Steve, a committer on the Yaws project, will provide an overview of a number of Yaws features and how applications use them, and will also explain some of its internal architecture. 



Erlang Rationale

Robert Virding
Robert Virding

Erlang Solutions
While Erlang has much in common with other functional languages it does many things differently from other languages. In this talk one of the three inventors of Erlang will look at the rationale behind Erlang and try to show how many of its important features combine to work together. We will also look at how Erlang was first developed to show the reason for some of the features in the rationale.


Riak: why should you care?

Oliver (OJ) Reeves
Oliver (OJ) Reeves

Functional IO
Building applications in today's technical climate is challenging for many reasons, one of which is users' expectations on uptime. Building systems that keep running in the face of failing hardware, unpredictable networks and high volumes of traffic is an incredibly tough task. Applications are made up of so many components, all of which can fail at any time. The most important part of your system is the data, and hence having a reliable data store that doesn't fail is paramount if you want your application to be competitive.

Riak, a key-value store created by Basho Technologies, is a database that was designed from the ground up to be fault-tolerant. In this talk, OJ is going to cover the main features of Riak, talk about the areas of the design which make it so hard to break and discuss reasons why Erlang was a superior technology choice for Riak's implementation.


The Properties of Riak

John Hughes
John Hughes

QuviQ AB
Riak is one of the new breed of no-SQL database management systems, which has begun to replace relational databases for some applications. Riak is a distributed key-value store, inspired by Amazon’s Dynamo, designed for applications where scalability, low latency and high availability are critical. Riak uses replication to provide fast access to data, even when multiple nodes or parts of the network fail. It supports concurrent access to the same data by multiple clients, even when the network is partitioned. All of this makes it very hard to test.

I will show how QuickCheck helped us to model Riak’s behavior, improving understanding and revealing the occasional bug.