a history of cloud computing …  · web viewbecause of the costs to buy and maintain mainframe...

41
A brief history of cloud computing March 18, 2014 1:10 pm by Maximilliano Destefani Neto One of the first questions asked with the introduction of a new technology is: “When was it invented?” Other questions like “When it was first mentioned?” and “What are the prospects for its future?” are also common. When we think of cloud computing, we think of situations, products and ideas that started in the 21st century. This is not exactly the whole truth. Cloud concepts have existed for many years. Here, I will take you back to that time. It was a gradual evolution that started in the 1950s with mainframe computing. Multiple users were capable of accessing a central computer through dumb terminals, whose only function was to provide access to the mainframe. Because of the costs to buy and maintain mainframe computers, it was not practical for an organization to buy and maintain one for every employee. Nor did the typical user need the large (at the time) storage capacity and processing power that a mainframe provided. Providing shared access to a

Upload: vanquynh

Post on 06-Feb-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

A brief history of cloud computingMarch 18, 2014 1:10 pm by Maximilliano Destefani NetoOne of the first questions asked with the introduction of a new technology is: “When was it invented?” Other questions like “When it was first mentioned?” and “What are the prospects for its future?” are also common.

When we think of cloud computing, we think of situations, products and ideas that started in the 21st century. This is not exactly the whole truth. Cloud concepts have existed for many years. Here, I will take you back to that time.

It was a gradual evolution that started in the 1950s with mainframe computing.

Multiple users were capable of accessing a central computer through dumb terminals, whose only function was to provide access to the mainframe. Because of the costs to buy and maintain mainframe computers, it was not practical for an organization to buy and maintain one for every employee. Nor did the typical user need the large (at the time) storage capacity and processing power that a mainframe provided. Providing shared access to a single resource was the solution that made economical sense for this sophisticated piece of technology.

After some time, around 1970, the concept of virtual machines (VMs) was created.

Using virtualization software like VMware, it became possible to execute one or more operating systems simultaneously in an isolated environment. Complete computers (virtual) could be executed inside one physical hardware which in turn can run a completely different operating system.

The VM operating system took the 1950s’ shared access mainframe to the next level, permitting multiple distinct computing environments to reside on one physical environment. Virtualization came to drive the technology, and was an important catalyst in the communication and information evolution.

In the 1990s, telecommunications companies started offering virtualized private network connections.

Historically, telecommunications companies only offered single dedicated point–to-point data connections. The newly offered virtualized private network connections had the same service quality as their dedicated services at a reduced cost. Instead of building out physical infrastructure to allow for more users to have their own connections, telecommunications companies were now able to provide users with shared access to the same physical infrastructure.

The following list briefly explains the evolution of cloud computing:

• Grid computing: Solving large problems with parallel computing• Utility computing: Offering computing resources as a metered service• SaaS: Network-based subscriptions to applications• Cloud computing: Anytime, anywhere access to IT resources delivered dynamically as a service

Now, let’s talk a bit about the present.

SoftLayer is one of the largest global providers of cloud computing infrastructure.

IBM already has platforms in its portfolio that include private, public and hybrid cloud solutions. The purchase of SoftLayer guarantees an even more comprehensive infrastructure as a service (IaaS) solution. While many companies look to maintain some applications in data centers, many others are moving to public clouds.

Even now, the purchase of bare metal can be modeled in commercial cloud (for example, billing by usage or put another way, physical server billing by the hour). The result of this is that a bare metal server request with all the resources needed, and nothing more, can be delivered with a matter of hours.

A history of cloud computingArif Mohamed

A AA AAA Print Email Reprints Facebook inShare 22 Share This

Cloud computing has evolved through a number of phases which include grid and utility computing, application service provision (ASP), and Software as a Service (SaaS).

But the overarching concept of delivering computing resources through a global network is rooted in the sixties.

The idea of an "intergalactic computer network" was introduced in the sixties by J.C.R. Licklider, who was responsible for enabling the development of ARPANET (Advanced Research Projects Agency Network) in 1969.

His vision was for everyone on the globe to be interconnected and accessing programs and data at any site, from anywhere, explained Margaret Lewis, product marketing director at AMD. "It is a vision that sounds a lot like what we are calling cloud computing."

Other experts attribute the cloud concept to computer scientist John McCarthy who proposed the idea of computation being delivered as a public utility, similar to the service bureaus which date back to the sixties.

Since the sixties, cloud computing has developed along a number of lines, with Web 2.0 being the most recent evolution. However, since the internet only started to offer significant bandwidth in the nineties, cloud computing for the masses has been something of a late developer.

One of the first milestones in cloud computing history was the arrival of Salesforce.com in 1999, which pioneered the concept of delivering enterprise applications via a simple website. The services firm paved the way for both specialist and mainstream software firms 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 theAmazon 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 applications.

"Amazon EC2/S3 was the first widely accessible cloud computing infrastructure service," said Jeremy Allaire, CEO of Brightcove, which provides its SaaS online video platform to UK TV stations and newspapers.

Another big milestone came in 2009, as Web 2.0 hit its stride, and Google and others started to offer 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 effect to the industry as a whole is a wider general acceptance of online services," said Dan Germain, chief technology officer at IT service provider Cobweb Solutions.

Other key factors that have enabled cloud computing to evolve include the maturing of virtualisation technology, the development of universal high-speed bandwidth, and universal software interoperability standards, said UK cloud computing pioneer Jamie Turner.

Turner added, "As cloud computing extends its reach beyond a handful of early-adopter Google Docs users, we can only begin to imagine its scope and reach. Pretty much anything can be delivered from the cloud."

Following the cloud

