2012 Prediction: Joyent
In the cloud, we are rapidly moving from providing development environments to running critical applications in production. This shift means application must run seamlessly and predictably well.
So what does it then mean to run applications “predictably well?” And how do we augment and improve running application "well" through time?
Below is a comprehensive list of independent requirements for "running applications well".
- Backward compatibility
- Elegance (using the common meaning of "as simple as possible") in accessibility, interactions, interoperability and integration
- Performance and Scalability
- Reliability (tendency to not fail)
- Resiliency (ability to recover from failure)
- Security (prevent corruption)
- Integrity (demonstrating the absence of corruption)
- Complete comprehension of the system. (analytics and transparency)
Typically we're asked to make trade-offs between these concepts and requirements. The trade-offs are false dichotomies.
To date, virtualization and cloud solutions have actually focused on agility, flexibility and backward compatibility with a bit of occasional elegance tossed in. They usually fail in performance, scalability, resiliency, security, demonstrable integrity, and complete comprehension of the systems.
For example, it is impossible to identify the root cause of an IO performance issue when you have a database on a file system in a virtual machine that's on a file system on a networking stack on a file system on a file system - and each hardware and software component comes from a different vendor.
As we head into 2012, then, I have a simple prediction: cloud and virtualization vendors are going to be forced by customer demands to smash these trade-offs.
- Demand BOTH agility and scalability from their cloud architecture - they will no longer be happy with the false choice of one or the other.
- Insist on 100 percent transparency from their cloud environment from the guts of the hardware and drivers through the OS environment and up the stack all the way to the user environment.
- Require that cloud environments are as close to 100% secure as possible, both from external threats and internal dangers lurking in other virtual machines housed in the same physical hardware on a multi-tenant platform.
- No longer tolerate the idea that a cloud “just goes down sometimes” or that data loss occurs.
In other words, 2012 will be the year that the cloud grows up and delivers exactly what customers want and need to run production applications really, really well - and predictably so.