CLOUD COMPUTING

CHAPTER 1 Introduction

According to the IEEE Computer Society Cloud Computing is: "A paradigm in which information is permanently stored in servers on the Internet and ached temporarily on clients that include desktops, Entertainment centres, table computers, notebooks, wall computers, handhelds, etc." Cloud computing is Internet ("cloud") based development and use of computer technology ("computing"). It is an emerging computing technology that uses the Internet and central remote servers to maintain data and applications. Cloud computing allows consumers and business to use applications without installation and access their personal files at any computer with Internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth. A definition for cloud computing can be given as an emerging computer paradigm where data and services reside in massively scalable data centres in the cloud and can be accessed from any connected devices over the internet. The best example of cloud computing is Google Apps where any application can be accessed using a browser and it can be deployed on thousands of computer through the Internet. Cloud computing is the next natural step in the evolution of on-demand information technology services and products. To a large extent cloud computing will be based on virtualized resources. The idea of cloud computing is based on a very fundamental principal of reusability of IT capabilities. Computing can be described as any activity of using and/or developing computer hardware and software. It includes everything that sits in the bottom layer, i.e. everything from raw compute power to storage capabilities. Cloud computing ties together all these entities and delivers them as a single integrated entity under its own sophisticated management. Cloud is a term used as a metaphor for the wide area networks (like internet) or any such large networked environment. It came partly from the cloud-like symbol used to represent the complexities of the networks in the schematic diagrams. It represents all the complexities of the network which may include everything from cables, routers, servers, data centres and all such other devices. With cloud computing we come back to the centralized computing infrastructure. It is something which can easily be accessed via the internet and something over which we have all the control.

Dept. of ECE, College Of Engineering Perumon

1

CLOUD COMPUTING

CHAPTER 2 How does a Cloud work??
A cloud user needs a client device such as a laptop or desktop computer or any computing resource with a web browser (or other approved access route) to access a cloud system via the World Wide Web. Typically the user will log into the cloud at a service provider or private company, such as their employer. Cloud computing works on a client-server basis using web browser protocols. The cloud provides server-based applications and all data services to the user, with output displayed on the client device.

If the user wishes to create a document using a word processor, for example, the cloud provides a suitable application running on the server which displays work done by the user on the client web browser display. Memory allocated to the client system's web browser is used to make the application data appear on the client system display, but all computations and changes are recorded by the server, and final results including files created or altered are permanently stored on the cloud servers.

Cloud services work on multiple platforms, including Linux, Macintosh, and Windows computers. Smart phones, pads and tablet devices with Internet and World Wide Web access also provide cloud services to telecommuting and mobile users. A service provider may pool the processing power of multiple remote computers in a cloud to achieve routine tasks such as backing up of large amounts of data, word processing, or computationally intensive work. These tasks might normally be difficult, time consuming, or expensive for an individual user or a small company to accomplish, especially with limited computing resources and funds.

With cloud computing, clients require only a simple computer, such as netbooks, designed with cloud computing in mind, or even a Smartphone, with a connection to the Internet, or a company network, in order to make requests to and receive data from the cloud, hence the term "software as a service" (SaaS). Computation and storage is divided among the remote computers in order to handle large volumes of both, thus the client need not purchase expensive hardware or software to handle the task. The outcome of the processing task is returned to the client over the network, dependent on the speed of the Internet connection.

Dept. of ECE, College Of Engineering Perumon

2

CLOUD COMPUTING

FIG 2.1

Dept. of ECE, College Of Engineering Perumon

3

CLOUD COMPUTING

CHAPTER 3 Cloud Architecture
Cloud architecture the systems architecture of the software systems involved in the delivery of cloud computing, comprises hardware and software designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces, usually web services. This closely resembles the Unix philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts. Cloud architecture extends to the client, where web browsers and/or software applications access cloud applications. Cloud storage architecture is loosely coupled, where metadata operations are centralized enabling the data nodes to scale into the hundreds, each independently delivering data to applications or users.

FIG 3.1

Dept. of ECE, College Of Engineering Perumon

4