"Many IT professionals recognise the benefits cloud computing offers in terms of increased storage, flexibility and cost reduction," said Songnian Zhou, chief executive officer ofPlatform Computing.

But he added that IT directors still have concerns about the security of their corporate data in the cloud. This means that it will be 2010 at the earliest before cloud adoption sees increased growth.

Julian Friedman, a specialist in emerging technologies, said that security and other concerns will soon be resolved.

"Considerations such as security, data privacy, network performance and economics are likely to lead to a mix of cloud computing centres both within the company firewall and outside of it."

He added that today's applications will naturally move towards a cloud model as they become more pervasively available through the web, require more data processing, and span the boundaries of multiple devices.

Experts seem to agree that cloud computing will ultimately transform today's computing landscape.

Andreas Asander, vice-principal of product management at virtualisation security specialist Clavister, said that once the security issues are resolved, cloud computing services "can enable an enterprise to expand its infrastructure, add capacity on demand, or outsource the whole infrastructure, resulting in greater flexibility, a wider choice of computing resources and significant cost savings."

It is clear that cloud computing can bring enormous benefits for IT users.

However, the bottom line for IT directors is that they will need to continue to manage their internal computing environments, whilst learning how to secure, manage and monitor the growing range of external resources residing in the cloud.

Cloud computingFrom Wikipedia, the free encyclopedia

Cloud computing metaphor: For a user, the network elements representing the provider-rendered services are

invisible, as if obscured by a cloud.

Cloud computing is a term used to refer to a model of network computing where a

program or application runs on a connected server or servers rather than on a local

computing device such as a PC, tablet or smartphone.

Like the traditional client-server model or older mainframe computing,[1] a user connects

with a server to perform a task. The difference with cloud computing is that the

computing process may run on one or many connected computers at the same time,

utilizing the concept of virtualization. With virtualization, one or more physical servers

can be configured and partitioned into multiple independent "virtual" servers, all

functioning independently and appearing to the user to be a single physical device.

Such virtual servers are in essence disassociated from their physical server, and with

this added flexibility, they can be moved around and scaled up or down on the fly

without affecting the end user. The computing resources have become "granular", which

provides end user and operator benefits including on-demand self-service, broad

access across multiple devices, resource pooling, rapid elasticity and service metering

capability.[2]

In more detail, cloud computing refers to a computing hardware machine or group of

computing hardware machines commonly referred as a server or servers connected

through a communication network such as the Internet, an intranet, a local area network

(LAN) or wide area network (WAN). Any individual user who has permission to access

the server can use the server's processing power to run an application, store data, or

perform any other computing task. Therefore, instead of using a personal computer

every time to run a native application, the individual can now run the application from

anywhere in the world, as the server provides the processing power to the application

and the server is also connected to a network via the Internet or other connection

platforms to be accessed from anywhere.[3] All this has become possible due to

increased computer processing power available to humankind with decreased cost as

stated in Moore's law.

In common usage the term "the cloud" has become a shorthand way to refer to cloud

computing infrastructure.[4] The term came from the cloud symbol that network

engineers used on network diagrams to represent the unknown (to them) segments of a

network.[5] Marketers have further popularized the phrase "in the cloud" to refer to

software, platforms and infrastructure that are sold "as a service", i.e. remotely through

the Internet. Typically, the seller has actual energy-consuming servers which host

products and services from a remote location, so end-users don't have to; they can

simply log on to the network without installing anything.

The major models of cloud computing service are known as software as a

service, platform as a service, and infrastructure as a service. These cloud services

may be offered in a public, private or hybrid network. [6] Google, Amazon, IBM, Oracle

Cloud, Rackspace, Salesforce, Zoho and Microsoft are some well-known cloud vendors.[7]

What is Cloud Computing?

Cloud Computing is a relatively new term that conveys the use of information technology services and resources that are provided on a service basis. According to a 2008 IEEE paper, “Cloud Computing is a paradigm in which information is permanently stored in servers on the internet and cached temporarily on clients that include desktops, entertainment centers, table computers, notebooks, wall computers, hand-helds, sensors, monitors, etc.”

History of Cloud Computing

In network diagrams, resources that are provided by an outside entity are depicted in a “cloud” formation. In the current (but still evolving!) model of cloud computing, the cloud computing infrastructure consists of services that are offered up and delivered through data centers that can be accessed from anywhere in the world. The cloud, then, in this model, is the single point of access for the computing needs of the customers being serviced.

In the cloud computing definitions that are evolving, the services in the cloud are being provided by enterprises and accessed by others via the internet. The resources are accessed in this manner as a service – often on a

subscription basis. The users of the services being offered often have very little knowledge of the technology being used. The users also have no control over the infrastructure that supports the technology they are using.

Pros and Cons of Cloud Computing

In cloud computing models, customers do not own the infrastructure they are using, they basically rent it, or pay as they use it. The loss of control is seen as a negative, but it is generally out-weighed by several positives. One of the major selling points of cloud computing is lower costs. Companies will have lower technology-based capital expenditures, which should enable companies to focus their money on delivering the goods and services that they specialize in. There will be more device and location independence, enabling users to access systems no matter where they are located or what kind of device they are using. The sharing of costs and resources amongst so many users will also allow for efficiencies and cost savings around things like performance, load balancing, and even locations (locating data centers and infrastructure in areas with lower real estate costs, for example). Cloud computing is also thought to affect reliability and scalability in positive ways. One of the major topics in information technology today is data security. In a cloud infrastructure, security typically improves overall, although there are concerns about the loss of control over some sensitive data. Finally, cloud computing results in improved resource utilization, which is good for the sustainability movement (i.e. green technology or clean technology.)

