Developers are always looking for, and sometimes making, the next tool that will simplify or eliminate steps in building an application. Abstractions are necessary for eliminating tedious and time consuming tasks. Cloud computing has proved to be a great tool for this. It simplifies the process of application development and deployment with higher level service capabilities. Miko Matsumura, deputy CTO of Software AG, explains how cloud computing will impact the future of software development in this exclusive interview with DZone.
DZone: What role does the virtualization of cloud computing play in the development and deployment of applications?
Miko Matsumura: Virtualization is a tremendous enablement technology for developers - it allows a huge network of computers to appear identical to that of the developer's personal computer and therefore provides the most developer-friendly abstraction layer for deployment that you can imagine - the deployment configuration simply goes away. In reality it doesn't "go away" but the infrastructure, whether outsourced or not, takes advantage of elastic scalability to provide seamless and potentially a very high ceiling to scaling performance.
DZone: People are always afraid of where their data is and who has access in the cloud. What are the risks (security or otherwise) of Cloud Computing?
Miko: Cloud computing like anything comes with a unique set of risks - but if I were to point to one that is most likely to be missed by present day best practices it would be the combination of low upfront cost with high elasticity and a very high ceiling on scalability. This means that it's easy for cloud apps to come into the Enterprise in "stealth mode" because they can start out very small. Because of elasticity and high upper bound scalability, there's a potential for cloud apps to grow much more massively than the previous generation of apps. So the disruptive power of cloud is much higher. People have always been bad at understanding the implications of exponential growth, and here's a platform designed to do exactly that.
DZone: Envision for me a future where Cloud Computing is used everywhere. Is such a future possible or likely? What do you think the future holds for Cloud Computing?
Miko: In a ubiquitous cloud computing future scenario, IT capabilities are outsourced on a massive scale into the cloud. I believe this future is not only likely but inevitable. However, the core function of Enterprise IT will remain to leverage both outsourced commodity functions as well as preserving IT functions that help the organization provide competitively differentiated services themselves. This will require a way of governing and composing a portfolio of capabilities both on and off-premise. Some would call this competency "SOA", but of course this term is unfashionable at the moment.
DZone asked Matsumurua if he had any final thoughts on what cloud computing means for developers. He said that cloud computing is a "wonderful boon" to developers. "It abstracts a lot of what is most tedious about Enterprise development - the intrusive quality of deployment descriptors and clustering code and other such nuisances," explains Matsumura. The centralization of these functions a dramatic improvement, he says, It's a dramatic improvement to centralize these functions. Matsumura said, "Let them be taken care of in the cloud."