99.9999999 uptime (nine nines)


09/04/2007

Concurrency, scalability, uptime. As internet-based computing and the internet grow in ubiquity, these characteristics become much more than buzzwords or sales points—they become vital to the life of your company, whether you are hosting or using web services, selling or buying.

Uptime is often stated in terms of a percentage of availability, something like 99.99% (one hour downtime a year) is desirable, or perhaps even the fabled "five nines", 99.999%, which comes out to something around 5 minutes downtime a year. Hardly worth monitoring :-).

But how would you like "nine nines" reliability? That's 99.9999999% uptime, which pretty much means that if you blink sometime over the next year, you'd miss the downtime completely. It can be done, and apparently has been done, in Erlang.

Steve Vinoski mentions this in his article in IEEE Internet Computing, where he talks about his own introduction to Erlang:

Unfortunately, the more I learned about Erlang, the more I also had that sinking feeling about how much time I’d spent over the years trying to (re)invent the wheels that *Erlang/OTP already provides*.

Historically I think many project teams have ended up with a pile of re-invented wheels over in the corner. Most folks have wised up over the years, and no longer embark on disastrous errands such as re-inventing their own object-relational database mapping layer, etc. But these core problems of high concurrency, fault tolerance, and reliability really cry out for a new approach. These are particularly hard wheels to manage, especially in standard environments such as Java or C++, and re-inventing them is less appealing than ever.

And of course, as with all languages and technologies, just seeing what's possible—and how others have solved these problems—can help you directly, even if you never use the technology itself. Steve sums it up nicely at the end of the article:

Meanwhile, do yourself a favor and get a copy of Programming Erlang. Even if you never write a single line of production Erlang code, reading and understanding this excellent book and the language it describes will make you a better developer.

Book cover

⬅︎ Back to all news


Latest News

Recent Articles

Andy Hunt lecture/talk Andy Hunt lecture/talk Andy Hunt lecture/talk Andy Hunt lecture/talk