Cloud Computing – Companies to Watch

There is a big push for cloud computing services by several big companies. Amazon.com has been at the forefront of the cloud computing movement. Google and Microsoft have also been very publicly working on cloud computing offerings. Some of the other companies to watch for in this

field are Yahoo!, IBM, Intel, HP and SAP. Several large universities have also been busy with large scale cloud computing research projects.

What is Cloud Computing?

You hear the word in tech circles all the times these days:  "I have my business on the cloud!"  What exactly does that mean?

Cloud computing is a reference to computing resources, (like software or hardware) that exist on computers that are a distance from the user, and are delivered and employed by end users as a service over a network like the internet.  Chances are likely that you are already using cloud-based computing without even realizing it; for instance, web-based email services are "in the cloud."

Operating on the cloud can be an inexpensive and maintenance free way to manage your company's I.T.  Coupled with applications such as Google apps, managing your computer resources costs and CapEx expenses can be cut substantially.

For start-ups, or companies launching new online services, the cloud can afford a very inexpensive way to beta test a concept without having a substantial investment in in-house hardware.

 

Pros of Cloud Computing

The advantages of utilizing the cloud for your small business are numerous and include not having to support the infrastructure in terms of hardware, software, or intellectual

capital (personnel) in-house. Someone else, remotely, is managing all of that for you.

The premise above leads to the first and one of  the most important advantages. It's simply less costly to do business on the cloud. You have eliminated the cost of acquiring and operating servers, license fees for software and applications, and personnel to install and maintain that business segment for your company. Utility bills are cut, and maintenance charges practically vanish.

The cloud is available continuously. There's unlikely to be any downtime, as cloud firms employ huge server firms with redundant hardware, even in different parts of the country or globe. Localized power outages, weather or local holidays aren't going to interfere with your operations.  If a server fails in one area, services are automatically switched to another location, and uptime is generally an included guarantee of the service.

No loss of data. Your data on the cloud is backed up continuously on multiple servers. It's virtually going to be there whenever you want or need it.

Scalability. As your business grows, your available space on the cloud grows with it. There is no need for additional investment.

The Cloud Is Green. Utilizing the cloud for your hardware and software is environmentally friendly to your company's geographical location.

 

Cons of Using Cloud Computing

Like any tools, cloud computing comes with its own set of problems and limitations. You are  trusting your data to a service and hardware that you have little or no control over. This is of concern to some users, especially when it is regarding the area of protecting data security. It will be of benefit to you to fully investigate your cloud provider thoroughly, in order to know who you are dealing with is a safe and reliable

service.

Getting in bed with a cloud provider for a long period can cause problems down the road, if you want to switch providers or go back in house, for any reason.  It can be a chore and onerous process to transfer huge amounts

of data from one set of servers to another.

While outages and downtime are less likely with cloud computing, they have happened. So one of the criteria you  should use for deciding on who to go with needs to be their reliability and guarantees of uptime and repairs in case of an outage.

Apps on the Cloud

Utilizing Google Business Apps on the cloud can be a huge cost savings to your company, eliminating the need to purchase site license or individual user software, and expending more money for upgrades as they become available.  Whereas packaged software might issue an upgrade every year or two, Google Apps, in the cloud, are updated and improved continuously, transparently, 24/7.

Google's Business Apps for business include email, calendars, storage, documents and more. The apps work together seamlessly, and are available wherever your employees have access to the interest and on whatever device your employees chose to use remotely: smart phones, tablets, or laptops. Most Google Business Apps provide your employees with the ability to collaborate, thereby creating living/breathing docs and other tools that can be updated on the fly.

Cloud computing, to put it concisely, enables users and organisations to store, retrieve, save and manipulate data and other resources on third-party servers and via the internet. Consider it analogous to the public electricity grid: Consumers pay for the service, without having to possess knowledge about the very complex infrastructure of how that electricity is delivered.

PROS1. Cloud computing is especially beneficial to small businesses and organisations, taking a lot of the overhead and specialised computer knowledge of it—and letting another (trusted) party worry about aspects like the security, integrity, and availabitliy of the business’s data.

2. Without often costly and burdensome in-house servers, organisations can save substantially on costly items such as software upgrades and patches, hardware upgrades, and equipment maintenance.

3. Many cloud computing providers (‘hosts’) also provide sometimes-invaluable customer relations services, such as ‘pass through’ billing and even direct billing.

4. Most offer virtually unlimited scalability (the potential for business to grow), support VLANs (virtual local area networks), VPN, and comprehensive “dashboard” controls for immediate access to resources and data.

CONS1. Cloud customers inevitably have little or no control over the physical equipment their data is hosted on. For instance, in the event of a power outage at a data center (the location where data is physically stored), the client and his/her data is at the mercy of the hosting company AND its ability (or lack of, therein) to quickly restore operations.

2. If history is any indicator, performance (chiefly, the access time for clients or website users) may suffer if the business grows too rapidly and exceeds the capabilities of the hosting company’s servers—granted that there are usually hundreds or even thousands of other clients/sites that are running on the same servers and competing for the same bandwidth.

3. Very sensitive data—like trade secrets and information that’s controlled with regulations, such as HIPAA and PCI—is still one of the biggest concerns among organizations that host large volumes of highly confidential information. However, cloud security, like technology itself, is rapidly advancing.

The Pros and Cons of Cloud Computing

In the past few years, more and more companies have begun releasing products and services that use cloud computing technology. As the name

suggests, cloud technology is where data is stored on remote servers and data centers. Instead of keeping all the hardware and software on site, it’s placed on a remote cloud for users to freely access.

