When IT organizations think about the cloud readiness of an application, they think virtualization: They’ll just copy it from the server to a virtual machine, and they won’t have to change anything.
This “lift and shift” approach is the expectation when dealing with Infrastructure-as-a-Service. But when moving applications to a cloud platform, there are scenarios that can sabotage app availability and performance.
(Another take on Big Data in the cloud: Making M2M analytics a reality)
“In the [Platform-as-a-Service] world, there are a whole set of rules. People expect to have to change code,” said Ben Grubin, director of product management for Cloud Technology Partners, a consulting firm that this week is releasing to public beta its first software offering: PaaSLane, a static code-analysis tool for assessing the cloud readiness of applications.
PaaSLane, according to Grubin, finds all the locations in the code where there are issues, and offers remedies to make the code more cloud-ready for a specific cloud platform.
Among the issues applications face in the cloud that they don’t face in a data center is ephemeral storage. These, Grubin explained, are virtual disks that are made to come and go. In local server-hosted applications, if the storage went away, the application wouldn’t work. So, to make that application ready for the Amazon cloud (for instance), a developer would use S3 for storage and not instant storage, he said.
Another potential trouble area crops up if application components are tightly coupled. Grubin explained that locally hosted applications usually keep the components near each other, and they count on consistent network latency and addressability for RPC or Java RMI calls. “That’s not the way to go in the cloud,” he said. “You want a Service-Oriented Architecture, loose coupling, using REST calls or message queuing.”
PaaSLane currently has rules for moving Java and .NET applications to the cloud, with support for other languages such as PHP in the works, Grubin said. “The rules support all clouds because they are general principles. We add rules specific to Amazon or OpenStack or Azure, and allow customers to custom-write their own apps as well.”