CLOUD COMPUTING

CHAPTER 4 Cloud Computing services
The cloud computing services are broadly divided into three categories: • • • Infrastructure-as-a-Service (IaaS) Platform-as-a-Service (PaaS) Software-as-a-Service (SaaS)

Infrastructure-as-a-Service provides virtual server instances with unique IP addresses and blocks of storage on demand. Customers use the providers application program interface to start, stop, access and configure their virtual servers and storage. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Platform-as-a-service in the cloud is defined as a set of software and product development tools hosted on the provider's infrastructure. Developers create applications on the provider's platform over the Internet. In the software-as-a-service cloud model, the vendor supplies the hardware infrastructure, the software product and interacts with the user through a front-end portal. Even though cloud computing is a pretty new technology, there are many companies offering the above mentioned cloud computing services. Different companies like Amazon, Google, Yahoo, IBM and Microsoft are all players in the cloud computing services industry. But Amazon is the pioneer in the cloud computing industry with services like EC2 (Elastic Compute Cloud) and S3 (Simple Storage Service) dominating the industry. Microsoft has good knowledge of the fundamentals of cloud science and is building massive data centres. IBM, the king of business computing and traditional supercomputers, teams up with Google to get a foothold in the clouds. Google is far and away the leader in cloud computing with the company itself built from the ground up on hardware.

Dept. of ECE, College Of Engineering Perumon

5

CLOUD COMPUTING

FIG 4.1

CHAPTER 5
Dept. of ECE, College Of Engineering Perumon 6

CLOUD COMPUTING

Implementing Cloud Computing
All of the architectural and organizational considerations mentioned herein are generally apply to all implementations of a cloud infrastructure. As we focus on building the cloud, a number of models have been developed for deploying a cloud infrastructure.

5.1 Private Clouds
In a private cloud, the infrastructure for implementing the cloud is controlled completely by the enterprise. Typically, private clouds are implemented in the data center of the enterprise and managed by internal resources. A private cloud maintains all corporate data in resources under the control of the legal and contractual umbrella of the organization. This eliminates the regulatory, legal and security concerns associated with information being processed on third party computing resources. The private cloud can also be used by existing IT departments to dramatically reduce their costs and as an opportunity to shift from a cost center to a value center in the eyes of the business.

5.2 Public Clouds
In a public cloud, external organizations provide the infrastructure and management required to implement the cloud. Public clouds dramatically simplify implementation and are typically billed based on usage. This transfers the cost from a capital expenditure to an operational expense and can quickly be scaled to meet the organization’s needs. Temporary applications or applications with burst resource requirements typically benefit from the public cloud’s ability to ratchet up resources when needed and then scale them back when they are no longer needed. In a private cloud, the company would need to provision for the worst case across all the applications that share the infrastructure. This can result in wasted resources when utilization is not at its peak. Public clouds have the disadvantage of hosting your data in an offsite organization outside the legal and regulatory umbrella of your organization. In addition, as most public clouds leverage a worldwide network of data centers, it is difficult to document the physical location of data at any particular moment. These issues result in potential regulatory compliance issues that include the use of public clouds for certain organizations or business applications. Not all public cloud based applications can provide the necessary flexibility and functionality needed by business users. For this reason, customers require the ability to take preferred functionality from one cloud application and combine it with another, creating a cloud based component application. This
Dept. of ECE, College Of Engineering Perumon 7

CLOUD COMPUTING

is still an emerging area of development with some early companies, such as Cast Iron, providing integration of a wide range of cloud-based applications. Ultimately, many customers may decide that the private cloud offers more flexibility and develop new applications themselves.

5.3 Hybrid Clouds
To meet the benefits of both approaches, newer execution models have been developed to combine public and private clouds into a unified solution. Applications with significant legal, regulatory or service level concerns for information can be directed to a private cloud. Other applications with less stringent regulatory or service level requirements can leverage a public cloud infrastructure. Implementation of a hybrid model requires additional coordination between the private and public service management system. This typically involves a federated policy management tool, seamless hybrid integration, federated security, information asset management, coordinated provisioning control, and unified monitoring systems. Hybrid clouds combine both public and private cloud models. This is most often seen with the use of storage clouds to support Web 2.0 applications.