While there’s a lot of hype built up surrounding cloud technology, there are still some people who are skeptical whether it’s really all that beneficial. Here we’ll take a closer look at the pros and cons of cloud computing and reveal the true nature of this technology.

ConsThe biggest complaint some people may have about cloud computing is the speed. In most cases, there are several different clients using the same hardware to access their data or perform processing operations. Depending on how many clients are currently accessing the cloud, and what type of hardware it’s operating with, certain loads can bog the system down. This result in slower computing time when you try to access or use the cloud. The good news, however, is that you probably won’t find yourself in this position since cloud companies spread their clients out to balance the load.

Another somewhat of a disadvantage of cloud computing is that users and clients have little control over the base operations. Since cloud computing creates a virtual work center for users, there’s really no way for clients to go in and modify the base. If something needs to be adjusted with the hardware, clients must contact the cloud company to see if they can perform the operation.

ProsThe truth is that there are far more advantages to using cloud computing than disadvantages. Let’s first start off with one of the greatest advantages – cost. Cloud companies typically only charge clients based on data usage. Even if you send and receive a lot of data, you’re almost certain to come out cheaper using cloud computing than you would by purchasing all of your

own hardware. The price alone is reason enough for some companies to make the switch to cloud computing.Cloud computing also automatically backs your data up at a remote location. If your desktop PC crashes or is stolen, you can rest assured knowing that all of your important data is stored on the cloud. It’s not something most of us want to think about, but hardware failures and crashes do occur. Having all of your data wiped out can have disastrous consequences on your business. If this happens, just access the cloud from your new computer, download all of the necessary files, and it will be like nothing even happened.

Introduction[edit]

Cloud computing, most of the people cannot relate these two together. How does “cloud” relate to “computing”? In fact now in modern ICT life we live with a lot of applications of cloud computing. In simple, we could describe cloud as internet, and cloud computing as large systems that are connected in public or private networks. For example, a company could have computers that connect to an application and allow workers to log in into a Web-based service which hosts all the programs the user would

need for his or her job. In this system, a company will not have to provide the right hardware and software for every employee hired to do their jobs. Hence it could reduce cost, and make data or application more easily obtained and ubiquitously accessed. [1]

Overview[edit]

We could divide cloud computing into three areas:

Software as a Service (SaaS). In SaaS layer, users do not need to install, manage the software, while the softwares is provided by the host. Users just need to connect to the internet. (e.g., Google Apps, Salesforce.com, WebEx)

Platform as a Service (PaaS). In PaaS layer, black-box services are provided with which developers can build applications on top of the compute infrastructure. Developers tools that are offered as a service to build services, or data access and database services will be provided in this layer. (e.g., Coghead, Google Application Engine)

Infrastructure as a Service (IaaS). Providing computational and storage infrastructure in a centralized, location-transparent service (e.g., Amazon)

[2] [3]

Cloud Computing Architecture [edit]

Generally, cloud computing architecture is dividing into two sections. Both sections are connected to each other through a network. The first section is known as front end that consist of client computing and the second section know as back end that consists of data storage, application server and some type of control node.

Front End[edit]

The front end is the section which the computer user and client can observe. Its indicating client’s computer and the application required to accessing the cloud computing architecture. Besides that, application programming interface (API) is use as a communication medium between each of hardware component that related with the cloud computing architecture. Commonly, cloud computing systems have different kind interface of web service such as Microsoft’s Internet Explorer, or Firefox. Moreover, another benefit of cloud computing that has provided special software systems that are designed for specific tasks. [4]

Back end [edit]

The back end is the “cloud” section of the system that refers to some physical peripherals. There are

three main components that consists in back end architecture.

First component is the data storage, where the information can be placed for fast recovery. Data can

be stored on the cloud either by clients or the cloud application. Normally data capacity of a cloud

system has bulky number of data redundancy. In addition, data storage component in cloud

computing architecture is usually designed to store more than a copy of each data set. This is to

prevent the data become damage and inaccessible. 

Second component is an application server that connected with the cloud computing architecture.

Commonly, it’s involves a number of different application servers, in other word it can be responsible

for different function. Each of these servers is usually designed to run one program or service and

many of them may be available to the client through front end interface such as video games or data

processing. 

Third component that involved in cloud computing architecture is control nodes. It is used to

maintaining the whole system. Besides that, it is also used to monitoring client’s demand and also

traffic flow to ensure the systems runs smoothly. Protocol is known as a set of rules that contain

server information. Middleware is a special kind of software that applies in each of server in cloud

computing system. By using this software, it will creating communication link between each

computer that are connected in the network.[5]

Types of Cloud ComputingPublic Cloud[edit]

Public cloud (also referred to as ‘external’ cloud) describes the conventional meaning of cloud computing. Computing infrastructure is hosted at the vendor’s premises. The users could not view the location of the cloud computing infrastructure. The computing infrastructure is shared between organizations.

Private Cloud[edit]

Private cloud (also referred to as ‘corporate’ or ‘internal’ cloud) User dedicated computing architecture and it is not shared with any other users or organizations. It is more secure than Public Cloud and can be externally hosted or in premise hosted clouds.

Hybrid Cloud[edit]

Some critical, secure files or applications are hosted in private clouds while not so critical application or files are hosted in public cloud. This combination is called as Hybrid Cloud

Community Cloud[edit]

Organizations of the same community(People, Society etc.,) share the same cloud infrastructure. [6]

Application and Layer [edit]

There are basically 3 layers in cloud computing. Company used it differently based on what they are offered. The 3 layers are application, platform and lastly infrastructure. It usually present in form of pyramid which is infrastructure at the bottom layer, platform on the middle and application on the top.

The bottom layer[edit]

