A distributed system is the one that prevents you from working because of the failure of a machine that you had never heard of

This quote is part of my tech quote explained series from Java One / Open World 2016. Actually it is the special edition for the OTN appreciation day 🙂

Leslie’s Quote that I heard at Java One 2016:

“A distributed system is one that prevents you from working
because of the failure of a machine that you had never heard of.”

Leslie Lamport


The following explanation is mine, not Leslie Lamport’s. Besides, yes, Leslie is the guy who is known for LaTex and his work on the Paxos algorithm.

There are many rather theoretical publications about distributed systems, but Leslie’s definition nails it. Distributed systems produce all kind of surprises! They are never boring. Latency issues or network failures may trigger timeouts or split brain conditions. System failures, availability zone outages or the complete failure of a data center region challenge your availability concept. If everything goes terribly, terribly wrong, you better have a good contingency plan within close reach.

Nowadays we offload some of these challenges to modern cloud architectures. On a PaaS or SaaS level you simply stop worrying about it, because somebody else solves the problem for you. On a IaaS level things are obviously more interesting. The popular circuit breaker pattern – the one that is now mentioned in seemingly every blog or presentation (I also wrote about it in my cloud book ) – goes back to the Netflix Cloud OSS and the research done in over 50 open source projects.

Antifragility means that you grow by doing the things that stress you. Like you when you grow your biceps when going to the gym. Modern cloud architectures run an armada of chaos monkeys, chaos gorillas and latency monkey that simulate system or data center failures in production environments and inject random latencies in networks. Due to this developers are challenged to write resilient code and architects architect for constant failure. The kind of failures Leslie mentioned in his quote.

Don’t miss the other quotes of this series, e.g. regarding app servers vs. monoliths, and about SaaS and Cloud APIs.

APIs, and Clouds: Please Explain the Joke!

Some people have asked what the sentence on my laptop sticker means. I was gifting some of these stickers at the OTN Tour Latam 2016. Maybe it is a bit of a academic / nerdy joke. So let me explain.

Screen Shot 2016-08-10 at 10.23.24

The Posh (and boring)

Once upon a time there were people rich in money but poor in humor driving around in their second cars (typically a small Mercedes, a small BMW or a small Audi) with a sticker on it saying that their first car is a huge Mercedes, Porsche or Bentley. Let’s not waste too much time talking about these people here.


The cooll stuff as often started in Down Under. Some people with a lifestyle instead of a job came up with a cool car sticker, that basically said it is much nicer to have a small boat and go to the sea for diving than wasting money on a second car. E.g. see here for a rather fun version.


Then (to the best of my knowledge) Google made fun out of it, riding the cloud computing wave with a sticker that said “My other Computer is a Data Center“. Meaning that if you use the cloud you can have a whole data center.

Cloud Computing and APIs

Let’s get a bit more specific: What I pointed out half decade ago (yes, that time when everybody was just laughing about that topic) in my Cloud Computing book is the following: The true beauty of cloud computing is not that you access a compute instance in somebody else’s data center – this is what you could simply get by outsourcing. Guys, it’s more that your whole data center is software. Your whole data center is an API!

With cloud computing the difference of placing a cloud instance in Sydney or Frankfurt is just one single parameter in an API call – that comes at no extra cost. Same for placing it in datacenter 1 in Frankfurt or datacenter 2. So you get geo-redundancy for free! Now go and try this at home.

Also there is no difference in using 100 instances for 1h or using 1 instance for 100h. So you have a massively parallel, distributed supercomputer at your fingertips for a few pennies. Try this in your DC.

I guess now you get an idea what sticker means and why it says API. At the end it is all about APIs. And we haven’t even started to talk about the possibilities of PaaS, SaaS, HaaS, or API Management 🙂 Btw, sometimes I think most marketing people do a really bad job causing FUD instead of promoting tech.

Screen Shot 2016-08-22 at 11.20.04

Screen Shot 2016-08-22 at 11.35.15Screen Shot 2016-08-22 at 11.20.26

computer api cloud


Let me know if you spot more of these stickers out there and send me pics :-)!

Interview: The (Emerging) Role of the Cloud Architect

I did an interview in San Francisco hosted by Bob Rhubart with some well known folks of the industry including Sten Vesterli, Ronald Luttikhuizn, Simon Haslam, Arturo Viveros, and Ron Batra about the role of the cloud architect.

IMHO we won’t see many people with the job title Cloud Architect on their business card. It’s increasingly important and disruptive tech, every architect, team leader and CIO has to deal with it, however it’s tech that you as a professional have to understand. The cloud changes a lot if you do it right, read my article about cloud benefits.

Enjoy listening to the interview.bob


IaaS Competition: It’s not only about the pricing.

IaaS has become much much more than just compute on demand with an API and pay per use. Interesting to note that Oracle cloud announced to match AWS IaaS prices for their customers which is a cool and bold move. Obviously this will help to keep Oracle customers on the Oracle cloud.

AWS IaaS actually is more. You can have cheap reserved instances and even cheaper spot instances. Today AWS announced spot instances with a block duration for jobs that need to be finished but run economically. Good to see that competition keeps bringing new features. Remember when many years ago I wrote about the benefits for customers that will be caused by cloud computing? Nowadays this has become a fact.


There are more public cloud advantages and features you should know.

The Difference: Docker vs. Virtualization

Technical Basics

Docker is an open source container technology that became immensely popular in 2014. Docker itself is written in Google’s programming language Go and supported on all major Linux distributions (RedHat, CentOS, Oracle Linux, Ubuntu etc.). The technical underpinnings are not completely new, Docker leverages Linux kernel features for containers such as cgroups and namespaces. So even though Docker itself is relatively new, the underlying container technology is an established technology.

It is reported that Google starts 2 000 000 000 every week for search, mail, etc.

Virtualization versus Container

It’s important to distinguish Linux containers and Docker from traditional and more common type 1 or type 2 hypervisors. Type 1 hypervisors provide server virtualization on bare metal hardware, whereas Type 2 hypervisors typically provide desktop virtualization based on an existing operating system as shown below.

Screen Shot 2015-09-21 at 10.44.55


In contrast to popular virtualization technologies, Docker containers run the host’s Linux kernel, so the required time to startup a container is only in the range of milliseconds. Still containers have their own incremental files system, where layers are reused across containers. In addition, every container has its own network stack, therefore its own IP-address, and its own process space.