How cloud computing is implemented with examples of some major cloud computing vendors
The implementations described here are not the only ones. Lots of major events (both public and private) are happening bringing more and more players including the US Government (Read about Apps.gov here: http://www.informationweek.com/blog/main/archives/2009/11/uncle_sams_2442.html;jsessionid=UIWZYUIKFNJ1LQE1GHPSKHWATMY32JVN?queryText=app.gov), to the field as this line is written. The implementations described here are highlighted just to indicate how different the cloud offerings could be, and show the paths they have pursued.
Amazon Web Services
Amazon Web Services through its Amazon Elastic Compute Cloud (EC2) offered customers dynamically scaled computer infrastructure for running their application programs, thus offering infrastructure as a service. The term elastic came about by the ease with which the user can create, launch, and terminate the active virtual server instances used in running the programs. To be elastic there was built-in redundancy in the resources and automated scaling, which tracked the load.
Also, to cater to wide-scale adoption, there were a number of sizes the users could choose; from small instances to High-CPU extra-large instances. The applications could run on a computing platform that the customer can choose from, which can be accessed by a web service (one of many Amazon Web Services). Although, EC2 supported Linux operating system in the beginning, it rapidly added other platforms such as Open Solaris and Solaris Express Community Edition and even Windows. By adding Windows OS (2003 and 2008 Servers) it provided full support for all Microsoft applications (ASP.NET, AJAX, Silverlight, and so on) to be hosted on EC2 with data originating in SQL Server Express and SQL Server 2008 server (http://aws.amazon.com/windows/) instances. EC2 by itself had only temporary storage for data but later added Simple Storage Service (S3) and Elastic Block storage (EBS) for persisting data (http://news.cnet.com/8301-10784_3-9917948-7.html).
The 'Elasticity' of this cloud computing was further enhanced by Elastic IP, Elastic-load balancing, and a reliable monitoring service in the form of Amazon Cloud Watch. Most recently, Amazon added a relational database as a service (http://aws.amazon.com/rds/) by adding MySQL to its roster of web service offerings, accessible by simple API calls, which could work with EC2.
SalesForce.com
Force.com (Salesforce.com) has a secure, reliable, and fast cloud infrastructure spanning two continents with more than 60,000 businesses running a myriad of applications. This was a model of Software as a Service. Whereas, the keyword to describe Amazon Web Services was 'elastic', the keyword here is 'real-time'.
SalesForce.com has a multitenant architecture with tenants sharing a single copy of the program customized to their specific needs. It has an ISO 27001 security certification, which is trusted by financial and health services; reliable data centers with backup and disaster recovery plans; high scalability, real-time query optimizer, real-time status information, and real-time upgrades. The sharing model allows companies on Salesforce to communicate and share data with each other leveraging the multitenant, single core architecture. Reliability is increased with a redundant network bone.
Furthermore, Force.com (SalesForce) allows integration of almost anything with anything that includes most vendor products such as Google, Oracle, Twitter, Microsoft, and many more to mention just a few. Although it is possible to build custom applications, there is also the AppExchange, which provides hundreds of pre-built business components that can be used without reinventing the wheel. Force.com (SalesForce) also provides components for bridging with other clouds such as Amazon Web Services, Google AppEngine, and others.
For development purposes a sandbox environment is available, which can be created with a single-click. It boasts of programmable UI's, programmable logic, website development, real-time analytics, and so on. Video demos can be viewed here: http://www.salesforce.com/platform/cloud-platform/database.jsp.
Google's App Engine (http://code.google.com/appengine/) Platform leverages Google's infrastructure to run Google's web applications as a Service. The configuration allows public as well as authenticated access to these resources. The tagline is "easy to build, easy to maintain, easy to scale". The Google App Engine's infrastructure handles all of the storage, distribution, replication, load balancing, and a few more. All of these activities are accessible by a simple API. The platform supports a powerful query engine as well as transactional processing support, key elements for commerce. The programming languages supported are python and java runtime but any language that uses a JVM-based interpreter or compiler (JavaScript, Ruby) can be used.
The storage of data is not in a relational database and therefore, SQL is not used but a Google Specific Query Language (GQL) is (http://code.google.com/appengine/docs/python/datastore/gqlreference.html). The nice thing about the Google model is you can get started for free with some 500MB of storage with enough bandwidth to serve a couple of million page views a month (as advertised). Even using the paid service is on pay-per-use basis. It also has an authenticating and e-mailing service as well as providing a local developmental environment.
Microsoft
Microsoft entered this area relatively late but directed a lot of its effort to branch out into this important business area very quickly and thus Microsoft Azure was born. The Microsoft Azure platform in Microsoft Data Centers spans three continents North America, Europe, and East Asia. Microsoft Azure not only makes available this humongous infrastructure but also provides its signature software products; Windows Servers; SQL Server; and components of .NET Framework. It is, therefore, both infrastructure and software as service. It is, in fact, heading towards offering its entire framework as service. Framework as a service would offer not only the extensibility of the platform for years to come but also leverages the regular enhancements made to the framework on which the Windows Azure is based. On the downside one gets locked into proprietary service.
The Azure platform is resting on three pillars, the Windows Azure Services, the SQL Azure Services, and Azure AppFabric. The Azure platform not only caters to cloud-based applications but also to applications that run on premises. Services that run part in the cloud and part on-premises are called hybrid services and the Azure Platform lends itself easily to create such services. The Azure platform is structured to be developer-friendly, and can be leveraged by desktop, web, and mobile devices using many of the programming languages such as PHP, Ruby, and so on in addition to Microsoft's VB, C#, and F#. As the software programs that work with the Azure platform are not limited to those that are Microsoft-Specific, the adaptability is much more general. As the accessibility uses Open Internet standards, clients can be on any platform. The main concerns that are being looked into are related to security and privacy as for any of the cloud offerings, however there are many ways the Windows Azure platform is made secure using encrypted transport, firewalls, and so on. Identity verification and user access based on Security Assertion Markup Language (SAML) tokens mitigate some of these concerns. However, for the hardcore control freaks Microsoft is offering the Windows Azure Appliance where security is now the user's concern.
More in-depth discussion of security is described in the following video, which is a must if you want to understand how Windows Azure security looks under the hood (http://technet.microsoft.com/en-us/edge/security-talk-windows-azure-security-a-peek-under-the-hood.aspx?query=1).
Review the case study of a late 2009 implemented business solution using Microsoft Azure components at: http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000005882.
Also review this note about small business profiting by moving to cloud, http://howto.techworld.com/sme/3211586/how-to-move-your-small-business-to-the-cloud/.
On a practical footing, the Azure Platform, its hardware and software are physically located in the various Microsoft data centers: http://news.cnet.com/8301-10805_3-10277976-75.html.
Even as the various cloud paradigms (IaaS, PaaS, and SaaS) were developing, cloud computing has evolved to produce more varied patterns. Private clouds have emerged to satisfy the special requirements of certain industries (http://cloudstoragestrategy.com/2009/03/bechtel-harnesses-the-cloud-a-case-study-in-service-delivery.html) and even Microsoft will be launching its Windows Azure Appliance to address that possible growth area.
The following table shows at a glance some of the differences between the cloud offerings by these vendors:
Feature |
Amazon |
|
Microsoft |
SalesForce(Force.com) |
---|---|---|---|---|
Name |
AWS
|
GAE (Google AppEngine)
|
Windows Azure
|
|
Genre |
Infrastructure as Service (EC2) IaaS |
Application as Service AaaS |
Platform as Service PaaS *Future ITaaS |
Software as Service SaaS |
Status of business |
Strong on traffic patterns and metrics Recently added some free services for limited periods |
Small to enterprise, also some free services with limited access to resources |
Presently developers and small businesses |
Over 60000 users (at the beginning of this writing) health care and Financial |
Target |
Those who are yearning for hardware resources and manage their software including programming |
Free to start and pay as you go. Small to big businesses such as eBay. |
Small Business but appears Enterprise end is waiting at door step |
Enterprise as well as Small Business |
Motivation |
Derive revenue from its (AMZN) Capacity and more |
Enhance revenue from Ads. Push Ads revenue idea to App Builders |
Move Office, SharePoint, and .NET Framework | |
Database support |
MySQL Amazon SimpleDB Amazon Relational Database Services SQL Server 2008 SQL Express |
Non-relational distributed data storage with query engine and transaction support Gmail query language |
SQL Azure relational data storage and Storage Service for non-relational data. Tools to migrate MySQL and MS Access are presently available and Fox Pro may be added in the future. |
Force.com object-based database using APEX language. |
Development Environment |
Free to choose, Eclipse Platform, .NET |
Full featured web-based AppEngine simulated environment on developers' computer |
Windows Azure simulated sandbox environment on developers' computer with almost 90 percent of full features using Visual Studio |
Single-click Sandbox for development using Eclipse IDE |
Programming Language Support |
Ruby, Python, or Java (jar) |
Java, Python, and any language supported by JVM |
.NET languages (VB,C#,F#), Ruby, Java, PHP, and Perl |
Most of the programming languages |
Platform |
Linux/UNIX, SUSE Linux, Windows Server, or Amazon VPC. |
Not very much known about hardware |
Windows Server 2008 |
APEX code, VisualForce using traditional MVC paradigm. |
ITaaS combines IaaS, PaaS, and SaaS, review this link: http://www.cloudcentered.com/microsoft-confirms-again-that-azure-will-have