The bottom layer which is infrastructure is also known as ‘infrastructure as a service’

(IaaS). This is where the things start and where people began to built. This is the layer

where the cloud hosting lives. The examples of company that provides Cloud

infrastructure are Amazon Web Services, GoGrid, and the Rackspace Cloud . Cloud

infrastructure also known to work as a deliver computer infrastructure. Most companies,

in this part will operate their own infrastructure. It will allow them to give more services

and features and also give more control than other layers in Cloud Pyramid. There are

pros and cons in the characteristic of Cloud Infrastructure. The pros are it can give the

company full access or control of the company infrastructure meanwhile the cons is that

sometimes it come with premium price. It can be so complex to maintain, manage and

also to build.

The middle layer[edit]

The middle layer which is platform is also known as ‘platform as a service’ (PaaS). The

examples of company and product of Cloud Platform are Google App Engine, Heroku,

Mosso (now the Rackspace CloudSites offering), Engine Yard, Joyent or force.com. In

contrast to the Cloud Application, in this layer is where the users build up the increase

of flexibility and control. Unfortunately, it still somehow limits what can user do or not.

There are strengths and weakness of characteristic in this Cloud Platform. The strength

of Cloud Platform is that it has more control than cloud Application and it also good for

developers with a certain position target. Meanwhile the weakness is sometimes it more

depend on Cloud Infrastructure Providers and sometimes it also stick to the platform

ability only.

The top layer[edit]

The top layer which is application is also known as ‘software as a service’ (SaaS). In

this layer, the users are really limited to what can the application can do. The part of

company that involves is the public emails providers such as Gmail, Hotmail, Yahoo

Mail, etc. Most company uses the services in this particular Cloud layer. Usually, the

user can only get the pre-defined function and cannot access more than that. Other

than that, there are the good and the bad of the characteristic in Cloud Applications.

The good are, its free, easy to use and it offer a lot of different things. The bad is that

the user can use the application as it appears. The user have no knowledge or any

control to the application.

Advantages and Disadvantages[edit] Advantages[edit]

• Lower computer costs. You don't need a high-end computer to run cloud computing

web-based applications. Since applications run in the cloud, not on the desktop PC,

your desktop PC doesn't need the processing power or hard disk space demanded by

traditional desktop software. This reduces the cost, as it is lot cheaper practically than

software that cost you extra on anything. Moreover, it also reduces the cost of storage

as you would have to put extra money to get that much needed extra storage.

• Improved performance. Since running the cloud needs very little programs and

processes, your RAM will have space for other programs. This definitely improves the

performance of your PC.

• No software costs. You can get most of what you need for free, instead of purchasing

expensive software applications. Most cloud computing applications today, such as the

Google Docs suite, are free.

• Limitless storage capacity. Cloud computing offers virtually unlimited storage. Your

computer's current 200 gigabyte hard drive is peanuts compared to the hundreds of

petabytes (a million gigabytes) available in the cloud. This is because in cloud

computing, all of the user’s hard drive is considered as storage, and this will add up to a

very large amount of storage.

• Increased data reliability. Unlike desktop computing, in which a hard disk crash can

destroy all your valuable data, a computer crashing in the cloud shouldn't affect the

storage of your data. This is because that your data is stored in the cloud as well as in

your hard disk. So if either one crash, you still have another.

Disadvantages[edit]

• Requires a constant Internet connection. Cloud Computing works online and

absolutely dependent on network connections. This brings in many drawbacks such as;

if network connection is slow or not available then you would not be able to work.

• Can be slow. Even on a fast connection, web-based applications can sometimes be

slower than accessing a similar software program on your desktop PC. This is due to

the problem of latency. For example, if the cloud data centre is located off shore client

connection time to your data may not be as fast as you hope for.

• Stored data can be lost. Theoretically, data stored in the cloud is usually safe, the data

is replicated across multiple machines. But there is a chance that your data might go

missing from all of these machines. So just in case, have a copy of the data in your disk.

Similar systems and concepts[edit]

Cloud computing is the result of evolution and adoption of existing technologies and paradigms. The goal of cloud computing is to allow users to take benefit from all of these technologies, without the

need for deep knowledge about or expertise with each one of them. The cloud aims to cut costs, and help the users focus on their core business instead of being impeded by IT obstacles.[37]

The main enabling technology for cloud computing is virtualization. Virtualization software allows a physical computing device to be electronically separated into one or more "virtual" devices, each of which can be easily used and managed to perform computing tasks. With operating system–level virtualization essentially creating a scalable system of multiple independent computing devices, idle computing resources can be allocated and used more efficiently. Virtualization provides the agility required to speed up IT operations, and reduces cost by increasing infrastructure utilization. Autonomic computing automates the process through which the user can provision resources on-demand. By minimizing user involvement, automation speeds up the process, reduces labor costs and reduces the possibility of human errors.[37]

Users routinely face difficult business problems. Cloud computing adopts concepts from Service-oriented Architecture (SOA) that can help the user break these problems into services that can be integrated to provide a solution. Cloud computing provides all of its resources as services, and makes use of the well-established standards and best practices gained in the domain of SOA to allow global and easy access to cloud services in a standardized way.

Cloud computing also leverages concepts from utility computing in order to provide metrics for the services used. Such metrics are at the core of the public cloud pay-per-use models. In addition, measured services are an essential part of the feedback loop in autonomic computing, allowing services to scale on-demand and to perform automatic failure recovery.

Cloud computing is a kind of grid computing; it has evolved by addressing the QoS (quality of service) and reliability problems. Cloud computing provides the tools and technologies to build data/compute intensive parallel applications with much more affordable prices compared to traditional parallel computing techniques.[37]

