So, Mikos says, the applications designed for the cloud are inherently different than the software that runs on corporate servers—they have to be, to take advantage of the cloud capabilities.
In the old days, software was unreliable and hardware was resilient. Now, hardware is the weak link and applications have to accommodate the fact that a virtual machine may disappear at any moment.
Mikos illustrates his point with Netflix:
“By way of example, Netflix, arguably the most advanced user of the cloud today, has gone the farthest in adopting this new paradigm. They have a process called ChaosMonkey that randomly kills virtual machine instances from underneath the application workloads. Why on earth do they do this on purpose? Because they are ensuring uptime and resilience: By exposing their applications to random loss of instances, they force application developers to build more resilient apps. Brilliant.”
Read the article: “For developers, the cloud means having to rethink everything they know about making software.”