The cloud is a technology convergence that makes a new way of computing possible. In one sense, it's simply a new way of distributing low cost CPU cycles. But it also seems to me that the gains in economies of scale for running software in the cloud also apply to developing software for the cloud.
The cloud is a technology convergence that makes a new way of computing possible. In one sense, it's simply a new way of distributing low cost CPU cycles. But it also seems to me that the gains in economies of scale for running software in the cloud also apply to developing software for the cloud.It may not work that way for everybody but the potential is clearly there. Salesforce.com says customers who develop on its platform can do so at a pace four times as fast as traditional software development. That's because database and other services are built into the platform. Best practices are well established and documented for newcomers to follow. To some extent, they have to be followed. Choices are limited so that Salesforce is assured that the software composed beyond its purview conforms to its platform and won't disrupt it. Force.com applications run in the same data centers as Salesforce.com CRM applications.
That's an example of the new order imposed on what were sometimes loosely disciplined or chaotic development practices in the real world. It has so far remained a relatively limited example - only a subset of Salesforce customers engage in the use of Apex and Visual Force to produce new apps. Nevertheless, there are forces afoot that guarantee that's about to change.
The Spring Framework was a simplifying and clarifying force for Java programmers when it first appeared on the scene in October 2002. It allowed them to stick to plain old Java objects instead of learning the many APIs and complexities of Java Enterprise Edition. The underlying framework could supply those APIs and the expertise to produce Enterprise Java Bean-like connectivity and function. The plumbing was built in and didn't need to be hand-crafted by every Java developer.
Now SpringSource is part of VMware, and under that mantle it has proceeded to acquire Rabbit Technologies, a supplier of a reliable message queuing service, and GemStone Technologies, a supplier of in memory caching for application performance. What's the leading virtualization software supplier doing with all this development stuff?
The answer, I think, is that VMware sees commanding the next generation of cloud applications as a likely avenue to seeing its virtual machines deployed in the cloud itself. Today, two of the leading cloud infrastructure suppliers, Microsoft, with its Azure cloud, and Amazon Web Services with its EC2, are not interested in running VMware virtual machines. But there's a second generation of cloud infrastructure providers coming along who are: Verizon Business Computing as a Service, RightScale as a front end to other cloud providers, Terremark, Hosting.com, Savvis and AT&T's Synaptic Compute Cloud.
If VMware succeeds in seeding these clouds with virtualization management software, self provisioning and chargeback, then it is likely to supply them with a growing list of customers as well as Java developers make use of the Spring Framework. As SpringSource helps developers succeed with their next generation of applications, it helps VMware succeed in the cloud.
Microsoft itself possesses a powerful base of supplying easy to use development tools that command the loyalties of millions of developers. It's "all in" on the cloud because cloud computing is coming, whether it likes it or not, and Microsoft can embed development advantages into its cloud that others will find difficult to match. Visual Studio already has cooperative elements that work in Azure and collaborative database services that work between Azure and SQL Server in the enterprise.
Development can simplify and speed up in the cloud when the planned deployment will occur to the same environment where the development takes place.
As cloud computing moves into this new phase, it poses a problem for the cloud suppliers who got us this far. Amazon's pioneering EC2 brought a new level of integration to end users. They didn't have to worry about configuring servers or configuring storage when they needed more compute power. All they had to do was select the size they wanted, small, medium or large, and EC2 handled the integration.
The next phase, to me, is when development gets incorporated into particular cloud environments. One way of describing the result is framework as a service, although you won't find that on NIST's list of cloud definitions. But development is moving into the cloud, as evidenced by VMware's expansions and Microsoft's moves. There's a growing list of development specialists as well, such as Heroku's cloud services for Ruby on Rails developers.
VMware sensed this possibility without fully articulating it when it acquired SpringSource last year. Now it's connected with Salesforce to gain cloud data centers as its development strategy begins to take hold. VMforce, announced two weeks ago, united what PiperJaffrey called two of the top three cloud vendors of the future. That alliance has gone somewhat under-remarked for the giant step forward that it represents.
Development in the cloud is not yet a fully realized service nor an acceptable way of doing things on many IT staffs. But before the new decade is out, we'll wonder how we did it any other way.
Network Computing has published a report on what happens when the Internet meets critical applications. Download the report here (registration required).
How Enterprises Are Attacking the IT Security EnterpriseTo learn more about what organizations are doing to tackle attacks and threats we surveyed a group of 300 IT and infosec professionals to find out what their biggest IT security challenges are and what they're doing to defend against today's threats. Download the report to see what they're saying.
IT Strategies to Conquer the CloudChances are your organization is adopting cloud computing in one way or another -- or in multiple ways. Understanding the skills you need and how cloud affects IT operations and networking will help you adapt.