Cloud Computing – An Evaluation: Is it beneficial for everyone?
To get the clear idea of cloud computing, it is necessary to clearly identify and understand how the computing has evolved and grow, because without knowing them we are unable to get the clear idea of cloud computing. Recent developments and advances e.g. evolution from abacus to desktop calculators, analogue computer, advanced analogue computer , digital computers, desktops, laptops, notebooks, portable devices, and windows mobile devices are leading towards the computing inside the cloud (W. Rittinghouse 2009, Ransome 2009).
Cloud Computing - Definition
The term cloud was initially derived from its common representation in the network diagrams as an outline of cloud, used to represent the data transportation from one point to another. While Computing is the procedure of calculating; determining something by mathematical or logical methods and something that is about to change, so Cloud computing is the use of computer technology (computing) on the internet (cloud). It is a new generation of computing that uses remote and isolated servers for administration, management, online sharing and data storage, allowing smaller and more efficient chip devices that consume less energy. In simple words, we can say that cloud computing is the use of browser based application that is hosted on a remote server. Cloud Computing is used as a utility, that makes software more attractive and affordable as a service, and shaping the way IT hardware is designed and purchased .
Idea behind Cloud Computing
The concept behind the cloud computing is that the common user does not require a computer that is much powerful enough to handle complex operations. Instead, with the use of broadband users can easily connect to the internet (cloud), which would commonly be referred to as the point of contact with the larger network. From this point of contact, cloud computing users from all across the world can get the benefits of enormous processing power without major investment or technical know-how.
As already said computing is about to change it means that computer applications, softwares, tools and documents are moving from the desktop into cloud, where these applications, softwares and files are hosted on a “cloud”, consists of millions of computers and servers, all linked with each other and accessible through the Internet (W. Rittinghouse 2009, Ransome 2009). With the help of cloud computing, one can do everything through explorer and it is now web based. Person can access all of applications, programs, documents and files from any computer, connected to the Internet. It means we can say that no one is tied with single desktop computer; person can do his work anywhere, because it is always available through internet. Additionally, cloud computing assists group collaboration, all group members can access their programs, applications, files and documents wherever they are located.
Different Views on Cloud Computing
Today, there are many definitions of cloud computing in the market, but the general concept held by the market may be seen in the definition defined above. Different views and different perspectives are given by different users, organisations, analyst, market researchers, and technology vendors. According to user perspective. Cloud computing provides a means of acquiring computing services without requiring understanding of the underlying technology. From an organization perspective, cloud computing delivers services for consumer and business needs in a simplified way, providing unbounded scale and differentiated quality of service to foster rapid innovation and decision making. It is a service acquisition and delivery model for IT resources and, if properly used within an overall IT strategy, can help improve business performance and control the costs of delivering IT resources to the organization. Market Research analyst and technology vendors alike tend to define cloud computing very narrowly, as a new type of utility computing that basically uses virtual servers that have been made available to third parties via the web, while others define the term using a very broad, all-encompassing application of the virtual computing platform. They argue that anything beyond the firewall border is in the cloud. A more tempered view of cloud computing considers it thee delivery of computational resources from location other than the one from which you are computing.
Universal Nature of Cloud
The cloud has no borders and therefore made the world smaller place. As the internet has become the global village, hence people from everywhere have access to other peoples and applications from anywhere else. This concept of internet as a global village is the fundamental of cloud computing. It becomes much more comprehensible and logical when one begins to think about what modern IT environment and infrastructure always require. It means to improve capacity or adding capabilities to the infrastructure, without spending money in the purchase of new infrastructure, and without needing to conduct training for the staff and much more avoiding the purchase of new software license for single user or multiple users. Cloud Computing provides the solution to the abovementioned problems and needs, it encompass a subscription-based or pay per use idea, that provide a service that can be used over the internet.
Goals of Cloud Computing
Lower Cost for Users
Organisations and companies want to save money on functional and operational costs. With the use of cloud computing companies have cut down the huge capital investment. Because the applications run and process in the cloud, so now they don't need a super, powerful, and costly computer to run these applications. Therefore, client computers can be cheaper, with low resources e.g. less memory and less efficient processors. Moreover, these PCs don't need a DVD/CD drive, because no software installation required. Users do not need to upgrade their hardware according to the technologies (the way you work).
In cloud computing, there is no need to install and configure software applications on client PCs so it saves computer resources. Only essential and necessary programs and applications shares computer's memory and resources, due to this cloud computing users see and experience the better performance. These PCs boot up faster and run faster, because they have fewer essential programs, application and processes loaded into memory (the way you work).
Lower Infrastructure Cost
IT companies can use the cloud computing to cut down the risks in acquiring IT assets like physical servers and hardware. Before investing enough money, large organisations do consider some points e.g. Do they need a hardware?, Will a new hardware be successful? Will new hardware is enough for current and upcoming softwares and applications. If so, how many machines are needed, and how much time it will take to deploy them? If not, will a huge investment in these machines and servers go to waste? Instead of investing huge amount in buying and purchasing hardware and software, IT Organisations can use the power of cloud computing to enhance or replace their internal IT resources. Those organisations that have more needs now they do not need to purchase and invest in equipment. These all computing needs and resources are easily controlled and handled by servers in the cloud. (the way you work)
Less Maintenance Issues
After investing in hardware and softwares for the organisation, the main problem is the cost of maintenance of system. This cost is automatically reduced, once cloud computing is implemented in the organisation. Cloud computing greatly decreases the hardware and software maintenance cost for the organization of all sizes.
Lower Software Cost
As the infrastructure for the organisation is rented instead of purchased, with the help of cloud computing, therefore purchasing and operating cost is automatically controlled. Similarly, instead of purchasing license for the softwares and application separately for each computer. Even if the cost is same for web-based cloud computing applications as it does similar with desktop software, but still organisation can save the cost of operating, installing and maintaining these programs in the organization. Actually, many companies like Google are offering some of their web-based applications for free, so many individuals and companies can get the benefit.
Rapid Application Development and update
In cloud computing, users do not need to develop and upgrade software. When the application is web-based, updates are being downloaded and installed automatically, so there is no need to pay extra for upgrading and downloading.
Huge Storage Capacity
Moreover, the cloud offers almost huge, limitless storage capacity. Consider the 200GB storage of a single desktop or laptop PC but still this space is limited and not enough for commercial use, this issue has been resolved by the cloud computing offering hundreds of terabytes available in the cloud. Whatsoever you need, you can store. These storages in the cloud are maintained through SANs (Storage Area Networks).
Standard format of Document
The main advantage for the application users in cloud computing is the standard format of document. As we were facing the problem of MS Word 2007 document format, that cannot be opened on a computer running MS Word 2003, so this problem has been solved by cloud computing. Now all the documents created by web-based applications using cloud computing have the proper standard format, these documents can be accessed and read by any other user accessing that application. Hence, in cloud computing there is no format inappropriateness while sharing docs and apps and have only one standard format of document.
Universal Access to Documents
In cloud computing, there is no need to take the documents with you. Instead, anyone can access their document from anywhere via Internet. All documents and files etc. are instantly available. If the organisation is going to purchase a network drive sharing system for their employees to share a part of hard drives of SAN, then it will be too much expensive, to reduce the cost and get the same benefit organisation are using cloud computing for the storage purpose.
Cloud computing make it easy for all users to share the documents. Sharing directly leads to collaborating a documents—the ability of collaborating and sharing documents and projects easily for many users at a time. Different scattered users of the same company can share and collaborate their documents within seconds, instead of sending through fax or attaching with emails.
Three Layers of Cloud Computing
Cloud Computing consists of different IT capabilities, namely infrastructure, platforms and software. This may also be referred to as different ‘shapes', ‘segments', ‘styles', ‘types', ‘levels' or ‘layers' of Cloud Computing. (StanoevskaSlabeva 2009, Thomas Wozniak 2009). Instead of saying of different capabilities, thinking of it as different ‘layers' makes much more sense because infrastructure, platforms and software build subsequently upon these levels and are logically connected as different layers of a Cloud architecture. These three architectural layers of Cloud Computing are:
1. Infrastructure as a Service
2. Platform as a Service
3. Software as a Service
Software as a service
Software as a Service or SaaS is a software that is owned, delivered, controlled and managed remotely by one or more service providers and that is offered in a pay-per-use manner (Mertz 2007). SaaS is the most visible layer of Cloud Computing for end-users, because it is about the actual software applications that are accessed and used by the end users. This constitutes a complete application, that offered software as a service on demand. The most widely recognized example of SaaS is salesforce.com, although many other companies have come to market, including the Google Apps from Google, offering basic business services including word processing, messaging and email.
Platform as a Service
Platform as a Service or PaaS is the basic layer between the software applications (SaaS) and the virtualised infrastructure (IaaS). PaaS offers platform to developers and software vendors for software development and testing. Developers upload their application code to a platform, which then typically manages the automatic up scaling when the usage of the application grows (RightScale 2008). Software Developers write their applications according to the specifications of a particular platform without needing to worry about the underlying hardware infrastructure (IaaS).Commercial examples of PaaS are Force.com from salesforce.com and Google Apps Engine from Google. PaaS services offer strong, powerful and controlling basis for deploying applications, but still they may be partial and limited by the capabilities that the cloud provider wants to deliver (Sun 2009a). The PaaS layer of a Cloud relies on the standardized interfaces of the IaaS layer that virtualizes the access to the available resources and it also provides standardized interfaces and a development platform for the SaaS layer.
Infrastructure as a service
Infrastructure as a Service or IaaS delivers the basic computing resources and capabilities such as processing or storage which can be obtained as a service. Servers, hardware and network machines such as router, switches, SANs and other resources are shared and made available to control high workloads, ranges from application to high-performance computing resources. E.g. Amazon's EC2 (Elastic Compute Cloud) for processing and S3 (Simple Storage Service) for storage and Joyent who provides highly scalable on-demand infrastructure services for running applications and websites (Sun 2009a). PaaS and SaaS providers can draw upon IaaS offerings based on standardized interfaces. Instead of selling raw hardware infrastructure, IaaS providers typically offer virtualised infrastructure as a service. Foster et al. (2008) denote the level of raw hardware resources, such as compute, storage and network resources, as the fabric layer. Typically by virtualization, hardware level resources are encapsulated, thus can be exposed to upper layer and end users through a standardized interface as unified resources (Foster et al. 2008) in the form of IaaS (see figure 1).
As described, Cloud Computing concerns the delivery of IT Capabilities and techniques as a service on above three levels: infrastructure (IaaS), platforms (PaaS), and software (SaaS). By providing interfaces on all three levels, Clouds address different types of users:
• End users, mainly uses the services of the SaaS layer over a browser and basic offerings of the IaaS layer for data storage using the functionality of the SaaS layer.
• Business users and Analysts, sometimes access all three layers: the IaaS layer to extend the infrastructure with additional resources on demand, the PaaS layer to be able to run the applications in a Cloud and finally the SaaS layer in order to take advantage of available applications offered as a service.
• Software developers and Independent Software Vendors (ISVs), develop software applications that are supposed to be offered over the SaaS layer of a Cloud for end and business users. Usually, they directly access the PaaS layer to access the IaaS layer indirectly, and are present on the SaaS layer with their application.
Users notice and realise that cloud computing delivers flexible cloud services to them based on their needs and requirements. Companies offering Cloud computing services must make sure enough resources are provided to meet users' needs and demands. Particularly, for all different kinds of Cloud customers, cloud offers the major facilities and opportunities known as X-as a service. So from the perspective of the user, the utility-based payment model is considered as one of the main benefits of Cloud Computing. There is no need for setting up hardware infrastructure, investment in software licenses and no risk of unused paid software licenses, related maintenance and staff. Therefore, total capital expenditure is turned into operational expenditure. These users only pay for the volume of IT resources they actually use. At the same time, they take advantage of the scalability and flexibility of a Cloud.
Idea behind public, private and hybrid cloud computing
Cloud based service offerings are growing faster and faster. Todays clouds are best option for startups, research projects, software develops who want a simple, low cost way and want IT spend to a minimum. this is why the cloud is built for. Today, enterprises are using cloud for different and specific functions. Some enterprises are using for development, testing and experimenting purposes. Some are using for data storage and management while some are using work offloading. The purpose of this usage answers many questions like, why the companies want to reduce their budget. Why wait to orders high servers for high applications just for testing purposes when companies even dont know that project will pass or not? why download and purchase the new softwares and then install, license and test it?
Now many enterprises have understood these benefits that are economically good for them to save their time and budget, focusing to ensure strict enforcement of security policies. So instead of relying on the public clouds they are experimenting the private clouds with long term option of migrating high and enterprises application. Some companies are building the private clouds to take the benefit of resource pools and standardize their developments and deployments. Now it depends upon company whether to choose a service providers cloud or build its own. It depends upon the companies internal situation, strong backbone and infrastructure. But overall there are three primary options to choose:
Public cloud is a hardware and software datacentre run by third parties for example google and amazon, jobs from different customers are being run on the servers, storage system and infrastructure within the cloud. Cloud users even don't know where their job is running and who else's job may be running on the same server, network or disk. “When a Cloud is made available in a pay-as-you-go manner to the general public, we call it a Public Cloud” (Armbrust et al. 2009).
Private cloud are internal data centres of a company, it is totally owned by the same company. They own the physical servers, hardware, network and disk. They theirselve decide which users are allowed to access infrastructure and which users are not allowed. It is best option for the companies dealing with data protection issues like banking and financial institutions.
Some companies build their private cloud and oblige other companies and users to use and utilize the services of their infrastructure for short term basis. This rise the concept of hybrid cloud to run applications in privately owned infrastructure and public cloud space in a controlled way. Hybrid cloud combines the above two cloud models and offers the assurance of on-demand, scalable services. While hybrid clouds add the application distribution complexity to system.
Chapter Cloud Computing with market giants
Even though there are many cloud services providers present in the market today, but still we are in the early stages of the cloud computing. There is no surprise in that some of the biggest names in the cloud computing are some of leading names in the computing world. These cloud computing heavyweights companies are offering more and more interesting applications and still application development is in phase, creating a competition among the IT companies to get the more profit and attracting the best and biggest companies from across the globe. (practical approach) The most remarkable company currently ruling the cloud computing is google, offering a powerful collection of different web based tools. Other major companies involved in the competition and development of cloud services are amazon, Microsoft, salesforce.com, IBM, yahoo and many others. (cloud computing web based application book).
In this chapter, we ‘ll discus briefly about these cloud computing heavyweight champions like google, Microsoft, Yahoo, Salesforce.com, IBM and others.
Amazon was one of the first companies started offering a list of cloud services to the end customer. Amazon is the most popular cloud vendor, offering different services, from platform to storage to databases.
Elastic Compute Cloud (EC2), a web service that offers cloud-based resizebale computing capacity for application developers. It provides easy and simple web interface that allows developers to obtain, configure and devlop with less difficulty. EC2 is a virtualised cloud infrastructure, propose virtual machines and CPU cycles for your organisation, can run easily on Microsft windows server 2003, also supports SQL Server Express and SQL Server Standard. It allows users to run windows based application on cloud computing platform.
Simple Storage Services (S3), a amazon's cloud storage solution for the internet, allows users to store and retrieve data upto 5GB in size in amazon's virtual storage service.
Simple Queue Service (SQS), offers a scalable, hosted queue for storing messages as they travel between LANs. it allows machines to communicate with each other using message passing API. (the way changed) Due to this facility, developers can easily move their data between distributed components of their applications that perform different tasks without losing communication. Amazon SQS component work independently and there is no need to be remain on the same network, developed with same technologies (practical approach)
Amazon SimpleDB, is a web database service for running different queries on structured data. It provides core database functions of database objects. (the way that changed) It works in conjunction with Amazon's S3 and EC2, providing the ability to store, process, and query data sets in the cloud. (practical approach)
Amazon CloudFront, is a web service for content delivery. It gives easy access and way to developers and businesses to deliver and distribute their contents to different clients in a hastle free environment, with low latency, high data transfer speeds. This services works in conjunction with other amazons web services.
Elastic Block Store
Amazon also launched Elastic Block Store (Amazon EBS), it is an infrastructural service that provides resizeable compute capacity in cloud. With this component, persistent storage volumes can be created and easily attached to EC2 instances. Prior to this, storage within EC2 instance was tied with itself, so when the instance was terminated, data in storage was lost automatically, but now due to EBS this drawback has been removed. Now users have option to choose and allocate the persist storage reliably and independently from EC2 instances.
Today amazon is the most extensive and large cloud service. Amazon's virtual machines are versions of unix distribution, so these services are difficult to use, because they are driven through the command line environment(cloud computing practical approach).
Google offers most powerful collection of cloud services and web based applications. These applications are interconnected each other for the benefit of users (cloud computing web based architecture). In contrast to amazon, google is offering Google's Apps Engine. Google offers online documents, spreadsheet and encourage software developers to build features for other online softwares. Whatever you want cloud-based word processing (Google Docs), presentation software (Google Presentations), email (Gmail), or calendar/scheduling functionality (Google Calendar), Google Apps engine offered. (cloud computing practical approach)
Google Apps Engine
Google App Engine enable developers to build their web applications on the same infrastructure that powers Google itself.
Google App Engine, accomplishes following tasks for developers
Write code once and deploy many times Buying and configuring huge multiple machines for web services and data storage can be expensive and time consuming. Google App Engine makes it easier for developer to develop and deploy the web applications.
Absorb Spikes in sudden increase in traffic
Google App Engine makes easier to scale from one user to one million with automatic replication and load balancing. The sudden increase in traffic due to web page popularity, it can be overwhelming for all size of applications.
Easily integrate with other Google services
Google app engine make it easy for developer to reuse the built in components and googles broader library of APIs, providing the plug and play functionality.
Microsoft offers different applications linked all together with all types of devices, data and applications in a common cloud –based plateform. (cloud computing web based architecture) The Microsoft cloud computing solution is called windows Azure. It is same as an operating that allows enterprises to run different windows applications, store files and data using Microsoft data centres. It also offering developers a azure services plate to establish user identities, manage workflows, synchronize data and perform different functions. Main components of this platform are
Windows Azure, cloud based operating system, it provides development, service hosting facility, management environment, low-level scalable storage, computation, and networking for azure services plateform.
• Microsoft SQL Services, extends SQL Server capabilities, and allows the storage of structure, unstructured and semistructured data. It also provides services for database and reporting purposes.
• Microsoft .NET Services, these services provides service-based implementations of .NET Framework concepts, providing high level class libraries that development much more robust.
• Live Services, are used to share, store, synchronize documents, photos, and files across PCs, phones, PC applications, and web sites.
• Microsoft SharePoint Services and Microsoft Dynamics CRM Services, these services are used for business content, collaboration, and solution development in the cloud. (cloud computing practical approach)
Windows live is a set of online integrated services to communicate and share ideas with others. New version of of windows live included photo sharing, email and instant messaging.
Microsoft Online is microft-hosted enterprise messaging service based on Microsoft Exchange server 2007, due to its cloud nature, company employees can access email and messages from anywhere. The service is aimed to ease IT management duties by removing the need of deploy, configure, monitor, and upgrade.
Todays, salesforce.com motto is “success on demand”. The reason behind their success is that, they are recognizing the needs of sales organisations and targeting the large business organisation. (complete corner guide) Nowadays, salesforce.com is focusing on three primary areas.
The Sales of cloud, popular cloud sales application
The Service cloud, plateform for customer service
The cloud, platform for developing custom application for users and developers.
Force.com is Salesforce.com's cloud computing platform, offering on-demand services. It features visualforce technology, that makes it simple and easy for end users, customers, developers and software houses to design any type of cloud application. This platform offers global services and infrastructure for integration different applications, databases, logic, work flow and application interfaces. It is an essential framework for developing new interfaces and designs with no hardware and software requirements.(practical approach)
Salesforce.com has also launched the Force.com, delivers platform as a service (Paas), for creating and deploying business applications. Force.com platform can run different applications within the same instance, that allows all applications to share a same security and data model.(practical approach)
Salesforce.com is offering a leading Cloud computing CRM solution. Its CRM offering the cloud sales and services facility and consists of five core applications:
Sales, popular cloud computing sales application
Marketing, to empower customers to manage different campaigns and provides uptodate messaging to sales.
Services, it is a new platform for customer services, offers companies to tap customer conversations. It allows companies to connect instantly and share sales information.
Collaboration, Salesforce.com's collaboration application help an organisation to work efficiently with partners, employees, customers and users to collaborate among themselves.
Analytics, Salesforce.com CRM offers real time reporting and calculations solution for a business to optimize performance and decision making
Custom Applications, can be created easily and simply by leveraging the one data and sharing model with one interface.
IBM is spending more on cloud computing and has so far opened several research centres around the world. Almaden Research Centre was one of the first cloud computing research centre, where IBM started researching cloud computing technology, to run IBM applications and products e.g. DB2 databases on linux servers. One research centre, in china is working on issues such as resource utilization, application workload and power consumption.
Nowadays, IBM is working with other cloud computing heavyweight champions to provide cloud computing research. Google and IBM now decided to partnerup for advanced research. IBM offers its expertise for large scale networks while google has expertise to parse all data for study and research purpose. (cornerstone guide)
IBM is offering its consulting expertise for companies to offer more secure services in public, private and hybrid cloud models. Some of features are
Industry specific consulting services, IBM business services are using economic model for assessing and building private clouds, moving data and application offsite in public or hybrid cloud.
Technology consulting, IBM global technology services offers best services to help clients in installing, designing, configuring, delivering and implementing the cloud computing inside datacentres.
Cloud Security, IBM is spanning its system, services, software, research and efforts to re-architecting and redesigning technologies and process, to introduce security and shield against threats. Chapter Cloud computing Technology
1. http://www.financenewmexico.org/glossary.html (accessed 13 November 2009)
2. http://en.wikipedia.org/wiki/Cloud_computing (accessed 13 November 2009)
3. Rittinghouse, J. Ransome, J 2002, Cloud Computing Implementation, management and security, CRC Press Florida US
4. Sun (2009a) Introduction to Cloud Computing Architecture. Sun white paper. http://www.sun.com/featured-articles/CloudComputing.pdf. (Accessed: 13 November 2009)
5. Menken, I. 2008, Cloud Computing - The Complete Cornerstone Guide to Cloud Computing Best Practices, Emereo Pty Ltd London, UK.