News Stay informed about the latest enterprise technology news and product updates.

Application development in the cloud: Try it, but watch the SLAs

Cloud computing vendors' service-level agreements (SLAs) aren't up to mission-critical standards yet, according to Eugene Ciurana, a speaker at The Server Side Java Symposium in Las Vegas this week. "It's hard for a business to decide to move full-tilt to the cloud until there is enough reliability," he said. Even so, there are opportunities for developers and enterprises to improve productivity and reduce costs by using what cloud computing has to offer today.

Cuirana offers advice on application development in cloud environments in this interview. Ciurana is director of systems infrastructure at LeapFrog Enterprises, a large U.S. educational toy company, as well as a contributor to The Server Side and Java, Linux and OS X open source projects. At the Java Symposium, he'll present a case study of a mission-critical application in a cloud environment, discussing how to choose a cloud vendor, what to look for in SLAs and managing development in the cloud.

Who will be and who should be the early adopters of cloud computing?
Anybody with a need to make data and processing available to a large number of users is a good candidate. Software development organizations will be among the first because they have a vested interest in making it work, but they are only marginally more likely than other organizations to adopt it. At this stage it looks like most early adopters are putting non-mission-critical, consumer-facing applications on the cloud. CDNs [content delivery networks] are a good example of this. What needs to happen in cloud computing technologies for development projects for massive applications to thrive there?
Eliminate the buzzwords. Cloud computing doesn't mean anything. Establish whether the offering is infrastructural, Software as a Service (SaaS) or Platform as a Service (PaaS). Provide credible SLAs and back them up with data. Underpromise and overdeliver. Provide better monitoring tools -- i.e., transparency -- for the environments. Amazon Web Services is quite good at that. Google App Engine, on the other hand, is rather opaque. Salesforce is in between. Make it easy to monitor and manage the environments. Let's say a software development firm wants to run a pilot on the cloud. What are some good options? Should one part of a project be placed on the cloud for starters?
I'd put the entire project on the cloud. That's the only way to find out how viable an option it is. I'd also be the first to pull it off the cloud if the operational, runtime and performance SLAs aren't met. Is deployment where the biggest value of cloud computing is realized? It seems like roll-out would be tremendously simplified.
Yes, staging and production are where you need maximum scalability, redundancy and availability ... the cornerstones of most cloud offerings. That's why I don't think they are as relevant for quality assurance or development. Quick turnaround and unfettered access to the system are more relevant to these groups. Let's look at virtualization and cloud computing. Should a development lab be fully virtualized before development is ported to the cloud?
It shouldn't matter. The applications can largely run in local virtual environments, or dedicated clones like the Eucalyptus setup is to Amazon Web Services. As long as the APIs don't change, and as long as basic application profiling is equivalent, then development and QA can happen in a local virtual environment, and only staging and production should go to the cloud. Couldn't a development department save enough money by virtualizing a lab to lessen the need for using the cloud also?
It's hard to tell. Developers still need to have local development environments on their desktops and use a cloud-like environment for integration with other application components. Perhaps the savings kick in when migrating environments to QA and onward.

Dig Deeper on Cloud application development

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.