Cloud computing shares characteristics with:

Client–server model — Client–server computing refers broadly to any distributed application that distinguishes between service providers (servers) and service requestors (clients).[38]

Grid computing — "A form of distributed and parallel computing, whereby a 'super and virtual computer' is composed of a cluster of networked, loosely coupled computers acting in concert to

perform very large tasks."

Mainframe computer — Powerful computers used mainly by large organizations for critical applications, typically bulk data processing such as: census; industry and consumer statistics; police and secret intelligence services; enterprise resource planning; and financial transaction processing.[39]

Utility computing — The "packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity."[40][41]

Peer-to-peer — A distributed architecture without the need for central coordination. Participants are both suppliers and consumers of resources (in contrast to the traditional client–server model).

Characteristics[edit]

Cloud computing exhibits the following key characteristics:

Agility improves with users' ability to re-provision technological infrastructure resources.

Application programming interface (API) accessibility to software that enables machines to interact with cloud software in the same way that a traditional user interface (e.g., a computer desktop) facilitates interaction between humans and computers. Cloud computing systems typically use Representational State Transfer (REST)-based APIs.

Cost: cloud providers claim that computing costs reduce. A public-cloud delivery model converts capital expenditure to operational expenditure.[42] This purportedly lowers barriers to entry, as infrastructure is typically provided by a third party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained, with usage-based options and fewer IT skills are required for implementation (in-house). [43]The e-FISCAL project's state-of-the-art repository[44] contains several articles looking into cost aspects in more detail, most of them concluding that costs savings depend on the type of activities supported and the type of infrastructure available in-house.

Device and location independence[45] enable users to access systems using a web browser regardless of their location or what device they use (e.g., PC, mobile phone). As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet, users can connect from anywhere.[43]

Maintenance of cloud computing applications is easier, because they do not need to be installed on each user's computer and can be accessed from different places.

Multitenancy 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, electricity,

etc.) peak-load capacity increases (users need not engineer for highest possible load-levels) utilisation and efficiency improvements for systems that are often only 10–20% utilised.[46]

[47]

Performance is monitored, and consistent and loosely coupled architectures are constructed using web services as the system interface.[43][48][49]

Productivity may be increased when multiple users can work on the same data simultaneously, rather than waiting for it to be saved and emailed. Time may be saved as information does not need to be re-entered when fields are matched, nor do users need to install application software upgrades to their computer.[50]

Reliability improves with the use of multiple redundant sites, which makes well-designed cloud computing suitable for business continuity and disaster recovery.[51]

Scalability and elasticity via dynamic ("on-demand") provisioning of resources on a fine-grained, self-service basis in near real-time[52][53](Note, the VM startup time varies by VM type, location, os and cloud providers[52]), without users having to engineer for peak loads.[54][55][56]

Security can improve due to centralization of data, increased security-focused resources, etc., but concerns can persist about loss of control over certain sensitive data, and the lack of security for stored kernels.[57] Security is often as good as or better than other traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford to tackle. [58] However, the complexity of security is greatly increased when data is distributed over a wider area or over a greater number of devices, as well as in multi-tenant systems shared by unrelated users. In addition, user access to security audit logs may be difficult or impossible. Private cloud installations are in part motivated by users' desire to retain control over the infrastructure and avoid losing control of information security.

Virtualization technology allows sharing of servers and storage devices and increased utilization. Applications can be easily migrated from one physical server to another.

The National Institute of Standards and Technology's definition of cloud computing identifies "five essential characteristics":

On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.

Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).

Resource pooling. The provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. 

Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer,

the capabilities available for provisioning often appear unlimited and can be appropriated in any quantity at any time.

Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

—National Institute of Standards and Technology[8]

Service models[edit]

Cloud computing providers offer their services according to several fundamental models: [8]

[59] infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS) where IaaS is the most basic and each higher model abstracts from the details of the lower models. Other key components in anything as a service (XaaS) are described in a comprehensive taxonomy model published in 2009,[60] such as Strategy-as-a-Service, Collaboration-as-a-Service, Business Process-as-a-Service, Database-as-a-Service, etc. In 2012, network as a service (NaaS) and communication as a service (CaaS) were officially included by ITU (International Telecommunication Union) as part of the basic cloud computing models, recognized service categories of a telecommunication-centric cloud ecosystem.[61]

Infrastructure as a service (IaaS)[edit]

See also: Category:Cloud infrastructure