Dept. of ECE, College Of Engineering Perumon

8

CLOUD COMPUTING

CHAPTER 6

Characteristics of Cloud computing 6.1 Dynamic computing infrastructure
Cloud computing requires a dynamic computing infrastructure. The foundation for the dynamic infrastructure is a standardized, scalable, and secure physical infrastructure. There should be levels of redundancy to ensure high levels of availability, but mostly it must be easy to extend as usage growth demands it, without requiring architecture rework. Next, it must be virtualized. A dynamic computing infrastructure is critical to effectively supporting the elastic nature of service provisioning and de-provisioning as requested by users while maintaining high levels of reliability and security. The consolidation provided by virtualization, coupled with provisioning automation, creates a high level of utilization and reuse, ultimately yielding a very effective use of capital equipment.

6.2 IT service-centric approach
Cloud computing is IT (or business) service-centric. This is in sharp contrast to more traditional system- or server- centric models. In most cases, users of the cloud generally want to run some business service or application for a specific, timely purpose; they don’t want to get bogged down in the system and network administration of the environment. They would prefer to quick and easy access a dedicated instance of an application or service. By abstracting away the server-centric view of the infrastructure, system users can easily access powerful pre-defined computing environments designed specifically around their service. The IT Service Centric approach enables user adoption and business agility – the easier and faster a user can perform an administrative task, the more expedient the business moves, reducing costs or driving revenue.

6.3 Self-service based usage model
Interacting with the cloud requires some level of user self-service. Best of breed self-service provides users the ability to upload, build, deploy, schedule, manage, and report on their business services on demand. Self-service cloud offerings must provide easy-to-use, intuitive user interfaces that equip users to productively manage the service delivery lifecycle.
Dept. of ECE, College Of Engineering Perumon 9

CLOUD COMPUTING

6.4 Minimally or self-managed platform
For an IT team or a service provider to efficiently provide a cloud for its constituents, they must leverage a technology platform that is self-managed. Best-of-breed clouds enable selfmanagement via software automation, leveraging the following capabilities: 1. A provisioning engine for deploying services and tearing them down recovering resources for high levels of reuse 2. Mechanisms for scheduling and reserving resource capacity Capabilities for configuring, managing, and reporting to ensure resources can be allocated and reallocated to multiple groups of users 3. Tools for controlling access to resources and policies for how resources can be used or operations can be performed All of these capabilities enable business agility while simultaneously enacting critical and necessary administrative control.

6.5 Consumption-based billing
Finally, cloud computing is usage-driven. Consumers pay for only what resources they use and therefore are charged or billed on a consumption-based model. Cloud computing platforms must provide mechanisms to capture usage information that enables charge back reporting and integration with billing systems.

Dept. of ECE, College Of Engineering Perumon

10

CLOUD COMPUTING

CHAPTER 7 Cloud Computing Security Plan
Cloud computing has unique security risks. Security risks, threats, and breaches can come in so many forms and from so many places that many companies take a comprehensive approach to security management across IT and the business. The following pointers useful for creating cloud computing security plan. • In most circumstances, approach cloud security from a risk-management perspective. Be sure to involve your organization’s risk-management specialists in the planning. • The cost of security could be an issue. Be aware of what similar organizations spend on IT security and be prepared to spend a similar amount. It also helps to track time lost due to any kind of attack—as a measurement of cost that you may be able to reduce. • Identity management is key. Give priority to improving identity management if your current capability is poor. • Try to create general awareness of security risks by educating and warning staff members about specific dangers. It is easy to become complacent, especially if you’re using a cloud service provider. However, most security breaches are created inside the network. • Use external IT security consultants to regularly check your company’s security policy and network, as well as those of your cloud service providers. • Determine specific IT security policies for change management and patch management, and make sure that policies are well understood by your staff and your cloud service provider. • Stay abreast of news about IT security breaches in other companies and the causes of those breaches. • Review backup and disaster-recovery systems in light of IT security. Apart from anything else, IT security breaches can require complete application recovery. Because of the complexity of securing cloud environments, many organizations use hybrid cloud environments that include public as well as private clouds. Cloud service providers each have their own way of managing security. Sometimes, the cloud service provider’s security plan will conflict with your company’s rules. Before you implement your security plan you need to ensure that it will complement your provider’s plan.

