Wind is a management and orchestration system for distributed heterogeneous clouds. The distributed heterogeneous clouds are heterogeneous in two dimensions: the size of a node in the cloud can be anything from a single server to a data center consisting of thousands of servers where each node can use a different hypervisor or cloud OS. Wind addresses the challenges involved in delivering a distributed heterogeneous cloud through a modular design that facilitates (1) operations with any hypervisor or cloud OS, (2) utilization of automated wide area network virtualization to provide access to geographically distributed resources as a single logical pool, and (3) delivery of a wide range of core services to help tenants define how when, and where their applications are deployed, scaled, and moved. Wind consists of some 100K lines of code, roughly 75% of which is written in Erlang.
Talk objectives:
Show how a good system and software architecture coupled with support from Erlang and Erlang based tools help you develop and test a complex system like Wind. I will also briefly present some other Erlang related tools and libraries we developed, for example, Artemis, a distributed cloud simulator that can simulate clouds with millions of nodes each running active code.
Target audience:
Anyone who wants to get some experience on how a language like Erlang and its tools can help you develop large systems.
Slides
Joacim previously taught computer science and functional programming for twelve years at Royal Institute of Technology (KTH) in Stockholm. Since 1997, he has been working at Ericsson Research (ER) as a researcher developing prototypes of future systems. He has been working at the Software Architecture Lab, the Computer Science Lab, and a number of other departments at ER. Currently, Joacim is working with Cloud Technology at ER in San Jose, California. The last six years he has been working with Cloud Management and Orchestration System for Distributed Heterogeneous Clouds. Through the years at Ericsson Joacim have developed many prototypes, mainly in Erlang but also in C, C++ and Java.