In the most basic cloud-service model, providers of IaaS offer computers – physical or (more often) virtual machines – and other resources. (A hypervisor, such as Xen, Oracle VirtualBox, KVM, VMware ESX/ESXi, orHyper-V runs the virtual machines as guests. Pools of hypervisors within the cloud operational support-system can support large numbers of virtual machines and the ability to scale services up and down according to customers' varying requirements.) IaaS clouds often offer additional resources such as a virtual-machine disk image library, raw block storage, and file or object storage, firewalls, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles.[62] IaaS-cloud providers supply these resources on-demand from their large pools installed in data centers. For wide-area connectivity, customers can use either the Internet or carrier clouds (dedicated virtual private networks). Recently, this paradigm has been extended towards sensing and actuation resources,[63] aiming at providing virtual sensors and actuators as a services SAaaS.

To deploy their applications, cloud users install operating-system images and their application software on the cloud infrastructure. In this model, the cloud user patches and maintains the operating systems and the application software. Cloud providers typically bill IaaS services on a utility computing basis:[citation needed] cost reflects the amount of resources allocated and consumed.

Cloud communications and cloud telephony, rather than replacing local computing infrastructure, replace local telecommunications infrastructure with Voice over IPand other off-site Internet services.

Platform as a service (PaaS)[edit]

Main article: Platform as a service

See also: Category:Cloud platforms

In the PaaS models, cloud providers deliver a computing platform, typically including operating system, programming language execution environment, database, and web server. Application developers can develop and run their software solutions on a cloud platform without the cost and complexity of buying and managing the underlying hardware and software layers. With some PaaS offers like Microsoft Azure and Google App Engine, the underlying computer and storage resources scale automatically to match application demand so that the cloud user does not have to allocate resources manually. The latter has also been proposed by an architecture aiming to facilitate real-time in cloud environments.[64]

Software as a service (SaaS)[edit]

Main article: Software as a service

In the business model using software as a service (SaaS), users are provided access to application software and databases. Cloud providers manage the infrastructure and platforms that run the applications. SaaS is sometimes referred to as "on-demand software" and is usually priced on a pay-per-use basis. SaaS providers generally price applications using a subscription fee.

In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. Cloud users do not manage the cloud infrastructure and platform where the application runs. This eliminates the need to install and run the application on the cloud user's own computers, which simplifies maintenance and support. Cloud applications are different from other applications in their scalability—which can be achieved by cloning tasks onto multiple virtual machines at run-time to meet changing work demand.[65] Load balancers distribute the work over the set of virtual machines. This process is transparent to the cloud user, who sees only a single access point. To accommodate a large number of cloud users, cloud applications can be multitenant, that is, any machine serves more than one cloud user organization. It is common to refer to special types of cloud-based application software with a similar naming convention: desktop as a service, business process as a service, test environment as a service, communication as a service.

The pricing model for SaaS applications is typically a monthly or yearly flat fee per user,[66] so price is scalable and adjustable if users are added or removed at any point.[67]

Proponents claim SaaS allows a business the potential to reduce IT operational costs by outsourcing hardware and software maintenance and support to the cloud provider. This enables the business to reallocate IT operations costs away from hardware/software spending and personnel expenses, towards meeting other goals. In addition, with applications hosted centrally, updates can be released without the need for users to install new software. One drawback of SaaS is that the users' data are stored on the cloud provider's server. As a result, there could be unauthorized access to the data. For this reason, users are increasingly adopting intelligent third-party key management systems to help secure their data.

Cloud management[edit]

Legacy management infrastructures, which are based on the concept of dedicated system relationships and architecture constructs, are not well suited to cloud environments where instances are continually launched and decommissioned.[68] Instead, the dynamic nature of cloud computing requires monitoring and management tools that are adaptable, extensible and customizable. [69]

Cloud management challenges[edit]

Cloud computing presents a number of management challenges. Companies using public clouds do not have ownership of the equipment hosting the cloud environment, and because the environment is not contained within their own networks, public cloud customers do not have full visibility or

control.[69] Users of public cloud services must also integrate with an architecture defined by the cloud provider, using its specific parameters for working with cloud components. Integration includes tying into the cloud APIs for configuring IP addresses, subnets, firewalls and data service functions for storage. Because control of these functions is based on the cloud provider’s infrastructure and services, public cloud users must integrate with the cloud infrastructure management.[70]

Capacity management is a challenge for both public and private cloud environments because end users have the ability to deploy applications using self-service portals. Applications of all sizes may appear in the environment, consume an unpredictable amount of resources, then disappear at any time.[71]

Chargeback—or, pricing resource use on a granular basis—is a challenge for both public and private cloud environments.[72] Chargeback is a challenge for public cloud service providers because they must price their services competitively while still creating profit.[71] Users of public cloud services may find chargeback challenging because it is difficult for IT groups to assess actual resource costs on a granular basis due to overlapping resources within an organization that may be paid for by an individual business unit, such as electrical power.[72] For private cloud operators, chargeback is fairly straightforward, but the challenge lies in guessing how to allocate resources as closely as possible to actual resource usage to achieve the greatest operational efficiency. Exceeding budgets can be a risk.[71]

Hybrid cloud environments, which combine public and private cloud services, sometimes with traditional infrastructure elements, present their own set of management challenges. These include security concerns if sensitive data lands on public cloud servers, budget concerns around overuse of storage or bandwidth and proliferation of mismanaged images. [73] Managing the information flow in a hybrid cloud environment is also a significant challenge. On-premises clouds must share information with applications hosted off-premises by public cloud providers, and this information may change constantly.[74] Hybrid cloud environments also typically include a complex mix of policies, permissions and limits that must be managed consistently across both public and private clouds.[74]

Cloud clients[edit]

See also: Category:Cloud clients

Users access cloud computing using networked client devices, such as desktop computers, laptops, tablets and smartphones. Some of these devices – cloud clients– rely on cloud computing for all or a majority of their applications so as to be essentially useless without it. Examples are thin clients and the browser-basedChromebook. Many cloud applications do not require specific software on the client and instead use a web browser to interact with the cloud application. With Ajaxand HTML5 these Web user interfaces can achieve a similar, or even better, look and feel to native applications. Some cloud applications, however, support specific client

software dedicated to these applications (e.g., virtual desktop clients and most email clients). Some legacy applications (line of business applications that until now have been prevalent in thin client computing) are delivered via a screen-sharing technology.

Deployment models

Private cloud

Private cloud is cloud infrastructure operated solely for a single organization, whether managed internally or by a third-party, and hosted either internally or externally. [8] Undertaking a private cloud project requires a significant level and degree of engagement to virtualize the business environment, and requires the organization to reevaluate decisions about existing resources. When done right, it can improve business, but every step in the project raises security issues that must be addressed to prevent serious vulnerabilities.[75] Self-run data centers[76] are generally capital intensive. They have a significant physical footprint, requiring allocations of space, hardware, and environmental controls. These assets have to be refreshed periodically, resulting in additional capital expenditures. They have attracted criticism because users "still have to buy, build, and manage them" and thus do not benefit from less hands-on management,[77] essentially "[lacking] the economic model that makes cloud computing such an intriguing concept".[78][79]

Partner cloud

Same as a private but with an outsourcing partner.

Public cloud

A cloud is called a "public cloud" when the services are rendered over a network that is open for public use. Public cloud services may be free or offered on a pay-per-usage model. [80] Technically there may be little or no difference between public and private cloud architecture, however, security consideration may be substantially different for services (applications, storage, and other resources) that are made available by a service provider for a public audience and when communication is effected over a non-trusted network. Generally, public cloud service providers like Amazon AWS, Microsoft and Google own and operate the infrastructure at their data center and offer access only via Internet (direct connectivity is not offered).[43]

Community cloud

Community cloud shares infrastructure between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party, and either hosted internally or externally. The costs are spread over fewer users than a public cloud (but more than a private cloud), so only some of the cost savings potential of cloud computing are realized.[8]

Hybrid cloud

Hybrid cloud is a composition of two or more clouds (private, community or public) that remain distinct entities but are bound together, offering the benefits of multiple deployment models. Hybrid cloud can also mean the ability to connect collocation, managed and/or dedicated services with cloud resources.[8]

Gartner, Inc. defines a hybrid cloud service as a cloud computing service that is composed of some combination of private, public and community cloud services, from different service providers. [81] A hybrid cloud service crosses isolation and provider boundaries so that it can’t be simply put in one category of private, public, or community cloud service. It allows one to extend either the capacity or the capability of a cloud service, by aggregation, integration or customization with another cloud service.

Varied use cases for hybrid cloud composition exist. For example, an organization may store sensitive client data in house on a private cloud application, but interconnect that application to a business intelligence application provided on a public cloud as a software service. [82] This example of hybrid cloud extends the capabilities of the enterprise to deliver a specific business service through the addition of externally available public cloud services.

Another example of hybrid cloud is one where IT organizations use public cloud computing resources to meet temporary capacity needs that can not be met by the private cloud. [83] This capability enables hybrid clouds to employ cloud bursting for scaling across clouds.[8]

Cloud bursting is an application deployment model in which an application runs in a private cloud or data center and "bursts" to a public cloud when the demand for computing capacity increases. A primary advantage of cloud bursting and a hybrid cloud model is that an organization only pays for extra compute resources when they are needed.[84]

Cloud bursting enables data centers to create an in-house IT infrastructure that supports average workloads, and use cloud resources from public or private clouds, during spikes in processing demands.[85]

By utilizing "hybrid cloud" architecture, companies and individuals are able to obtain degrees of fault tolerance combined with locally immediate usability without dependency on internet connectivity. Hybrid cloud architecture requires both on-premises resources and off-site (remote) server-based cloud infrastructure.

Distributed cloud

Cloud computing can also be provided by a distributed set of machines that are running at different locations, while still connected to a single network or hub service. Examples of this include distributed computing platforms such as BOINC and Folding@Home. An interesting attempt in such direction is Cloud@Home, aiming at implementing cloud computing provisioning model on top of voluntarily shared resources [86]

Cloud Management

Public clouds are managed by public cloud service providers, which include the public cloud environment’s servers, storage, networking and data center operations.[87] Users of public cloud services can generally select from three basic categories:

User self-provisioning: Customers purchase cloud services directly from the provider, typically through a web form or console interface. The customer pays on a per-transaction basis.

Advance provisioning: Customers contract in advance a predetermined amount of resources, which are prepared in advance of service. The customer pays a flat fee or a monthly fee.

Dynamic provisioning: The provider allocates resources when the customer needs them, then decommissions them when they are no longer needed. The customer is charged on a pay-per-use basis.[56]

Managing a private cloud requires software tools to help create a virtualized pool of compute resources, provide a self-service portal for end users and handle security, resource allocation, tracking and billing.[88] Management tools for private clouds tend to be service driven, as opposed to resource driven, because cloud environments are typically highly virtualized and organized in terms of portable workloads.[89]

In hybrid cloud environments, compute, network and storage resources must be managed across multiple domains, so a good management strategy should start by defining what needs to be managed, and where and how to do it.[73] Policies to help govern these domains should include configuration and installation of images, access control, and budgeting and reporting. [73] Access control often includes the use of Single sign-on (SSO), in which a user logs in once and gains access to all systems without being prompted to log in again at each of them.

Aspects of cloud management systems

A cloud management system is a combination of software and technologies designed to manage cloud environments.[90] The industry has responded to the management challenges of cloud computing with cloud management systems. HP, Novell, Eucalyptus, OpenNebula and Citrix are among the vendors that have management systems specifically for managing cloud environments.[88]

At a minimum, a cloud management solution should be able to manage a pool of heterogeneous compute resources, provide access to end users, monitor security, manage resource allocation and manage tracking.[88] For composite applications, cloud management solutions also encompass frameworks for workflow mapping and management.[91]

Enterprises with large-scale cloud implementations may require more robust cloud management tools that include specific characteristics, such as the ability to manage multiple platforms from a single point of reference, include intelligent analytics to automate processes like application lifecycle management. And high-end cloud management tools should also be able to handle system failures automatically with capabilities such as self-monitoring, an explicit notification mechanism, and include failover and self-healing capabilities. Cisco recently launched its InterCloud solution to provide flexibility to dynamically manage workloads across public and private cloud environments. [49]

[73]