Every programmer is familiar with the command Print “Hello World” or some variation depending upon language used (this one being Python).
When we step back to think about what that single line of code represents, in terms of all the processing that a computer undertakes, from interpreting the command to instructing the right peripherals to result in “Hello World” appearing [typically] on the computer screen, we grasp in that instance the power of abstraction.
IT is all about abstraction, with many advances ultimately being about introducing higher levels of abstraction or offering a new perspective on an existing level of abstraction.
As we consider cloud computing, abstractions abound, whether we think of it in terms of infrastructure, platforms or applications we are seeing entities that we readily recognize being abstracted as a set of services.
More exciting is the change in context we can expect as our knowledge around cloud computing matures. Specifically in the realm of PaaS, I see us moving from a container-centric perspective to an application-centric perspective. Currently the container is king, we think about setting up app servers to host our applications, with clouds the app will eventually become king, were we think of running an application in the cloud, and focus more on how we want the app to behave, rather than the topology of components (web servers, app servers, databases etc) required to enable the application to behave the way we want. In this near future that is all abstracted by the cloud.
While we will see and already seeing this future materialize in public cloud offerings, the impact on enterprise data centers that will host private clouds, and the approach enterprises will take to developing and running applications will be much more profound.
I’ve seen the future and the forecast is cloudy.