The term has taken on so many meanings, it’s more of a high-minded technology concept than anything else. But “cloud computing” is beginning to impact development teams in some down-to-earth ways. Three key things are happening:
First, teams are turning to cloud services like Amazon EC2, among others, to test new applications quickly and cheaply, thereby circumventing IT, said Forrester Research senior analyst Mike Gualtieri.
Second, developers are writing various types of mini apps designed to run on cloud-based instances instead of on-premise servers. “They are dabbling with non-critical applications outside their enterprise, and there is a whole lot of experimentation going on,” said Jay Jarrell, president and CEO of Objectivity, which makes software for data management.
Third, as developers experiment with the cloud, they are beginning to tap into the growing array of APIs and services cloud providers offer. There are tools for storage, message queues, payment services, Web fulfillment, load balancing, and more, said Mike Rozlog, product manager of Delphi solutions for development toolmaker Embarcadero. “The cloud is enticing for developers; there’s a whole productivity aspect to it.”
Here’s a look at some of the ways in which development teams are interacting with the cloud today.
Chief among the benefits of cloud computing for development teams is fast, inexpensive access to server resources for testing, said Gualtieri. Instead of relying on IT operations to set up on-premise test environments, teams rent virtual servers from a cloud computing service provider, paying pennies per hour per server instance.
This approach saves money and time and is more flexible than traditional test setups, he said. “Developers can make an end run around IT, which has traditionally maintained tight control over servers.” And because cloud-based testing projects run for a limited time period, serious cost savings can be realized.
“In big companies, chargeback [for a server-based test environment] can run as much as US$10,000 a month. It’s insane,” Gualtieri said. What’s more, cloud-based testing makes it easy to configure (and reconfigure) the environment any way you want during the test process. “You specify different operating systems and different databases,” he said.
Testing apps in the cloud is quick way to pull in additional resources, added Jay Fry, vice president of marketing for the cloud computing business at CA Technologies. “The cost is low enough that a huge percentage of employees have some interaction with the cloud without management knowing it.”
Reach out to customers, and cool startups
A host of cloud apps under development today “expand the use of on-premise apps to the end consumer,” said Colleen Smith, vice president of Software-as-a-Service for development tool company Progress Software. “The cloud applications are standalone, but they integrate with core on-premise systems, such as CRM, ERP and finance.”
She gave some examples: A state government agency sets up an application enabling residents to pay parking and speeding tickets online; a manufacturer of home appliances builds a website that lets customers claim a rebate; a consumer product firm develops a cloud app to interact with customers impacted by a product recall.
“Apps like this are ‘one-off’ websites,” added Embarcadero’s Rozlog. “They push information to consumers and solicit feedback, and it makes sense to put them on the cloud.”
Another natural fit are “cool startups” that can take advantage of the cloud’s so-called “elasticity”—its ability to scale up quickly to meet demand and drop back easily when usage falls, said Forrester’s Gualtieri. He offered two examples: Zynga, best known for Farmville, a real-time simulation game where players manage a virtual farm; and Animoto, a website that makes it easy for users to create professional-looking videos from their photos and video clips.
Applications like these experience dramatic ups and down in usage, and thanks to monitoring mechanisms that measure traffic, the cloud can stretch or shrink to accommodate them, he said. “Imagine if these startups needed to buy enough servers to accommodate [top usage scenarios].”
That’s unlikely to really happen, said Objectivity’s Jarrell. Startups like these aren’t possible without cloud infrastructures because investors aren’t prepared to bankroll them, he said. “They don’t want to give these companies the money to buy servers.”
Changes in computing
Apps with simple but resource-intensive workloads are another significant use case for cloud computing, said Fausto Bernardini, director of cloud services enablement for IBM Global Technology Services. He offered an example: an application that analyzes genetic data to spot trends. It isn’t large enough to require the resources of a supercomputer, but workloads tend to spike up and down, he said. “You may run it as often as once a night, so from a cost standpoint, it makes sense to put these apps on the cloud.”
As development teams turn to cloud-based testing and dabble in application development, they are deepening their involvement with the cloud. “It starts with saying, ‘Okay, I’ll simulate 50 servers to do some benchmark testing,’ ” said Rozlog. “Then they check out some of the development tools the cloud makes available and ask themselves, ‘Do I build [this service] myself, or just go to [the cloud] and set up an instance of it?’ ” The answer is obvious, he said. “It’s out there, there’s good uptime and the cost is low.”
Another benefit of these cloud-based tools is that developers can use them without having to sign long-term licensing agreements, added IBM’s Bernardini.
Forrester’s Gualtieri cautioned that cloud application development remains very much in the experimental stage. Development teams may be designing small apps, but they are not building enterprise, database-intensive applications designed to run on the cloud, he said. A key hurdle is to get over concerns about relational databases. They don’t map well to the cloud because they are difficult to split up, he said. “The industry is working on this. We are in the process of solving that problem.”
Nonetheless, in the next five years, all apps will be cloud apps, predicted Rozlog. “For now, we are just experimenting, but we are going for the cloud in a big way.”