CHAPTER 8 Need for cloud computing
Dept. of ECE, College Of Engineering Perumon 11

CLOUD COMPUTING

What could we do with 1000 times more data and CPU power? Now that’s one very simple question the answer to which we all know. That’s all it took the interviewers to bewilder the confident job applicants at Google. This is a question of relevance because the amount of data that an application handles is increasing day by day and so is the CPU power that one can harness. There are many answers to this question. With this much CPU power, we could scale our businesses to 1000 times more users. Right now we are gathering statistics about every user using an application. With such CPU power at hand, we could monitor every single user click and every user interaction such that we can gather all the statistics about the user. We could improve the recommendation systems of users. We could model better price plan choices. With this CPU power we could simulate the case where we have, say 1, 00,000 users in the system without any glitches. There are lots of other things we could do with so much CPU power and data capabilities. But what is keeping us back. One of the reasons is the large scale architecture which comes with these are difficult to manage. There may be many different problems with the architecture we have to support. The machines may start failing, the hard drives may crash, the network may go down and many other such hardware problems. The hardware has to be designed such that the architecture is reliable and scalable. This large scale architecture has a very expensive upfront and has high maintenance costs. It requires different resources like machines, power, cooling, etc. The system also cannot scale as and when needed and so is not easily reconfigurable. The resources are also constrained by the resources. As the applications become large, they become I/O bound. The hard drive access speed becomes a limiting factor. Though the raw CPU power available may not be a factor, the amount of RAM available clearly becomes a factor. If at all the hardware problems are managed very well, there arises the software problems. There may be bugs in the software using this much of data. The workload also demands two important tasks for two completely different people. The software has to be such that it is bug free and has good data processing algorithms to manage all the data. The cloud computing works on the cloud - so there are large groups of often low-cost servers with specialized connections to spread the data-processing chores among them. Since there are a lot of low-cost servers connected together, there are large pools of resources available. So these offer almost unlimited computing resources. This makes the availability of resources a lesser issue. The data of the application can also be stored in the cloud. Storage of data in the cloud has many distinct advantages over other storages. One thing is that data is spread evenly through the cloud in such a way that there are multiple copies of the data and there are ways by which failure can be detected and the data can be rebalanced on the fly. The I/O operations become simpler in the cloud such that browsing and searching for something in 25GB or more of data becomes simpler in the cloud, which is nearly impossible to do on a desktop.
Dept. of ECE, College Of Engineering Perumon 12

CLOUD COMPUTING

The cloud computing applications also provide automatic reconfiguration of the resources based on the service level agreements. When we are using applications out of the cloud, to scale the application with respect to the load is a mundane task because the resources have to be gathered and then provided to the users. If the load on the application is such that it is present only for a small amount of time as compared to the time its working out of the load, but occurs frequently, then scaling of the resources becomes tedious. But when the application is in the cloud, the load can be managed by spreading it to other available nodes by making a copy of the application on to them. This can be reverted once the load goes down. It can be done as and when needed. All these are done automatically such that the resources maintain and manage themselves.

CHAPTER 9 Primary Benefits of Cloud Computing
Dept. of ECE, College Of Engineering Perumon 13

CLOUD COMPUTING

The primary benefits of using cloud computing are as follows: 1. To deliver a future state architecture that captures the promise of Cloud Computing, architects need to understand the primary benefits of Cloud computing. 2. Decoupling and separation of the business service from the infrastructure needed to run it (virtualization). 3. Flexibility to choose multiple vendors that provide reliable and scalable business services, development environments, and infrastructure that can be leveraged out of the box and billed on a metered basis—with no long term contracts. 4. Elastic nature of the infrastructure to rapidly allocate and de-allocate massively scalable resources to business services on a demand basis. 5. Cost allocation flexibility for customers wanting to move CapEx into OpEx. 6. Reduced costs due to operational efficiencies, and more rapid deployment of new business services.

