This action might not be possible to undo. Are you sure you want to continue?
The purpose of this research project is to clarify terms of Cloud Computing and related models using main characteristics typically associated with this paradigm in the literature and to identify the top technical and non-technical obstacles and opportunities of Cloud Computing.
It is argued that the construction and operation of extremely large-scale, commoditycomputer data centres at low-cost locations was the key necessary enabler of Cloud Computing, for decrease in cost of electricity, network bandwidth, operations, software, and hardware available at these very large economies of scale. These factors, combined with statistical multiplexing to increase utilization compared a private cloud, meant that cloud computing could offer services below the costs of a medium-sized data centre and yet still make a good profit.
Any application needs a model of computation, a model of storage, and a model of communication. The statistical multiplexing necessary to achieve elasticity and the illusion of infinite capacity requires each of these resources to be virtualized to hide the implementation of how they are multiplexed and shared. Our view is that different utility computing offerings will be distinguished based on the level of abstraction presented to the programmer and the level of management of the resources.
Moreover, it is aimed in this research project that to give a high level technical overview of Cloud Computing, related concepts and Cloud Service Models.
INTRODUCTION As a metaphor for the Internet, "the cloud" is a familiar cliché, but when combined with "computing," the meaning gets bigger and fuzzier. Some analysts and vendors define cloud computing narrowly as an updated version of utility computing: basically virtual servers available over the Internet. On the other hand others go very broad, arguing anything you consume outside the firewall is "in the cloud," including conventional outsourcing.
The most common analogy to explain cloud computing is that of public utilities such as electricity, gas, and water. Just as centralized and standardized utilities free individuals from the vagaries of generating their own electricity or pumping their own water, cloud computing frees the user from having to deal with the physical, hardware aspects of a computer or the more mundane software maintenance tasks of possessing a physical computer in their home or office. Instead they use a share of a vast network of computers, reaping economies of scale.
As mentioned above the term “cloud computing” originated from the cloud symbol that is usually used by flow charts and diagrams to symbolize the internet. “Comes from the early days of the Internet where we drew the network as a cloud… we didn’t care where the messages went… the cloud hid it from us” – Kevin Marks, Google The principle behind the cloud is that any computer connected to the internet is connected to the same pool of computing power, applications, and files. Users can store and access their own personal files such as music, pictures, videos, and bookmarks or play games or use productivity applications on a remote server rather than physically carrying around storage medium such as a DVD or thumb drive.
There are multiple definitions out there of ‘the cloud’“ .”  . storage. HP’s Vice President of European Software Sales However The National Institute of Standards and Technology (NIST) provides a concise and specific definition: “Cloud computing is a model for enabling convenient.Andy Isherwood. Taking these features into account an encompassing definition of the cloud computing could be provided. on-demand network access to a shared pool of configurable computing resources (e. and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. “I have not heard two people say the same thing about it [cloud].Almost all users of the internet may be using a form of cloud computing though few realize it. applications.g. networks. the cloud computing concept is still changing and these definitions show how the cloud is conceived today.. servers. Obviously.
or "in the cloud". and keeping out viruses and hackers. When computing power is contained at a specialized data centre. water. and connect their home's plumbing to both a water main and a sewage line. in other words computing as a utility rather than a product. And they would have to collect their sewage in a tank and personally transport it to a place where it could be disposed of. and sewers. Since the above scenario not only represents a great deal of work for the homeowner but completely lacks economies of scale. Public utilities allow the homeowner to simply connect their fuse box to a power grid. organizing their data. public utilities are by far the more common solution. one must compare it to other utilities. being billed for the total. purify it. the responsibility for performing these complicated . The homeowner would have to own and maintain a generator. keeping it fuelled and operational and its failure would mean a power outage. The power plant deals with the complexities of power generation and transport and the homeowner simply uses whatever share of the public utility's vast resources he needs. By way of comparison. and store it on their property.How Cloud Computing Works? To understand the concept of cloud computing. A computer owner is responsible for keeping their machine functional. Without public utilities such as electricity. a typical home or work computer is an extraordinarily complex device and its inner workings are out of the reach of most users. or they would have to run their own personal sewage treatment plant. They would have to pump water from a well. a homeowner would be responsible for all aspects of these concerns.
save energy. but they log in to the service they are using by obtaining a session id or a cookie. The benefits of cloud computing include that it can minimize infrastructure costs. etc. key presses. many things can happen. if a company has unanticipated usage spikes above the usual workload. For example. reduce the necessity and frequency of . DNS services can then direct the user to a cluster of servers that are close to the user so the site can be accessed rapidly and in the user's local language. uploads. The data across the multiple servers is synchronised around the world for rapid global access. Users do not log in to a server. for example. Information is then stored on or retrieved from the database servers or file servers and an updated page is displayed to the user. When a user accesses the cloud for a popular website. Companies can use cloud computing to effectively request and use time-distributed computing resources on the fly. The user's IP address. The web servers run user interface software which collects commands from the user (mouse clicks. cloud computing can allow the company to meet the overload requirements without needing to pay for hosting a traditional infrastructure for the rest of the year.maintenance tasks is lifted from the user. can be used to establish where the user is located (geolocation). The user becomes responsible only for maintaining a very simple computer whose purpose is only to connect to the internet and allow these cloud services to take care of the rest. What the user sees in their browser usually comes from a cluster of web servers.) and interprets them. which is stored in their browser.
Application Programming Interface . The front end is the part seen by the client. typically involves multiple cloud components communicating with each other over application programming interfaces. This includes the client’s network (or computer) and the applications used to access the cloud via a user interface such as a web browser. usually web services and 3-tier architecture. comprising various computers. and lessen maintenance costs.upgrades. Key characteristics of Cloud Computing Agility Agility improves with users' ability to rapidly and inexpensively re-provision technological infrastructure resources. The two most significant components of cloud computing architecture are known as the front end and the back end. the computer user. Cloud Computing Architecture Cloud computing architecture. This resembles the Unix philosophy of having multiple programs each doing one thing well and working together over universal interfaces. The back end of the cloud computing architecture is the ‘cloud’ itself. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts. the systems architecture of the software systems involved in the delivery of cloud computing.e. i. servers and data storage devices. Some heavy users of cloud computing have seen storage costs fall by 20% and networking costs reduced by 50% .
Multi-tenancy Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for: Centralization of infrastructure in locations with lower costs (such as real estate. Cloud computing systems typically use REST-based APIs. Device and location independence Device and location independence aims to enable users to access systems using a web browser regardless of their location or what device they are using (e. mobile phone).Application Programming Interface (API) is the accessibility to software that enables machines to interact with cloud software in the same way the user interface facilitates interaction between humans and computers. . As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet. electricity. This ostensibly lowers barriers to entry.g. users can connect from anywhere. Cost Cost is claimed to be greatly reduced and in a public cloud delivery model capital expenditure is converted to operational expenditure. Pricing on a utility computing basis is fine-grained with usage-based options and fewer IT skills are required for implementation (in-house). as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. PC..) Peak-load capacity increases (users need not engineer for highest possible load-levels) - Utilization and efficiency improvements for systems that are often only 10–20% utilized. etc.
Security is often as good as or better than under traditional systems. increased security-focused resources. They are easier to support and to improve. etc. Maintenance Maintenance of cloud computing applications is easier. Scalability Scalability via dynamic ("on-demand") provisioning of resources on a fine-grained. as the changes reach the clients instantly. without users having to engineer for peak loads. self-service basis near real-time.Reliability Reliability is improved if multiple redundant sites are used. because they do not need to be installed on each user's computer. but concerns can persist about loss of control over certain sensitive data. However. Private cloud installations are in part motivated by users' desire to retain control over the infrastructure and avoid losing control of information security. which makes well designed cloud computing suitable for business continuity and disaster recovery. and the lack of security for stored kernels. Performance Performance is monitored. user access to security audit logs may be difficult or impossible. In addition.. the complexity of security is greatly increased when data is distributed over a wider area or greater number of devices and in multi-tenant systems which are being shared by unrelated users. and consistent and loosely coupled architectures are constructed using web services as the system interface. Security Security could improve due to centralization of data. . in part because providers are able to devote resources to solving security issues that many customers cannot afford.
storage systems. private. or hybrid clouds. and applications from different customers are likely to be mixed together on the cloud’s servers. An application needed on a temporary basis might be best suited for deployment in a public cloud because it helps to avoid the need to purchase additional equipment to solve a temporary need. private and hybrid cloud and IT organization can choose to deploy applications according to their requirements. private. The terms public. each of which has its trade-offs. or one that has specific requirements on quality of service or location of data. Likewise. . a private cloud might be hosted at a collocation facility as well. and they differed as the open APIs versus the proprietary ones. might best be deployed in a private or hybrid cloud. These are public. IT organizations can choose to deploy applications on public. Public Clouds Public clouds are run by third parties. and they might use more than one model to solve different problems. There are three basic service models to consider. a permanent application. and hybrid do not dictate location.Cloud Computing Deployment Models There are many considerations for cloud computing architects to make when moving from a standard enterprise application deployment model to one based on cloud computing. While public clouds are typically “out there” on the Internet and private clouds are typically located on premises. and networks. Companies may make a number of considerations with regard to which cloud computing model they choose to employ.
Private clouds may be deployed in an enterprise datacenter. Indeed. and they provide a way to reduce customer risk and cost by providing a flexible. and is typically deployed at a collocation facility. If a public cloud is implemented with performance. and they also may be deployed at a . if even just temporarily. Private clouds Private clouds are built for the exclusive use of one client. The company owns the infrastructure and has control over how applications are deployed on it. the existence of other applications running in the cloud should be transparent to both cloud architects and end users. and quality of service. Figure.Public clouds are most often hosted away from customer premises. providing the utmost control over data. one of the benefits of public clouds is that they can be much larger than a company’s private cloud might be. A public cloud provides services to multiple customers. security. and data locality in mind. even temporary extension to enterprise infrastructure. and shifting infrastructure risks from the enterprise to the cloud provider. offering the ability to scale up and down on demand. security.
by a cloud provider. Among the issues that need to be considered is the relationship between data and processing resources. externally provisioned scale. Hybrid clouds Hybrid clouds combine both public and private cloud models (Figure 5). This model gives companies a high level of control over the use of cloud resources while bringing in the expertise needed to establish and operate the environment. a hybrid cloud . Private clouds may be hosted at a collocation facility or in an enterprise datacenter. Hybrid clouds introduce the complexity of determining how to distribute applications across both a public and private cloud. If the data is small.collocation facility. They may be supported by the company. Figure 4. A hybrid cloud also can be used to handle planned workload spikes. or by a third party such as an outsourcing firm. Private clouds can be built and managed by a company’s own IT organization or by a cloud provider. The ability to augment a private cloud with the resources of a public cloud can be used to maintain service levels in the face of rapid workload fluctuations. or the application is stateless. They can help to provide on-demand.
Figure 5. .can be much more successful than if large amounts of data must be transferred into a public cloud for a small amount of processing. and they can be particularly effective when both types of cloud are located in the same facility. Hybrid clouds combine both public and private cloud models.
Well known examples are Salesforce. instant messaging from AOL.1 shows Cloud Computing service architecture as a SPI model. A single instance of the software runs on the cloud and services multiple end users or client organizations.com. Configurable. Figure 3. Broadly speaking. SaaS has four maturity levels as following: Level 1: Ad-Hoc/Custom Level 2: Configurable Level 3: Configurable. and infrastructure as a service (Iaas). and Voice-over Internet Protocol (VoIP) from Vonage and Skype. Google’s Gmail and Apps. cloud service providers tend to offer services that can be grouped into three categories: software as a service (SaaS). Software as a service (SaaS) SaaS is software that is developed and hosted by the SaaS vendor and which the end user accesses over the Internet. all customers of a SaaS vendor use the same software: these are one-size-fits-all solutions. Multi-Tenant-Efficient . Unlike traditional applications that users install on their computers or servers. platform as a service (PaaS). Multi-Tenant-Efficient Level 4: Scalable. SaaS software is owned by the vendor and runs on computers in the vendor’s data center (or a collocation facility). Yahoo and Google.Cloud Computing Service Models and Actors In practice.
Therefore the unit of deployment is a package that contains application code or some compiled version of the application code. without having to worry about maintaining the operating systems. or develop new ones.Platform as a service (PaaS) PaaS provides virtualized servers on which users can run applications. if you need three instances of a web user interface in order to deal with anticipated load then this could be specified in a configuration file and the environment would deploy your three instances automatically. For example. For example. A PaaS environment provides compute power by providing a runtime environment for application code. . Another capability of PaaS environments is that scale can be specified via configuration and provided automatically by the environment. server hardware. load balancing or computing capacity.
This infrastructure is offered ‘as a service’ by Infrastructure Providers (IPs). Commercial examples of IaaS include Joyent.Microsoft’s Azure Services Platform supports the . Actors Many activities use software services as their business basis. IaaS vendors use virtualization technologies to provide compute power. Originally the term for this type of offering was Hardware as a Service (HaaS).NET Framework and PHP. . Infrastructure as a service (IaaS) In its purest incarnation Infrastructure as a Service (IaaS) offers compute power. moving computing resources from the SPs to the IPs. Services are typically charged by usage and can be scaled dynamically.e. The best known example is Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Service (S3). storage. and networking infrastructure (such as firewalls and load balancers) as a service via the public internet. These Service Providers (SPs) make services accessible to the Service Users through Internet-based interfaces. so the SPs can gain in flexibility and reduce costs. An IaaS customer is a software owner that is in need of a hosting environment to run their software. Therefore the unit of deployment is a virtual machine which is built by the software owner. capacity can be increased or decreased more or less on demand. As another example Google’s App Engine supports Java and Python. Clouds aim to outsource the provision of the computing infrastructure required to host services. whose main product is a line of virtualized servers that provide a highly available on-demand infrastructure. i.
the user. it is argues that . Cloud user hierarchy. Above figure illustrates four broad sets of nonexclusive user categories: System or cyber infrastructure (CI) developers. and. Business Value of Cloud Computing In this chapter business value of cloud computing will be discussed. finally. policy makers. and the principal quality driver and constraining influence are.The most important Cloud entity. User categories also include domain specific groups. Figure 2. users of simple and composite services. Functional and usability requirements derive. in most part. developers (authors) of different component services and underlying applications. technology and domain personnel who integrate basic services into composite services and their orchestrations (workflows) and delivers those to end-users. In deciding whether hosting a service in the cloud makes sense over the long term. and indirect users such as stakeholders. directly from the user profiles. of course. The value of a solution depends very much on the view it has of its end-user requirements and user categories. and so on.
the absence of up-front capital expense allows capital to be redirected to core business investment. this way of selling bandwidth is already known as usagebased pricing. use 100 serverhours today and no server-hours tomorrow. especially if the application may have highly variable spikes in resource demand. computing and storage costs are falling faster than WAN costs. resulting in a closer match of expenditure to actual resource usage. although hardware resource costs continue to decline.. Cloud computing can track these changes and potentially pass them through to the customer more effectively than building one’s own datacenter. Therefore. and various operational costs that vary depending on the type of cloud environment being considered.g. In addition. In making the decision about whether to move an existing service to the cloud. and still pay only for what you use). one must additionally examine the expected average and peak resource utilization. even though Amazon’s pay-as-you- . they do so at variable rates. Hours purchased via Cloud Computing can be distributed non-uniformly in time (e. we believe the phrase “pay as you go” more directly captures the economic benefit to the buyer. Although the economic appeal of Cloud Computing is often described as “converting capital expenses to operating expenses” (CapEx to OpEx).the fine-grained economic models enabled by Cloud Computing make trade-off decisions more fluid. in the networking community. the practical limits on real-world utilization of purchased equipment. and in particular the elasticity offered by clouds serves to transfer risk. As well. for example.
go pricing (for example) could be more expensive than buying and depreciating a comparable server over the same period. the more the waste. we argue that the cost is outweighed by the extremely important Cloud Computing economic benefits of elasticity and transference of risk. This may sound shockingly low. (a) Provisioning for peak load . especially the risks of over provisioning (underutilization) and under provisioning (saturation). Few users deliberately provision for less than the expected peak. The key observation is that Cloud Computing ability to add or remove resources at a fine grain (one server at a time with EC2) and with a lead time of minutes rather than weeks allows matching resources to workload much more closely. and therefore they must provision for the peak and allow the resources to remain idle at nonpeak times. Real world estimates of server utilization in datacenters range from 5% to 20%. The more pronounced the variation. but it is consistent with the observation that for many services the peak workload exceeds the average by factors of 2 to 10.
(b) Under provisioning case 1: potential revenue from users not served (shaded area) is sacrificed. (a) Even if peak load can be correctly anticipated. this attrition and possible negative press result in a permanent loss of a portion of the revenue stream. without elasticity we waste resources (shaded area) during non-peak times. .(b) Under provisioning 1 (c) Under provisioning 2 In above figure. (c) Under provisioning case 2: some users desert the site permanently after experiencing poor service.
Whichever side is greater represents the opportunity for higher profit. . it is assumed that the customer’s revenue is directly proportional to the total number of user-hours.Even less-dramatic cases suffice to illustrate this key benefit of Cloud Computing: the risk of mis-estimating workload is shifted from the service operator to the cloud vendor. in which customers pay proportionally to the amount of time and the amount of resources they use. as demonstrated by its wide use by “real” utilities such as electricity and gas companies. The right-hand side performs the same calculation for a fixed-capacity datacenter by factoring in the average utilization. Similarly. giving the expected profit from using Cloud Computing. This assumption is consistent with the ad-supported revenue model in which the number of ads served is roughly proportional to the total visit time spent by end users on the service. we believe usage based pricing will persist because it is simpler and more transparent. While some argue for more sophisticated pricing models for infrastructure services. In above formula the left-hand side multiplies the net revenue per user-hour (revenue realized per user-hour minus cost of paying Cloud Computing per user-hour) by the number of user-hours. including nonpeak workloads. The cloud vendor may charge a premium (reflected as a higher use cost per server-hour compared to the 3-year purchase cost) for assuming this risk. We propose the following simple equation that generalizes all of the above cases. We assume the Cloud Computing vendor employs usage-based pricing.
Each obstacle is paired with an opportunity on how to overcome the obstacle. Firewalls Growth Challenges Challenge Data transfer bottlenecks Performance unpredictability Scalable storage Bugs in large distributed systems Scaling quickly Opportunity FedEx-ing disks. a ranked list of obstacles is offered to the growth of Cloud Computing. growth challenges. VLANs. reuse data multiple times Improved VM support. flash memory Invent scalable storage Invent Debugger using Distributed VMs Invent Auto-Scaler Policy and Business Challenges Challenge Reputation Fate Sharing Software Licensing Opportunity Offer reputation-guarding services like those for email Pay-for-use licenses. Bulk use sales . ranging from straightforward product development to major research projects. Adoption Challenges Challenge Availability Data lock-in Data Confidetiality and Auditability Opportunity Multiple providers Standardization Encryption. These obstacles and opportunities are grouped into three categories such as: adoption challenges.Obstacles and Opportunities for Cloud Computing In this section. and policy and business challenges.
networking. it would be as startling for a new software startup to build its own datacenter as it would for a hardware startup to build its own fabrication line. In addition to startups. while making a profit by statistically multiplexing among a large group of customers. the question presumes that Cloud Computing is a small margin business based on its low cost. as workloads can grow (and shrink) far faster than 20 years ago. It used to take years to grow a business to several million customers – now it can happen in months. Given the typical utilization of medium-sized datacenters. such as ad revenue from search engines and traditional packaged software. The elasticity of a utility matches the need of businesses providing services directly to customers over the Internet. From the cloud provider’s view. these companies may already have the datacenter. From the cloud user’s view. the potential factors of 5 to 7 in economies of scale. can compete in Cloud Computing. many other established organizations take advantage of the elasticity of Cloud Computing regularly. the construction of very large datacenters at low cost sites using commodity computing. and the further savings in selection of cloud datacenter locations. First. the apparently low costs offered to cloud users may still be highly profitable to cloud providers. Our lab has benefited substantially from the ability to complete research by conference deadlines and adjust resources over the semester to accommodate course deadlines. storage. movie companies like Pixar. so Cloud Computing represents the opportunity for more income at little extra cost. including newspapers like the Washington Post. As Cloud Computing users. Some question whether companies accustomed to high-margin businesses. .CONCLUSION The long dreamed vision of computing as a utility is finally emerging. and universities like ours. and software infrastructure in place for their mainline businesses. and networking uncovered the possibility of selling those resources on a pay-as-you-go model below the costs of many medium-sized datacenters. we were relieved of dealing with the twin dangers of over-provisioning and under-provisioning our internal datacenters. Second.
we believe that over the long run providers will successfully navigate these challenges and set an example for others to follow. perhaps by successfully exploiting the opportunities that correspond to those obstacles.Although Cloud Computing providers may run afoul of the obstacles summarized in Table 6. .
A. A. Fox. A.References  ^ "NIST. ”INTRODUCTION TO CLOUD COMPUTING ARCHITECTURE” .google.com/featured- articles/CloudComputing.  By Sun Microsystem.  Above the Clouds: A Berkeley View of Cloud Computing. Katz. Konwinski.sun.Avilable :www. G.amazon. University of California at Berkeley. Patterson.D. D. Lee. June 2009[Online]. R. Armbrust. Feb 2009 (white paper and presentation)  Google AppEngine: http://code.nist.gov – Computer Security Division – Computer Security Resource Center". Zaharia.A. I. A. Griffith.H. R.com/appengine/  Amazon EC2: http://aws. Csrc.pdf. "Above the Clouds: A Berkeley View of cloud computing".com/ec2/ . Stoica and M. Joseph. Rabkin.  ^ M.gov. Michael Armbrust et al. Retrieved 10 April 2011.