Like its ancestors; “what is client/server?” and “what is SOA?”, questions like “what is cloud computing?” are already attracting numerous marketing based answers, discussions and blogs. Here we’ll try to put a clear and simple label on cloud computing. Feel free to help us adjust this with your comments.
Cloud computing is the evolution and convergence of a number of fast maturing market threads; virtualization, utility computing and software as a service (SaaS). While cloud computing already extends beyond the sum of these three, they represent the core of what is fast becoming the most disruptive computing model of the 2000′s.
Virtualization – abstracts away from the underlying hardware technology and provides a complete software interface to interact and manage all aspects of physical hardware representation.
Utility computing – provide access to computing resource on a pay-as-you-go model without the need to invest in the capital to build your own computing infrastructure (not unlike utility companies that produce, distribute and sell electricity).
SaaS – deliver business application functionally over the web at a subscription rate without the need to buy or install software licenses
These concepts combine in cloud computing to provide transparent access to required computing software and hardware services on a pay-as-you-go model. While there are numerous technical and commercial twists in the different cloud offerings on the market the following principles should be common to cloud based solutions:
No requirement to operate or even understand in detail the underlying hardware technology or core software operating platform - you are abstracted away from the technical complexity of servers, routers, switches, etc.
You access the cloud service only when you need it and are only charged for your use - pay-as-you-go model
You access cloud services that represent some unit of business input or value to you – underlying transactions, protocols and messaging are hidden in the cloud
You do not require proprietary software or protocols to use cloud services integrated into your existing business applications domain – everything should be transparently available to existing development methods and practices (JEE, Web 2.0, SOA, etc.)
You can choose to run cloud computing on your own site and infrastructure, on external hosted resources or on some combination of the two – mix and match onsite versus remote cloud operations
As you explore the benefits of cloud computing to your organization these simple principles will help you test your requirements against the declared offerings of your selected vendors (including Sensible Cloud). You should thoroughly test the cloud offering against many or all of them.