If phase one of the cloud is to virtualize the infrastructure, can we consider phase 2 the convergence of the infrastructure into a single entity from which the virtulization layer can consume resources?If that's the case, at which point does security get converged into the infrastructure as well, or will that be something that happens at the layer of software?

While one can never pinpoint how things will be in the future, it was beginning to seem more and more likely that the need for hardware / systems folks would diminish, and the need for more software folks would continue to increase. And while this initially sounds like great news to lots and lots of developers around the US, the honest truth is that most of the development work seen in today's products does not take happen by people in the US. There are countless sites online that will allow you to request a development project for dirt cheap and have hundreds of develops respond, freelancing and willing to undercut prices without sacrificing much in the way of quality.

It was originally my thought process that the world of technology would continue to move more and more so in the direction of things like Facebook and Twitter, that are pretty good examples of not only "cloud computing" but also the consumerization of IT. Users can access these services from any device, anywhere, and still enjoy mostly the same user experience. With technologies like this and the conintual advancement of standards (thinking HTML 5 here), it's hard to see a world where web applications won't take over and be the "big player" in the space of providing users with access to information (which is essentially the purpose of an application).

But then you look to the visionary companies like VMware (and in my mind, mostly VMware) who have laid out a vision of automation, super easy management, self provisioning, self "balancing" of resource loads, and "higher in the stack" virtualization of things like applications, and even delivery mechanisms of said applications through only an end user browser, which again, exists on all common devices these days.

So is the benefit really found in developing web applications, when you know that its likely easier to provide the end user with the kind of interactive application you're thinking of in mind, and being able to maintain that user experience but still delivering it through the browser?

It's hard to also overlook the ability for other companies out there to deliver applications with excellent end user experiences-- Citrix is a great example of this. But the thing that Citrix has failed to do is to take things beyond where they've already been. How long has it been since applications were able to be delivered from other devices in the data center with great end user experience-- 12 years now? Why is it that in over a decade, a company that was so clearly positioned for an easy "cloud victory" is now not only out of "first place" but also clearly falling behind in the vision and planning of the industry's direction moving forward?

So if you had a young child today, who had the aspirations of going into the same field as you, which direction would yo usteer them? It's hard to think that the world WON'T need hardware people, but the idea here is that once the hardware gets to a point where it's all available in a single, simple to manage stack, that the jobs will be had by the large companies offering said hardware, and the rest of the magic will have to take place through the software.

But if you take them in the direction of software, which way do they go "Fat" applications that are natively installed upon an assortment of Opearting Systems? Do they build applications that are intended to be virtualized, which makes it easier for things like ThinApp to get successful packages to turn around and deliver via a myriad of technologies? DO you steer them into web application development?

How does someone really prepare themselves for such a fundamental and transformational change in their industry? This is clearly a great time to be a part of the technology space, and the amount of knowledge that can be gained is quite literally endless. The more I learn the less I feel like I really know in the grand scheme of things. But should my time be spent learning web application frames like Ruby on Rails? Should it be spent digging into the deepest details of technologies like vSphere, XenApp/XenDesktop, Cisco UCS, and all the related networking? How do traditional companies get from where they are today to the true vision of the cloud? You've got to think that the vision of the cloud for said business needs to exist first-- likely from the CIO/CTO. How about services companies? Should they begin "building the cloud" now? When/if most companies decide to embrace the cloud fully, how long until that market is completely saturated and becomes nothing more than a commodity, where the profits and prices are truly on a race to the bottom? When is it time to truly and fundamentally change direction?

In order to achieve the "cloud dream" we continue to hear time and time again, the CIO/CTO needs to have that vision. Or, what's likely to be common for groups like ours, is that WE have that vision, the understanding of how to get from where things are today to where they need to be to align with that vision, and the capability to make it happen. Things that need to take place for this are 1. you must know what your current costs are to run the virtual workloads in the data center on premise. 2. know what kind of security/compliance requirements you have in place so that you can better determine WHO you can use as a cloud partner if you decide to go public cloud. 3. you need the ability to populate the destination cloud with your data in a manner that's secure, and not time consuming. 4. once the data is there, you need to be able to monitor, and use it to run your virtual workloads, store your files, provide redundant copies of data, etc.

5. you must also be able to run your workloads locally, as the bandwidth available today is not likely enough to handle the kind of performance requirements user requires for file access, OR you can run some kind of virtual delivery solution to allow the data to exist next to the server in which the user is currently logged into with a session. 6. you must be able to have your data available somewhere else, and if possible, in an active / active configuration so that you can spread the load, have grater scale, and be protected against environmental disasters, terrorism, etc.

The steps to get to the cloud: 1. Virtualize your workloads. 2. Calculate the price per virtual machine. 3. Determine security requirements / compliance necessities. 4. Begin to replicate your data to the Cloud (which in this case can be public or private). 5. Once in place, deliver the data through an additional virtualized mechanism using technologies like XenApp, VMware View, App Blast, etc. so that performance is acceptable regardless of end user location. 6. Move towards an active/active data model in which on premise and off premise clouds can be used simultaneously to scale, survive disaster/environmental/acts of terrorism. 7. Monetize the access to your applications/data through chargeback type services.

Once you get to this point, you have to decide if rebuilding your current line of business applications to better fit this  "cloud" model is the right direction to move, as it's likely things like App Blast and XenApp will have eliminated the need to worry about having "thick" client applications. Is it better to rewrite it all as web based application where any device with a browse scan hop in and function with quality?