There are already hundreds of major corporations leveraging Amazon EC2 and around one million small and medium business using Google Apps for business. Microsoft, Oracle and IBM all offer hosting of their products on Amazon EC2. The Cloud’s computing utilities enable a nimble start up to compete with the capacity of established competitors’ captive data centers. Cloud programming models promise to democratize the web, enabling end user application development that supports enterprise and even Internet scale applications. Let’s quickly take a look at the major benefits and challenges of this sea change in computing.
The most widely touted advantages provided by Amazon EC2 are very similar to those offered by traditional outsourced data centers that offer reduced costs for hardware processing, storage, bandwidth and software. The major difference with EC2-like infrastructure clouds is that they are available to any size firm, from an individual backing up their music collection to a major retailer. Unlike complex data center service agreements, EC2 services are pay by use. Finally, they can be accessed easily through a small number of web services.
It is important to note that Amazon also provides additional valuable application services for scalable websites, comparison shopping, billing and shipping. These latter services allow a new boutique store to look and function like an established merchant
It follows naturally that hosting the server side of your application in the cloud enables one to leverage the massive international infrastructure of the cloud provider. This brings benefits of backup, reduced latency, fault tolerance and the ability to support peak demands. While many large corporations have such capabilities, far too many small businesses face constant challenges in this area so it isn’t surprising to see SMB move to the cloud first.
Continuous Build and Test is considered best practice today. One of the limitations to more wide spread adoption has been the lack of available build servers. In some cases there are insufficient servers to test for performance. In other cases there was a lack of specific vendor hardware software configurations to test specific platform dependencies. Virtualization combined with cloud infrastructure provides a solution for both of these problems. A young Australian web developer asked his manager if they should stress test their new web application. He received an immediate yes until he explained that they would need at least 100 machines. At which point the manager asked if they could come in on the weekend and pool the development systems. Frustrated, the young developer used 1000 machines on Amazon to perform a stress
test, costing $700 for the 1 hour exercise. There should be no more excuses for not doing frequent and comprehensive continuous integration!
The ability to quickly build virtual business partnerships is a key competitive advantage. In a coopetition market place companies form multiple short lived partnerships to exploit rapidly emerging business opportunities and specific niche markets. A crucial success factor in such ventures is the ability to pool information about shared customers, resellers, service and support etc. While such capabilities have been promised by SOA the reality is that they are often inhibited by enterprise VPNs etc. Clouds such as Force.com enable partners to easily leverage each other’s CRM as well as access an emerging market of associated Force.com applications. Amazon provides similar benefits for retailers.
Despite the improvements in OO middleware by all vendors, it remains an unnecessary hardware and software tax that greatly complicates application development and deployment. The plethora of frameworks and tools is well beyond the reach of many experts let alone normal application developers. In many large companies the middleware legacy is becoming more of challenge than the mainframe legacy!
Published by ETH Zurich, Chair of Software Engineering ©JOT, 2009
0 Comments:
Post a Comment