BANGALORE, INDIA: The concept of Cloud Computing is rapidly becoming popular amongst enterprises that realize the benefits of shared infrastructure, lowered costs and minimal management overheads. Though, Cloud services are being offered in various forms, you can have your own “private cloud” either hosted off-premise with a service provider or have it within you own. Most people think that Cloud is just virtualization that has been extended to be off-premise.
The main difference between Cloud and virtualization is that the objective of a Cloud is to automate provisioning of resources while the basis of virtualization is resource utilization and optimization. Most service providers use virtualization as basis of forming a cloud infrastructure; but it is the enablement of auto-provisioning feature that brings in the true essence of a Cloud and with it the concepts of SaaS, PaaS and IaaS.
Cloud Computing environs
Google, Microsoft and Amazon; all provide cloud computing environments from where you can run your organizational applications onto the cloud. But, before we talk about the various cloud computing platforms available, let's first describe the laundry of acronyms for different types of cloud computing platforms.
SaaS – Software as a Service : The basic idea behind Software as a Service is simple. It's based on the concept of renting an entire finished application from a service provider rather than buying, installing and running that software. The application exists on the cloud and can be consumed from any web browser. The CRM application suite from Salesforce.com falls under this terminology. PaaS – Platform as a Service: PaaS is all about providing a platform where one can get the compute power, storage and networking infrastructure as a service via public Internet upon which applications can be developed and executed. PaaS environments offer runtime environment for compiled application code, which means just the application code requires to be uploaded and it will be compiled, configured and started from within the cloud environment. A PaaS environment caters more to a developer than the infrastructure architect. PaaS vendors may provide an Integrated Development Environment (IDE) that allows developers for offline development of the application by emulating the cloud runtime environment and also provide with tools that can package up the application and deploy that on the PaaS cloud environment from within the IDE. Microsoft Azure and Google App Engine exist in this space.
IaaS – Infrastructure as a Service: The intention here is to offer computing and storage capability on demand. Though, the difference between this and above two is that IaaS vendors deploy virtualization technologies to provide the compute power. In case of PaaS you have access to an environment upon which applications could be deployed. But with IaaS you create a virtual machine which could have your application and all other things required by the application rather than being restricted to a certain development environment. You can have your choice of an OS image, development environment and host it on the IaaS vendor infrastructure.
What to move over cloud?
Security of application and data plus adherence to compliance seems to be the leading hindrance in adoption of cloud computing platform. Other points that should be kept in mind before considering cloud services include seamless integration with current setup, and control over data movement and monitoring as data and application of your organization is being hosted on the service provider's data center. Therefore the decision about what should be moved to cloud is critical. Let us try to explain this with help of an example. If a bank decides to leverage cloud capabilities then it is advisable not to move core banking application over public cloud and even if private cloud is used proper security measures should be taken. Instead they should move only those applications on the cloud that need a lot of computing power in short bursts of time for analysis. Organizations just need to provision extra computing power from cloud without worrying about management.
Be it Microsoft Azure, Google App Engine or Amazon Elastic Cloud, all these cloud computing systems have been designed to provide facilities required to support the complete life cycle of building and delivering software applications and making them available over the Internet. However, before any organization would like to invest on transferring their existing business application or to build new ones onto the cloud, they would be more interested in knowing which platform would be feasible and suit their needs..
Microsoft's Azure
Among the three cloud service platforms we shall touch upon, this is directly comparable to Google's App Engine. On same lines as App Engine, Azure also provides environment for building applications for the cloud (PaaS) plus providing finished applications as service over the cloud (SaaS). From development point of view, building applications in Azure environment would be much easier as most of the IDEs used by developers are now capable of developing and testing applications for cloud. One more point worth mentioning is that Azure when compared with App Engine supports more languages and on top of it popular relational database support is also present.
SQL Azure is the relational database service that can be used and is similar to SQL, plus there is no need to install and manage it on-premises, One can use both existing SQL and SQL Azure for their business. Azure AppFabric is an interesting feature provided by Microsoft in Azure platform. This feature enables developers to connect applications and services in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server and a number of other platforms including Java, Ruby, PHP and others. It provides a Service Bus for connectivity across network and organizational boundaries, and Access Control for controlled access. Microsoft is marketing Azure as an OS for cloud that abstracts all the complexity and provides a simple interface to the user. Beyond providing cloud services, Microsoft is also planning to use data residing on cloud for business usage.
Google App Engine
Google App Engine is the cloud computing platform for developing and hosting web applications on Google's data centers. It is free up to a certain level of used resources. Fees are charged for additional storage, bandwidth, or CPU cycles required by the application. The supported programming environments that Google currently offers for App Engine are Python and Java, but there's no roadmap for future language support. For security purposes Google has ripped the file write features out of Python and Java, and on Java environment the applications are restricted from spawning new threads. App Engine is still in beta stage and not as mature as Microsoft Azure. Therefore, with App Engine you'll get limitations on CPU and storage. You have a file size limit of just 1MB; a serious drawback if your web application would contain audio or video files.
Unlike Azure, you are restricted to use Google's database, which is different from SQL Server offered by Azure. App Engine does not offer a relational database but a datastore, and for developers switching from RDBMS to datastore would require a paradigm shift while modelling their data.
App Engine is apt for those kind of applications that do not require write access onto the file system of hosted platform, as you get just read-only access with App Engine. So, from an organization's point of view, you can use App Engine as an extension to your existing business application to provide services on lines of web services, ie access information from the main application's database.
Amazon EC2
Of all three cloud services providers mentioned in this article Amazon is the only one that provides true IaaS, this inference is based on capability of Amazon's Elastic Compute Cloud or EC2 to allow users to use web service interfaces to launch instances with a variety of operating systems. EC2 also enables users to load these OSes with custom application environment plus gives them ability to manage network's access permissions and run image using as many or few systems as desired. A typical user of this service either chooses a pre-configured template image or can create own image (Amazon machine image) with all the necessary data, application and settings. EC2 allows users to select a configuration of memory, CPU, instance storage, and the boot partition size that is optimal for choosing an operating system and application. Here the choice of operating systems includes number of Linux distributions, Microsoft Windows Server and OpenSolaris. Security is provided using customizable firewall that controls network access between instances and if data is confidential then there is an option of the Amazon Virtual Private Cloud. One more feature of EC2 is Amazon Elastic Block Store (EBS) that offers persistent storage for Amazon EC2 instances.
Amazon EC2 also seamlessly supports number of other Amazon's web services like Simple Storage Service (Amazon S3), SimpleDB, and Amazon Simple Queue Service (Amazon SQS). Here S3 is a simple web interface through which any amount of data can be stored and retrieved anywhere from web. In S3, data is stored in form of objects and each of these object is stored in a bucket with a unique ID. Each bucket is stored in a particular region and does not leave assigned region without release. SimpleDB is a non-relational database while SQS is a hosted queue for storing messages as they travel between computers. By using Amazon SQS, developers can simply move data between distributed components of their applications that perform different tasks, without losing messages or requiring each component to be always available.
Rahul Sah, Sandeep Koul and Amrita Premrajan
Get most out of your technology infrastructure investments with Dell
About CIOL | Media Kit | Site Map | Contact Us | Help | Write to us | Jobs@CyberMedia | Privacy Policy
Copyright © CyberMedia India Online Ltd. All rights reserved. Usage of content from web site is subject to Terms and Conditions.