While nebulous in precise meaning, the phrase "cloud computing" is nevertheless making a distinct impact on the world of IT. More companies are taking on the cloud, which means more development teams have to deal with the cloud, define what it means and make it work for their applications.
According to the last TSS Java Trends survey, 34% of respondents are already in the cloud computing game, 17% are planning to invest within 18 months and 19% are considering cloud-based technologies, but with no immediate implementation plans on the horizon. From these numbers, it’s clear that many companies see the cloud as something valuable to the bottom line.
This quote comes from an article published on TheServerSide.com earlier this year about emerging cloud computing trends. It is fairly demonstrative of where cloud adoption stands now and where it's going. At the start of the year about a third of developers were using cloud based technologies and by the middle of next year, we may see the cloud users rise to about half of the development community.
This may mean that many application developers are taking advantage of quick and easy cloud-based development tools. For companies that are taking this route to the cloud, the actual development may remain fairly close to the way it is now. The tough changes will likely be the headache of operations folks who are in charge of deployment and runtime management, while developers are able to take advantage of cloud-based software (potentially software as a service) that makes life easier.
As Ryan Shriver pointed out to our own Cameron McKenzie, "Tools for source code control, continuous integration and automated testing have been around forever, long prior to the emergence of the cloud. But now, those tools are becoming easier to use than ever."
Platform as a Service (PaaS) is supposed to abstract the difficulties of infrastructure management away from the developers so they can focus on building better apps. However, some organizations may find more rewards in making deeper changes to the way they develop applications. In an article from SearchSOA.com, Java middleware expert Steve Millidge, explains that in order to really get the most advantage out of Infrastructure as a Service (IaaS), it's important for the developers to focus on service elasticity.
According to Millidge, one of the key factors for service elasticity in a cloud model is that "networking is dynamic. Servers come and go. Load balancers must be able to discover and use services dynamically." He warns against static typing, which developers would use in an on-premises data center with a known number of nodes. However, dynamic typing may be a challenge for some Java development teams.
Of course, Millidge is focused on a service-oriented architecture (SOA) approach. For organizations that haven't gotten into SOA, the route to the cloud may look very different. For more information on the cloud check out the cloud computing classroom at TheServerSide.com's Java University, which includes fifteen minute video lessons on:
- The future of private vs. public cloud: Key decision points for Java strategists
- How to achieve a state-of-the-art Java PaaS
- Preparing for the impact of cloud computing on enterprise architecture
- Scaling SOA services: New approaches to Elastic SOA in the cloud