This action might not be possible to undo. Are you sure you want to continue?
Technical University, Kota
Mr. Nitesh Chauhan Lecturer, Department of ICT
M. L. V. T. E. C. Bhilwara(Raj)
Final Year B.Tech.
Department of ICT M.L.V.Textile & Engineering College. (An Autonomous Engineering College of Govt. Of Rajasthan) Bhilwara 311001(Rajasthan), India.
Engineering is the science of economy, of conserving the energy, kinetic and potential, provided and stored up by nature for the use of man. It is the business of engineering to utilize this energy to the best advantage, so that there may be the least possible waste of time. Engineering is the professional art of applying science to the optimum conversion of natural resources to the beneﬁt of man. Engineering is associated with creativity and judgment, which is not a theory subject but is an art which can be gained with systematic study, observation and practice. To bridge the gap of theory and practical and to provide a solution for it practical knowledge is very necessary. In the college circulation we usually get the theoretical knowledge of industries, as how is it work? But how can we prove our theoretical knowledge to increase the productivity or eﬃciency of the industry? To make the learning of engineering more fruitful, we the students of Manikya Lal Verma Textile & Engineering College, Bhilwara, present a seminar on a technology topic as per speciﬁed in the syllabus of Rajasthan Technical University, Kota of B.Tech. ﬁnal year. This seminar also helps in increasing the understandibility and knowledge about the technology, we present. Succeeding chapters give details about Cloud Computing, a future computing based on internet, together with its deployment models, service layers, beneﬁts, limitations and the top ﬁve vendors of it.
Before I get into think of the things I would like to add a few heartfelt words for people who were the part of this seminar report in numerous ways. I feel it pertinent to add a word of praise for my teachers for their cool mind, patience and smile which deﬁnitely provided me encouragement, enthusiasm and lively atmosphere all the times. I would like to express my sincere gratitude to Prof. M. C. Govil (Principal, MLVTEC), Mr. Mukesh Verma (Lecturer, MLVTEC) and Mr. Anurag Jagetiya (Lecturer, MLVTEC) for the help provided in presentation of the seminar, which was assigned to me. I owe my special thanks to my seminar guide Mr. Nitesh Chauhan (Lecturer, MLVTEC) for his help and support during development of the report. Without his friendly help and guidance it was diﬃcult to do work on this topic. Words are insuﬃcient to express my profound sense of gratitude to my teachers, parents, friends whose encouragement and blessings gave me great strength to work for the seminar and report on “ Cloud Computing ”.
“ The data center of the future could be based in the cloud.” (Jason Staten, Forrester) [Herrmann 2008] The cloud computing is a next generation platform that provides dynamic resource pools, virtualization, and high availability. Cloud computing describes both a platform and a type of application. A cloud computing platform dynamically provisions, conﬁgures, reconﬁgures, and deprovisions servers as needed. Cloud applications are applications that are extended to be accessible through the Internet. These cloud applications use large data centers and powerful servers that host Web applications and Web services. Cloud computing infrastructure accelerates and fosters the adoption of innovations as it comprises an automated framework that can deliver standardized services quickly and cheaply. Cloud computing infrastructure allows enterprises to achieve more eﬃcient use of their IT hardware and software investments. Cloud computing increases proﬁtability by improving resource utilization. Pooling resources into large clouds drives down costs and increases utilization by delivering resources only for as long as those resources are needed. This report introduces the value of implementing cloud computing. The report deﬁnes clouds, its deployment models, service layers, explains the business beneﬁts of cloud computing, limitations and name of top ﬁve cloud providers.
1 Introduction to Cloud Computing 1.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Deﬁnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Comparison of the three: Grid, Utility and The Cloud Computing . . 2 Cloud Computing Deployment Models 2.1 Public clouds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Private clouds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Hybrid clouds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 SPI 3.1 3.2 3.3 : Cloud Computing Service Model Software as a service (SaaS) . . . . . . . . . . . . . . . . . . . . . . . Platform as a service (PaaS) . . . . . . . . . . . . . . . . . . . . . . . Infrastructure as a service (IaaS) . . . . . . . . . . . . . . . . . . . . 1 1 2 4 6 6 6 7 8 8 9 9 10 14 17
4 Business Values Of Cloud Computing 5 Limitations 6 Cloud Vendors : Top Five
7 Future Scope 20 7.1 Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8 Conclusion 9 References 22 23
List of Figures
1.1 1.2 1.3 2.1 3.1 4.1 6.1 Timeline of computing transformation . . . . . . . . . . . . . . . . . Cloud, IT on rent via internet . . . . . . . . . . . . . . . . . . . . . . Comparing the three Grid, Utility and Cloud Computing . . . . . . . Cloud Computing Deployment Models . . . . . . . . . . . . . . . . . Cloud Computing Service Model . . . . . . . . . . . . . . . . . . . . . 2 3 4 7 8
Cloud Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Cloud Porviders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Chapter 1 Introduction to Cloud Computing
Cloud computing has evolved through a number of phases which include grid, utility computing and Software as a Service (SaaS) but the overarching concept of delivering computing resources through a global network is rooted in the sixties , when John McCarthy opined that ”computation may someday be organized as a public utility.” However, since the internet only started to oﬀer signiﬁcant bandwidth till nineties, cloud computing for the masses has been something of a late developer. Figure 1.1 shows the evolution phases of cloud computing. As the computation complexity increased overtime, ”Cluster Computing” came in light that was based on using multiple computers together, to perform a task, in parallel. The next concept was of ”Grid Computing”, that was extending Cluster computing in the sense that here ”Clusters” can be distributed in diﬀerent geographical regions. In parallel another term ”Utility Computing” also emerged that was the ﬁrst that brought the concept of ”PAY-PER-USAGE” model for resources but it was complex to manage as all the control had to be done by the end-user. The next is what we are discussing here, “ The Cloud Computing ”. One of the ﬁrst milestones for cloud computing was the arrival of Salesforce.com in 1999, which pioneered the concept of delivering enterprise applications (SaaS) via a simple website. The services ﬁrm paved the way for both specialist and mainstream software ﬁrms to deliver applications over the internet. The next development was Amazon Web Services in 2002, which provided a suite of cloud-based services including storage, computation and even human intelligence through the Amazon Mechanical Turk. Then in 2006, Amazon launched its Elastic Compute cloud (EC2) as a commercial web service that allows small companies and individuals to rent computers on which to run their own computer
Figure 1.1: Timeline of computing transformation
Another big milestone came in 2009, as Web 2.0 hit its stride, and Google and others started to oﬀer browser-based enterprise applications, though services such as Google Apps. The most important contribution to cloud computing has been the emergence of ”killer apps” from leading technology giants such as Microsoft and Google. When these companies deliver services in a way that is reliable and easy to consume, the knock-on eﬀect to the industry as a whole is a wider general acceptance of online services.
Everyone has an opinion on what is cloud computing. It can be the ability to rent a server or a thousand servers and run a geophysical modeling application on the most powerful systems available anywhere. It can be the ability to rent a virtual server, load software on it, turn it on and oﬀ at will, or clone it ten times to meet a sudden workload demand. It can be storing and securing immense amounts of data that is accessible only by authorized applications and users. The cloud model diﬀers from traditional outsourcing in that customers do not hand over their own IT resources to be managed. Instead they plug into the cloud, treating it as they would an internal data center or computer providing the same functions. Figure 1.2 gives a abstract look to cloud computing that allow an end user to access cloud facilties that the cloud providers provides via internet.The term came into vogue a few years ago and has since generated its share of controversy. Here are some descriptions found for cloud computing:
Figure 1.2: Cloud, IT on rent via internet
• General Deﬁnition - The term cloud is used as a metaphor for the Internet, based on the cloud drawing used in the past to represent the telephone network, and later to depict the Internet in computer network diagrams as an abstraction of the underlying infrastructure it represents and computing reﬂects the ability of performing computing tasks. • Wikipedia deﬁnes it as “ An Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.” • Amazon EC2 It’s “ A web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers ” • Salesforce.com “ When you use any app that runs in the cloud, you just log in, customize it, and start using it” • A technical deﬁnition is “ A computing capability that provides an abstraction between the computing resource and its underlying technical architecture (e.g., servers, storage, networks), enabling convenient, on-demand network access to a shared pool of conﬁgurable computing resources that can be rapidly provisioned and released with minimal management eﬀort or service provider interaction.” Clearly, there is a diversity of opinion on what cloud computing is, what it isn’t, and whether it’s a sea change or just another technology but I suggest not to get hung up on deﬁnitions. Don’t focus on the jargon of whether something is cloud computing, or software as a service, or the latest buzzword. Instead, focus on the
changing IT equation. The world of computing is moving away from the on-premises IT model, where you keep buying servers, PCs and software licenses as your business grows. Cloud computing disrupts the conventional model and opens a new IT path for the small-to-midsize business: ”clouds” of computing power, accessed over the Internet, become your server and your data center. Among the clouds: inexpensive applications that users can access on demand from any location and through a variety of devices.
Comparison of the three: Grid, Utility and The Cloud Computing
Whenever anyone discuss about Cloud Computing, two more terms appear overwhelming with it namely GRID computing and UTILITY computing but there is a clear distinction between GRID and CLOUD whereas UTILTY is extended by The Cloud.
Figure 1.3: Comparing the three Grid, Utility and Cloud Computing
Figure 1.3 gives a clear distinction between the three. Where grid brought the concept of clustering, utility introduced renting facility that is extended by cloud computing with ease of use through abstraction.
• Grid computing is a form of distributed computing whereby resources of many computers in a network is used at the same time, to solve a single problem. Grid systems are designed for collaborative sharing of resources. It can also be thought of as distributed and large-scale cluster computing. Here all the resources are allocated simultaneously means scalability is a big issue. • Utility computing users, conversely, are seeking a service that allows them to deploy, manage, and scale online services using the provider’s resources and pay for resources they consume. However, they want to be in control of the geographic location of the infrastructure and what runs on each server. As the underlying infrastructure is under the control of user thus sometimes it becomes complex for use. • Cloud computing is a broader concept than utility computing. Cloud computing is the use of a 3rd party service (Web Services) to perform computing needs. With cloud computing, companies can scale up to massive capacities in an instant without having to invest in new infrastructure. Basically consumers use what they need on the Internet and pay only for what they use. Cloud computing eliminates the costs and complexity of buying, conﬁguring, and managing the hardware and software needed to build and deploy applications; these applications are delivered as a service over the Internet (the cloud).It provides an abstraction to end user from the complexities of underlying complex infrastructure.
Chapter 2 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. There are three basic service models to consider, and they differed as the open APIs versus the proprietary ones. These are public, private and hybrid cloud and IT organization can choose to deploy applications according to their requirements.
Public clouds are run by third parties, and applications from diﬀerent customers are likely to be mixed together on the cloud’s servers, storage systems, and networks. Public clouds are most often hosted away from customer premises, and they provide a way to reduce customer risk and cost by providing a ﬂexible, even temporary extension to enterprise infrastructure. If a public cloud is implemented with performance, security, and data locality in mind, the existence of other applications running in the cloud should be transparent to both cloud architects and end users. Indeed, one of the beneﬁts of public clouds is that they can be much larger than a company’s private cloud might be, oﬀering the ability to scale up and down on demand, and shifting infrastructure risks from the enterprise to the cloud provider, if even just temporarily.
Private clouds are built for the exclusive use of one client, providing the utmost control over data, security, and quality of service. The company owns the
infrastructure and has control over how applications are deployed on it. Private clouds may be deployed in an enterprise datacenter, and they also may be deployed at a colocation facility. Private clouds can be built and managed by a company’s own IT organization or by a cloud provider. 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.
Figure 2.1: Cloud Computing Deployment Models
Figure 2.1 shows the three possible models and a clear distinction between the three. Where the public cloud is avialable to all subscribers at some remote location, the private cloud is on-premise to company and is used by itself whereas the third is the combination of the previous two and is best when security is promised to high level.
Hybrid clouds combine both public and private cloud models (Figure 5). They can help to provide on-demand, externally provisioned scale. 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 ﬂuctuations. A hybrid cloud also can be used to handle planned workload spikes. Hybrid clouds introduce the complexity of determining how to distribute applications across both a public and private cloud. Among the issues that need to be considered is the relationship between data and processing resources. If the data is small, or the application is stateless, a hybrid cloud can be much more successful than if large amounts of data must be transferred into a public cloud for a small amount of processing.
Chapter 3 SPI : Cloud Computing Service Model
In practice, cloud service providers tend to oﬀer services that can be grouped into three categories: software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (Iaas). Figure 3.1 shows Cloud Computing service architecture as a SPI model.
Figure 3.1: Cloud Computing Service Model
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. Unlike traditional applications that users install on their computers or servers, SaaS software is owned by the vendor and runs on computers in the vendor’s data center (or a colocation facility). A single instance of the software runs on the cloud and services multiple end users or client organizations. Broadly speaking, all customers of a SaaS vendor use the same software: these are one-size-ﬁts-all solutions. Well known examples are Salesforce.com, Google’s
Gmail and Apps, instant messaging from AOL, Yahoo and Google, and Voice-over Internet Protocol (VoIP) from Vonage and Skype.
Platform as a service (PaaS)
PaaS provides virtualized servers on which users can run applications, or develop new ones, without having to worry about maintaining the operating systems, server hardware, load balancing or computing capacity. A PaaS environment provides compute power by providing a runtime environment for application code. Therefore the unit of deployment is a package that contains application code or some compiled version of the application code. Another capability of PaaS environments is that scale can be speciﬁed via conﬁguration and provided automatically by the environment. For example, if you need three instances of a web user interface in order to deal with anticipated load then this could be speciﬁed in a conﬁguration ﬁle and the environment would deploy your three instances automatically. For example, Microsoft’s Azure Services Platform supports the .NET Framework and php. As another example Google’s App Engine supports Java and Python.
Infrastructure as a service (IaaS)
In its purest incarnation Infrastructure as a Service (IaaS) oﬀers compute power, storage, and networking infrastructure (such as ﬁrewalls and load balancers) as a service via the public internet. An IaaS customer is a software owner that is in need of a hosting environment to run their software. Originally the term for this type of oﬀering was Hardware as a Service (HaaS). IaaS vendors use virtualization technologies to provide compute power. Therefore the unit of deployment is a virtual machine which is built by the software owner. The best known example is Amazon’s Elastic Compute Cloud (EC2) and Simple Storage Service (S3). Commercial examples of IaaS include Joyent, whose main product is a line of virtualized servers that provide a highly available on-demand infrastructure. Services are typically charged by usage and can be scaled dynamically, i.e. capacity can be increased or decreased more or less on demand.
Chapter 4 Business Values Of Cloud Computing
“ Cloud computing represents a key technology in delivering new economics, rapid deploy-ment of services, and tight alignment with business goals” - IBM Research Doubles its Productivity with Cloud Computing Cloud computing has matured from buzzword to a dynamic infrastructure used today by several organizations. Leading analysts-including thought leaders from Gartner, Forrester, and IDC-agree that this new model oﬀers signiﬁcant advantages for fast-paced startups, SMBs and enterprises alike. Today, forward-thinking business leaders are using the cloud within their enterprise data centers to take advantage of the best practices that cloud computing has established, namely elasticity, pay-as-you-go model, automation, reduced capital investment and resource sharing and much more. • Elasticity This characteristic is just as important as it has ever been. Applications designed for cloud computing need to scale with workload demands so that performance and compliance with service levels remain on target. In order to achieve this, applications and their data must be loosely coupled to maximize scalability. The term elastic often applies to scaling cloud applications because they must not only be ready to scale up, but also scale down as workloads diminish in order to not run up the cost of deploying in the cloud. The Animoto application is a good example of how the cloud can be used to scale applications and maintain quality of service levels. Animoto’s mashup tool can creates a video from a set of images and music. The company’s application scaled from 50 to 3,500 servers in just three days due in part
to an architecture that allowed it to scale easily.
Figure 4.1: Cloud Responses
Figure 4.1 shows the responses of the various companies that are adopting cloud computing as their business tool and the resons, why they are accepting it. • Pay-as-you-go model The metered cost, pay-as-you-go approach appeals to small- and mediumsized enterprises; IT is remotely managed and maintained, typically for a monthly fee, and the company can let go of ”plumbing concerns”. Since the vendor has many customers, it can lower the per-unit cost to each customer. SaaS deployments usually take less time than in-house ones, upgrades are easier, and users are always using the most recent version of the application. • Availability Whether the application serves the users of social networking sites, or it manages the supply chain for a large manufacturing company, users of Internet applications expect them to be up and running every minute of every day. As all the data is at somewhere on the cloud i.e. at some remote location so it can easily be access from any location at any time. • Reliability
Cloud Services are all time available without any interruption of server failed, data loss as all the deployment is taken as a backup all the times and whenever needed, backup server is placed at the place of original server. • Lower Capital Expenditure (CapEx) and maintenance cost Costs are reduced in a number of ways. Capital expenditures are reduced because a lot of the load and storage will be shifted over to the service provider who can provide that service at a lower cost. Aside from decreased capital expenditures associated with hardware purchases, users would see the cost of software decrease due to the reduced cost of subscription software. IT staﬀ at businesses would be reduced because the majority of the maintenance is performed at the service provider. All the resources are inside the cloud so you need not to worry about the maintenance of the rented resources and also of their updation • Reduce run time For applications that use the cloud essentially for running batch jobs, cloud computing makes it straightforward to use 1000 servers to accomplish a task in 1/1000 the time that a single server would require. The New York Times example is the perfect example of what is essentially a batch job whose run time was shortened considerably using the cloud. When The New York Times wished to convert 11 million articles and images in its archive to PDF format, their internal IT organization said that it would take seven weeks. In the mean time, one developer using 100 Amazon EC2 simple Web service interface instances running completed the job in 24 hours for less than 300 dollars. • Automation This is one of the greatest advantage of cloud computing. It allows the customer to deﬁne a conﬁguration ﬁle for the deployment of his ﬁle according to which the resourced for his application respond to up and downs . It means that there is no need to again and again managing the deployed application. Also, cloud allows automated updation of software thereby reducing human
intervention in its process to some more. • Increased pace of innovation Cloud computing can help to increase the pace of innovation. The low cost of entry to new markets helps to level the playing ﬁeld, allowing start-up companies to deploy new products quickly and at low cost. This allows small companies to compete more eﬀectively with traditional organizations whose deployment process in enterprise datacenters can be signiﬁcantly longer. Increased competition helps to increase the pace of innovation - and with many innovations being realized through the use of open source software, the entire industry serves to beneﬁt from the increased pace of innovation that cloud computing promotes. • Environmentally Friendly One of the greatest advantages of cloud computing is the increased longevity and use of older hardware used by datacenters. This in turn lessens the amount of electronic waste dumped because equipment is older and increased use of those resources. When businesses use current assets instead of purchasing additional hardware they reduce the size of their carbon footprint because it is one less server that is put into service, it is one less server that is consuming electricity . • Agility IT organizations can use the cloud to reduce the risk inherent in purchasing physical servers. How many servers are needed and can they be deployed as quickly as the workload increases? When pushing an application out to the cloud, scalability and the risk of purchasing too much or too little infrastructure becomes the cloud provider’s issue. In a growing number of cases, the cloud provider has such a massive amount of infrastructure that it can absorb the growth and workload spikes of individual customers, reducing the ﬁnancial risk they face and can respond to the sudden growth in market.
Chapter 5 Limitations
All the good things speciﬁed previously may all sound very appealing but there are downsides too.Some of them are as follows: • Lack of control In the cloud you may not have the kind of control over your data or the performance of your applications that you need, or the ability to audit or change the processes and policies under which users must work. Monitoring and maintenance tools are immature. It is hard to get metrics out of the cloud and general management of the work is not simple.There are systems management tools for the cloud environment but they may not integrate with existing system management tools, so you are likely to need two systems. • Data Loss and Privacy Cloud customers may risk losing data by having them locked into proprietary formats and may lose control of data because tools to see who is using them or who can view them are inadequate. Data loss is a real risk. In October 2009 1 million US users of the T-Mobile Sidekick mobile phone and emailing device lost data as a result of server failure at Danger, a company recently acquired by Microsoft. Also, when the data is stored at some remote location of some third party vendor, there is a great issue of privacy for which some provisions should be established and standardized.
• Standardization It may not be easy to tailor service-level agreements (SLAs) to the speciﬁc needs of a business. Compensation for downtime may be inadequate and SLAs are unlikely to cover concomitant damages, but not all applications have stringent uptime requirements. It is sensible to balance the cost of guaranteeing internal uptime against the advantages of opting for the cloud. Standards are immature and things change very rapidly in the cloud. • Rent Cost Calculating cost savings is also not straightforward. Having little or no capital investment may actually have tax disadvantages. SaaS deployments are cheaper initially than in-house installations and future costs are predictable; after 3-5 years of monthly fees, however, SaaS may prove more expensive overall. Large instances of EC2 are fairly expensive, but it is important to do the mathematics correctly and make a fair estimate of the cost of an ”on-premises” (i.e., in-house) operation. • Interoperability All IaaS and SaaS providers use diﬀerent technologies and diﬀerent standards. The storage infrastructure behind Amazon is diﬀerent from that of the typical data center (e.g., big Unix ﬁle systems). The Azure storage engine does not use a standard relational database; Google’s App Engine does not support an SQL database. So you cannot just move applications to the cloud and expect them to run. At least as much work is involved in moving an application to the cloud as is involved in moving it from an existing server to a new one. There is also the issue of employee skills: staﬀ may need retraining and they may resent a change to the cloud and fear job losses. • Latency and Performance Issues Last but not least, there are latency and performance issues. The Internet connection may add to latency or limit bandwidth. (Latency, in general, is the period of time that one component in a system is wasting time
waiting for another component. In networking, it is the amount of time it takes a packet to travel from source to destination.) Nevertheless, the service provider, not the scientist, controls the hardware, so unanticipated sharing and reallocation of machines may aﬀect run times. In future, programming models exploiting multithreading may hide latency. In general, SaaS solutions work best for non-strategic, non-missioncritical processes that are simple and standard and not highly integrated with other business systems. Customized applications may demand an in-house solution, but SaaS makes sense for applications that have become commoditized, such as reservation systems in the travel industry.
Chapter 6 Cloud Vendors : Top Five
Cloud computing is spreading through the IT world like wildﬁre, with innovative start-ups and established vendors alike clamoring for customer attention. According to service layers of cloud computing cloud providers fall into three categories: software-as-a-service providers; infrastructure-as-aservice vendors that oﬀer Web-based access to storage and computing power; and platform-as-a-service vendors that give developers the tools to build and host Web applications. Here are the top ﬁve cloud companies that are worth watching. • Amazon Web Services Leading cloud pioneer Amazon oﬀers several diﬀerent in-the-cloud services. The best known is Amazon Elastic Compute Cloud, or Amazon EC2, which allows customers to set up and access virtual servers via a simple Web interface. Fees are assessed hourly based on the number and size of virtual machines you have (.10 dollar -.80 dollar per hour), with an additional fee for data transfer. EC2 is designed to work in conjunction with Amazon’s other cloud services, which include Amazon Simple Storage Service (S3), Simple DB, Cloudfront, Simple Queue Service (SQS), and Elastic MapReduce. The Amazon Web Services list of partners is high proﬁle, including the likes of Citrix, Facebook, IBM, Oracle, Red Hat, and others. • Google Yes, they own search - and are working on owning the cloud. With
Gmail, Google Docs, Google Calendar, and Picasa in its lineup, Google offers some of the best known cloud computing services available. They also oﬀer some lesser known cloud services targeted primarily at enterprises, such as Google Sites, Google Gadgets, Google Video, and most notably, the Google Apps Engine. The Apps Engine allows developers to write applications to run on Google’s servers while accessing data that resides in the Google cloud as well as data that resides behind the corporate ﬁrewall. While it has been criticized for limited programming language support, the Apps Engine debuted Java and Ajax support in April, which may make it more appealing to developers.
Figure 6.1: Cloud Porviders
• Microsoft The software giant’s ambitious Azure initiative has a solution for every Microsoft constituency, from ISVs to Web developers to enterprise clients to consumers. Formally unveiled in 2008, Azure is still very much a work in progress. If it succeeds as Microsoft hopes, in future years we’ll be talking about ”Windows Azure,” a cloud-based OS that oﬀers remote computing power, storage and management services. To make the dream come true, Microsoft is investing a king’s fortune in a network of dollar 500 million, 500,000-square-feet datacenters around the country. The facilities will presumably form the physical backbone of the cloud network. If all goes according to plan, Microsoft will not only control the software but also the physical infrastructure that delivers that software. In other words, the
company is attempting to be even bigger than it is now.
• Salesforce.com More than 59,000 companies use Salesforce.com’s Sales Cloud and Service Cloud solutions for customer relationship management, which has helped make it one of the most well-known and most successful cloud computing companies. In addition, through Force.com, it allows developers to use the Salesforce.com platform to develop their own applications. Users can also purchase access to the Force.com cloud infrastructure to deploy their applications.
•Oracle Although Oracle chief Larry Ellison hasn’t always been a big supporter of the cloud model - and yes, that’s an understatement - Oracle’s cloud oﬀerings are substantial. The company’s cloud portfolio includes a number of SaaS solutions which fall into three broad categories: CRM On Demand, Beehive On Demand (secure collaboration), and Sourcing on Demand. For developers, they oﬀer Oracle Platform for SaaS. And they’ve also partnered with Amazon Web Services to allow companies to deploy or backup Oracle Database and other products through EC2. In addition, thanks to its recent acquisition, Oracle also adds Sun Microsystems’ cloud oﬀerings to its portfolio. In ﬁscal 2009, Oracle reported dollar 779 million in revenue from its On Demand applications. That’s an increase of 12 percent from 2008’s dollar 694 million.
Chapter 7 Future Scope
As the ”End-User Computing Revolution” enters its 25th year of empowering users, the next phase will be dominated by Cloud Computing together with the ”always available” clients such as the Netbook and SmartPhones that are providing a world in which the end-user has complete control over their client-server, web based, and computing solutions - allowing them to choose what they use, where they use it, and where they get solutions from. But cloud technologies and models have not yet reached their full potential and many of the capabilities associated with the clouds are not yet developed and researched to a degree that allows their exploitation to the full degree, respectively meeting all requirements under all potential circumstances of usage.
Many aspects are still in an experimental stage where the long-term impact on provisioning and usage is as yet unknown. Furthermore, plenty of as yet unforeseen challenges arise from exploiting the cloud capabilities to their full potential, involving in particular aspects deriving from the large degree of scalability and heterogeneity of the underlying resources. We need to determine the technological gaps that need to be closed in order to realize cloud infrastructures that fulﬁll the speciﬁc cloud characteristics. Here is the list of some points that should be considered while going for cloud computing: – Trust, security and privacy always pose issues in any internet provided ser-
vice, but due to the speciﬁc nature of clouds, additional aspects related e.g. to multi-tenancy arise and control over data location etc. arise. What is more, clouds simplify malicious use of resources, e.g. for hacking purposes, but also for sensitive calculations (such as weapon design) etc. – Handling data in clouds is still complicated - in particular as data size and diversity grows, pure replication is no viable approach, leading to consistency and eﬃciency issues. Also, the lacking control over data location and missing provenance poses security and legalistic issues. – Scale and Elastic scalability which is not only currently restricted to horizontal scale out, but also ineﬃcient as it tends to resource over usage due to limited scale down capabilities and full replication of instances rather than only of essential segments.
Chapter 8 Conclusion
TIn today’s global competitive market, companies must innovate and get the most from its resources to succeed. This requires enabling its employees, business partners, and users with the platforms and collaboration tools that promote innovation. Cloud computing infrastructures are next generation platforms that can provide tremendous value to companies of any size. They can help companies achieve more eﬃcient use of their IT hardware and software investments and provide a means to accelerate the adoption of innovations. Cloud computing increases proﬁtability by improving resource utilization. Costs are driven down by delivering appropriate resources only for the time those resources are needed. Cloud computing has enabled teams and organizations to streamline lengthy procurement processes. Cloud computing enables innovation by alleviating the need of innovators to ﬁnd resources to develop, test, and make their innovations available to the user community. Innovators are free to focus on the innovation rather than the logistics of ﬁnding and managing resources that enable the innovation. Clouds already make sense for many small and medium sized businesses, but technical, ﬁnancial, and operational hurdles will need to be overcome before cloud will be used extensively by large public and private enterprises.
Chapter 9 References
– Greg Boss, Padama Maladi, Dennis Quan, ”Cloud Computing” , Oct. 8, 2007. [Online]. Available:” https://www.ibm.com/developerworks/websphere/zones/hipods/”. [Accessed: March 18, 2010]. – David Chappell, ”A short introduction to cloud platform,” August 2008. [Online]. Available: ”www.davidchappell.com/CloudPlatforms–Chappell.pdf” [Accessed: March 19, 2010]. – ”A ’snia’s explanation of Cloud Storage for Cloud Computing,” Sept. 2009. [Online]. Available: www.snia.org/cloud/CloudStorageForCloudComputing.pdf. [Accessed: March 20, 2010]. – Santonu Sarkar, ”Are SaaS and Cloud Computing the future,” 1st India Software Engineering Conference, Bangalore, India, 2008 – Lutz Schubert, Keith Jeﬀery, ”The future of cloud computing” Dec. 2009.[Online].Available: ”http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-report-ﬁnal.pdf” [Accessed: March 20,2010]. – Wikipedia, ’Cloud Computing’. Available: http://en.wikipedia.org/wiki/CloudComputing – Barr, J. , ’Amazon EC2 Beta’, Dec 2006 [Online]. Available http: //aws.typepad.com/aws/ amazon-ec2-beta.html – Harris, D. , ’Grid vs. Cloud vs. What Really Matters’, April 2008,[Online]. Available: http://www.on-demandenterprise.com/blogs/Grid-vs-Cloud-vsWhat-Really-Matters.html [Accessed: March 21,2010]. – By Sun Microsystem, ”INTRODUCTION TO CLOUD COMPUTING ARCHITECTURE” , June 2009[Online]. Avilable : www.sun.com/featuredarticles/CloudComputing.pdf. [Accessed: April 2, 2010]