Barriers to Cloud Computing
IT cloud services are still largely in the early adoption phase. As such, it is no surprise that there’s a long list of issues cloud services suppliers need to address to drive mainstream adoption. Here’s how our respondents rated nine of the challenges commonly ascribed to the cloud services model.

FIG 9.1

Dept. of ECE, College Of Engineering Perumon

14

CLOUD COMPUTING

1. Customer Perspective
• Data Security: Many customers don’t wish to trust their data to “the cloud”. Data must be locally retained for regulatory reasons. • Latency: The cloud can be many milliseconds away. Not suitable for real-time applications. • Application Availability: Cannot switch from existing legacy applications. Equivalent cloud applications do not exist.

2. Vendor Perspective
1. Service Level Agreements
• •

Security: with the businesses’ information and critical IT resources outside the firewall, customers worry about their vulnerability to attack. Cloud services dependability: The complex web of interdependency that supports cloud services availability and performance – from network availability and performance, to the availability and performance of the cloud service provider’s systems, and beyond, to the performance and availability of the “supply chain” of services that the service provider depends on – cries out for suppliers who can offer greater transparency of interdependencies as well as credible service level assurances.

2. Business Models •SaaS/PaaS models are challenging. •Much lower upfront revenue. While customers certainly enjoy the economic and operational benefits of the off-theshelf, standardized nature of many cloud services, this survey shows they nonetheless want greater ability to “fit” cloud services more tightly into the context of their specific business. Users want to maximize the leverage of their many other critical business systems – in-house legacy systems and, increasingly, externally-sourced cloud services – by being able to integrate across these systems. ”SaaS 1.0″ systems – that lack standard-based APIs, and are effectively “islands” – are of diminishing value; this is why user should be include the requirement for web services APIs in definition of cloud services.

3. Customer Lock-in • Customers want open/standard APIs.
Dept. of ECE, College Of Engineering Perumon 15

CLOUD COMPUTING

• Need to continuously add value.

Dept. of ECE, College Of Engineering Perumon

16

CLOUD COMPUTING

CHAPTER 10 Conclusion
Cloud Computing is a vast topic and the above report does not give a high level introduction to it. It is certainly not possible in the limited space of a report to do justice to these technologies. What is in store for this technology in the near future? Well, Cloud Computing is leading the industry’s endeavour to bank on this revolutionary technology. Today, with such cloud-based interconnection seldom in evidence, cloud computing might be more accurately described as "sky computing," with many isolated clouds of services which IT customers must plug into individually. Cloud loud Computing is a technology which took the software and business world by storm. The much deserved hype over it will continue for years to come. Cloud computing is a powerful new abstraction for large scale data processing systems which is scalable, reliable and available. In cloud computing, there are large selfmanaged server pools available which reduces the overhead and eliminates management headache. Cloud computing services can also grow and shrink according to need. Cloud computing is particularly valuable to small and medium businesses, where effective and affordable IT tools are critical to helping them become more productive without spending lots of money on inhouse resources and technical equipment. Also it is a new emerging architecture needed to expand the Internet to become the computing platform of the future. Cloud Computing is the next big thing in the arena of computing and storage. There are some concerns about security and its availability. However, different service providers are coming up with various solutions and suggestions in response to customers’ concerns. In any case, cloud is getting bigger and better, and as long as they are available through web services, without capital infrastructure investment at reasonable price, it is for sure going to proliferate and create robust demand in times to come.

CHAPTER 11
Dept. of ECE, College Of Engineering Perumon 17

CLOUD COMPUTING

Reference

1. http://en.wikipedia.org/wiki/Cloud_computing 2. http://www.sunmicrosystems.com 3. http://www.ibmsoftwarestrategygroup.com 4. http://searchcloudcomputing.techtarget.com 5. http://dbpedia.org/page/Cloud_computing 6. http://salesforce.com/cloudcomputing

Dept. of ECE, College Of Engineering Perumon

18