Do You Know the Cloud? (from http://www.ebizq.net/topics/cloud_computing/features/11001.html)
By Pradeep Tapadiya, President and CEO, Software Labs , 02/19/2009
The idea of delivering information technology through a utility model is very promising. It has also started to become a reality with technology giants such as Amazon, Google and Microsoft providing the infrastructure and the platform to develop cloud-aware applications. Many enterprises have started to look into leveraging cloud computing infrastructure. However, cloud computing is still evolving and IT managers need to be aware of risks and challenges. This article explains the current status of infrastructure and platform from all the three major providers. I will also discuss ways to maximize the benefits of cloud computing while minimizing the risks.
Cloud computing is development and use of computer technology in which real-time scalable resources are provided as a service over the Internet. Typically these resources are provided as a pay-as-you-use model. Consumers do not own the infrastructure, helping them avoid capital expenditure.
Learn everything you need to know about cloud computing here.
Cloud classification Cloud computing services can be classified as Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). Infrastructure as a Service (IaaS): IaaS providers make it affordable to provision resources such as servers and storage. They also provide tools to monitor and manage resource usage. The most important benefit of IaaS is rapid provisioning. You can have a new server up and running in minutes. Platform as a Service (PaaS): PaaS providers make it easy for application developers to build and deploy their applications. PaaS cloud tries to hide the complexity of underlying IaaS cloud from developers. The most important benefit of PaaS platform is that you can get started with cloud application development with very small capital investment (sometimes free). Usually the development effort is also less as the plumbing for scalability, storage, etc. is provided by the platform. Software as a Server (SaaS): SaaS providers make their application hosted as a service provider to their customers on the Internet. Although the term SaaS predates cloud computing, cloud computing is making the SaaS model even stronger. SaaS providers can simply use PaaS and/or IaaS as the underlying technology, thus reducing their internal expenses and development efforts. The biggest advantage of SaaS is that it alleviates the customer’s burden of software installation and maintenance. Also, no additional hardware needs to be procured. Leading providers The number of cloud service providers is increasing each day. In this article, I will introduce three well-recognized names: Amazon, Google and Microsoft. Some other big names worth mentioning who also have an offering in the pipeline include IBM, Sun, and HP. Amazon Amazon is an IaaS provider. Its cloud is called Amazon Web Services (AWS). Two core services they provide are Simple Storage Services (S3) and Elastic Compute Cloud (EC2). S3 provides data storage at a cost of about 15 cents per gigabyte per month. EC2 provides computing power. Pricing is based on the type of computing power (measured in terms of EC2 compute units) and the amount of memory (measured in gigabytes) you need. A standard small instance, for example, is defined as 1.7G of memory, 1 EC2 compute unit, and 32-bit platform. A standard small instance, when used with Linux OS, would cost 10 cents per hour of usage. Rates are different for the U.S. and Europe. There are other pricing factors such as data transfers in and out of the cloud, database server to use, etc. that you must also consider. The complete price list, along with a pricing estimator, is available on Amazon. Google Google is a PaaS provider. Its cloud, named Google App Engine, provides a service that lets developers write Python-based application and host them on Google infrastructure. The platform provides dynamic web serving, data storage, and APIs to authenticate users and send emails. Currently, there is no fee for using the App Engine. However, there is a limit of 500MB of storage and up to 5 million page views a month. There are some other quotas and limits that are explained at their website. Microsoft Microsoft is a PaaS and a SaaS provider. Its PaaS offering, named Azure, provides an operating system (called Windows Azure) for application hosting, Microsoft SQL services for data storage, and a set of building blocks for developers. In future, Microsoft plans to offer Microsoft SharePoint services and Microsoft CRM services as well. Applications can be developed using the familiar Microsoft Visual Studio and deployed on Windows Azure. At present, services included in Azure are free. After the preview period, the pricing will be based on consumption-based model that includes factors such as compute time, bandwidth requirement, etc. Pricing has not yet been disclosed. As a SaaS provider, Microsoft intends to provide Dynamics CRM Online, Exchange Online, Office Communications Online and SharePoint online. Preparing for the cloud Does cloud computing fits into your company’s strategy? Before you get on the bandwagon, make sure that you evaluate the risks. Here are some issues that you may run into. Feasibility The architecture provided by the current cloud providers is dissimilar to common architecture for enterprise applications. In many cases, the functionality provided is very limited. It may not always be possible to migrate your existing enterprise application into the cloud. Google App Engine limits development to Python. Microsoft Azure provides a better set of development primitives. However, it is limited to .NET applications only. In terms of flexibility, Amazon is probably the best. It provides an empty image that you can put anything into. It also supports Windows and Linux operating systems. Cost effectiveness No capital expenditure combined with pay-as-you-go model looks very enticing. However, pricing varies based on many factors such as storage, computing power required, etc. However, you need do your own estimations. How much average disk space you require? What is the average processing power you need per month? How much is your network activity? Don’t believe in TCO numbers given by the cloud service providers. Another thing to think about is the cost of migrating your existing applications into the cloud. Finally, one thing that almost everyone ignores is the cost of quitting. If you are not happy with the current vendor and would like to move to a newer one, how much will it cost to convert your existing application to run on the new vendor’s architecture? Security Security is probably one of the top issues for moving to cloud. What measures have been taken by your vendor to ensure security of your vital business data — when stored in the cloud as well as when flowing over the Internet? What level of authentication and authorization is built into the cloud services? What about data privacy, security audits, and other regulatory requirements? Quality of service How does the vendor handle peak conditions? Is there an SLA to guarantee certain expected peak load for CPU, memory, network, etc.? What measures are in place to ensure scalability and performance? How well is the response from the support desk? It is interesting to note that most cloud vendors today do not provide a strong SLA. Network availability This issue is more so with your network provider than with your cloud vendor. As your application and your data are not on premise, Internet disconnectivity may harm your business. You network provider needs to ensure 99.9 percent network availability during work hours. Managing cloud applications If you plan to deploy your application into the cloud, you also need to manage your cloud resources such as creating a new computing unit or increasing the storage for an instance. You should be able to monitor and load-balance operational metrics. Amazon provides a web-based management console to monitor and manage your EC2 instances. Conclusion Like anything, the cloud brings with it a set of possibilities and challenges. Amazon, Google and Microsoft are current providers of cloud services with IBM, Sun, HP and others on their heels. The cost effective cloud computing is definitely coming of age in a time where cutting costs is not just a good idea, but mandatory. The cloud and the SaaS, IaaS, and Paas classifications will see continued growth in the years to come and the challenges, like any, will be stepping stones of exploration and growth. The cloud may not be feasible for many companies, as it stands today, but as developments are made and hurdles are jumped it would be wise to keep a finger on its pulse. About the Author Pradeep Tapadiya has over 15 years of software development experience. Prior to founding Software Labs, he worked at various software companies developing horizontal software applications. He was the chief architect of HP OpenView ManageX and author of two books, .NET Programming and COM+ Programming, and has been a technical reviewer for many other books. Dr. Tapadiya holds a doctoral degree in Computer Science from Texas A&M University. For more information on Dr. Tapadiya and Software Labs go to http://www.softlabsco.com.