You are on page 1of 2

The WHAT, WHEN, WHERE and WHY of using Erlang in your applications

WHAT is Erlang?
Erlang is a programming language designed specifically for writing scalable, fault-tolerant, distributed, non-stop, soft real-time applications. Released as open source by Ericsson in 1998, it has seen a steady adoption in both large-scale industrial software development and in small agile teams in startups. It is used for highly available systems, provides uptime of five nines, upgrades included at a fraction of the effort of the conventional languages such as C++ and Java. It is designed for massive concurrency and its design makes it an ideal candidate for scalability on multicore architectures.

WHAT is Erlang?

WHEN to use Erlang ?


You should think about Erlang when you need applications that: Handle a very large number of concurrent activities Are easily distributable over a network of computers Are fault-tolerant to both software & hardware errors Scale with the number of machines on the network Are upgradable and reconfigurable without having to stop and restart Are responsive within set timeframes Stay in continuous operation for many years

WHERE is Erlang used?


Erlang was invented to solve requirements of massive concurrency, distribution, soft real-time and high availability in telecoms, but due to its unique features, quickly made its way into a range of other verticals with similar requirements from financial switches, through instant messaging servers, HTTP servers and web frameworks, database engines and so forth. Because of its characteristics, Erlang is usually employed as a server-side language, to build high performance scalable and distributed servers, databases, messaging platforms or web services. Erlang has a middleware called OTP delivered with the core language, as well as a vast universe of external libraries and packages for many different purposes. Through various protocol stacks, testing and logging frameworks, Erlang covers most of the needs imposed by current business demands.

Database engines Instant messaging engines Messaging gateways

Web-frameworks Web servers Gaming servers


www.erlang-solutions.com

Messaging buses Numerous Telecom Protocols - Diameter & SIP

Finally, WHY choose Erlang ?


Erlang delivers working solutions in a short time to market. Erlang allows you to build software applications faster, on smaller budgets and with smaller teams, with reducedtotal life costs. This is possible because of Erlangs core strengths:

Testimonials
Basho's customers rely on us to deliver reliable, predictable software.Erlang gives us the best "batteries included" for that purpose and helps us develop and test our software faster and better than we could otherwise. - Justin Sheehy, CTO, Basho Erlang has helped us scale our business at an incredible speed, while still providing unparalleled availability of our systems. Our traffic, data, revenue, and staff has doubled every ten to twelve month for seven years in a row now. We strongly believe that Erlang has been a key factor in our success. - Erik Stenman, Chief Scientist, Klarna

Built in Distribution based on TCP/IP Allows writing your program on one computer, then scaling it to cluster of computers with little or no effort

Support for Concurrency

Allows handling millions of processes running in parallel without performance degradation

Supports hot code swapping Allows software upgrades and patches to be deployed with no system downtime

Profile
Founded in 1999 soon after Erlang
was released as open source.

Supports symmetric multiprocessing Enabling it to scale on todays and tomorrows multi-core computers

Only company of its kind totally


OTP- Middleware used for developing Erlang Facilitates & accelerates development, speeds up deployment and maintenance of your products

focused on Erlang and Erlang community.

With over 300 clients. Headquartered in London, U.K. Offices in Stockholm, Krakow,
Copenhagen, Aarhus, Amsterdam Budapest and Zurich.

but theres more!


Free & Open Source- Erlang is distributed under a permissive open-source license, and is free to use for any
open-source, freeware, or commercial projects.

Cross-platform- Erlang runs on Linux, FreeBSD, Windows, Solaris, Mac OS X, and even embedded platforms
such as VxWorks.

Erlangs mature support for multi-threading and parallel processing makes utilization of multi-core hardware
always optimal.

Easy to pick up-Erlangs simple and concise syntax makes it very easy to learn. Erlang is well suited for rapid
prototyping of distributed systems, which is usually a very hard, time consuming and error prone task.

Usually, the same logic can be expressed in Erlang in fewer lines of code compared to other languages.
This makes iterative and agile development faster.

The resulting code base is easier to debug and support.


www.erlang-solutions.com

You might also like