The chief of open source data center automation company Puppet Labs has said that developers should exercise caution before jumping on the cloud computing bandwagon.
Emphasizing that deployment in the cloud doesn't remove the need to consider traditional application architecture issues like scaling, redundancy, security, and performance, Puppet Labs CEO Luke Kanies insists that cloud applications can often present the traditional performance and scaling perils of a physical infrastructure.
"The performance characteristics of the cloud can even inhibit your ability to scale. These limitations can also result in application architecture being designed around the cloud's shortfalls rather than in an optimal manner," said Kanies.
Developers need to remember that one of the great benefits of cloud computing is portability and that application architecture must be designed to be flexible, says the Puppet Labs boss. Kanies suggests that this allows workloads to be migrated from private cloud to public cloud and back, which inevitably maximizes the potential cost and performance benefits.
"In light of recent cloud outages, cloud marketing may also be giving developers and businesses a false sense of security about the availability of their applications. Cloud platforms are generally built to be robust and redundant, but it is still infrastructure — and infrastructure faults can mean business outages. Deploying on cloud platforms doesn't mean developers can get away with designing applications that are not robust and redundant," said Kanies.
Puppet Labs also hints at similar issues with managing security in the cloud. Echoing the mantra much repeated by cloud providers themselves, the company says that applications deployed in the cloud require the same security architecture and testing as applications deployed in-house.
"Cloud computing represents a great way to save money and speed up your deployments, but deploying your applications there is not without risk. Developers should keep in mind that many of the challenges of traditional application development still exist in the cloud and need to be considered," said Kanies.