Cloud Computing

Cloud computing is a term for using resources like hardware and software that are delivered as a service over the internet. The name stems from the use of a cloud shaped symbol for the complex infrastructure that is contained in the system diagrams. A user’s data, software and computation are entrusted to the cloud computing remote services.

Types of public cloud computing are as follows: Infrastructure as a service (IaaS), Platform as a service (PaaS), Software as a service (SaaS), Network as a service (NaaS), Storage as a service (STaaS), Security as a service (SECaaS), Data as a service or Desktop as a service (DaaS), Database as a service (DBaaS), Test environment as a service (TEaaS), API as a service (APIaaS), Backend as a service (BaaS), Integrated development environment as a service (IDEaaS), and Integration platform as a service (IPaaS).

In business, using software as a service, users are given access to applications and databases over the Internet. Cloud providers will manage the platforms on which the applications run. For example, SaaS is also occasionally named on demand software and users are typically charged a fee for this service, usually by subscription.

By outsourcing to cloud providers, the business can reduce operational costs, along with letting the consumer update without installing new software. It will also allow for improved manageability, less maintenance, and getting applications established faster. One downside of SaaS is that the users’ data is stored on the cloud provider’s server, leaving it vulnerable to unauthorized access.

The history of the cloud provider derived from using cloud styled drawings to indicate networks in diagrams of computing and communications systems as early as 1994. However the concept of cloud computing dates back to the 1950’s, when large mainframes became available, and accessed through terminal computers.

Mainframes were costly to buy, so it was important to get the best return from the investment. Allowing multiple users to share access to computers from multiple terminals and use of the central processing unit (CPU), it eliminated periods of inactivity. This procedure became known as time-sharing.

As computers became more widely used, scientists and technologists searched for ways to let more users access time-sharing using algorithms that provided optimal use of the infrastructure, platform, and applications. The availability of high-capacity networks along with low cost computers and utility computing have aided in the enormous growth in cloud computing.

With the onset of the dot-com craze, Amazon played a huge role in developing and modernizing cloud computing. By using their data centers with as little as ten percent of their capacity, it significantly improved the efficiency, allowing small teams to add new features faster and easier. In 2006, Amazon released and launched Amazon Web Service (AWS) which provided cloud computing to external customers.

Characteristics of cloud computing:

By using cloud computing humans can interact using a computer and the Internet to access software and hardware from other humans and businesses. It also reduces cost to the consumer, allows access from any location, makes the internet more reliable, secure, perform more efficiently, and requires less maintenance for a smoother operation.

Users can obtain, configure and deploy cloud services themselves, called on-demand self service with no assistance from IT. Infrastructure vendors create cloud computing templates acquired from cloud service catalogues; these templates have predefined configurations allowing consumers to set up and use clouds themselves.

Cloud computing providers offer services in three models, Iaas, Paas, and Saas.

The Iaas service is the most basic cloud service, where the provider uses machines for on demand resources, where the users can access files, firewalls, software, and so on, stored on the provider’s server, by using the internet.

The Paas service is when cloud providers deliver a platform including an operating system, programming language, database and web server. This allows developers to run their software without the cost of managing hardware and software layers; also the cloud user does not have to distribute resources manually.

The SaaS is where cloud providers install and operate software in the cloud and the cloud user accesses the software from the client. The cloud user does not manage the infrastructure or platform that the application is operating from. An example of this is Microsoft Office 365.

Cloud clients are users that access clouds by using, desktops computers, laptops, and smartphones. These devices rely heavily on cloud computing for most or all of their applications, depending on the device used. Without cloud computing most applications would be useless.

A public cloud is where applications, storage and other resources are available to the public by a service provider. Typically, these services are free or pay per use. Most public cloud service providers only offer access through the Internet, like Amazon AWS, Microsoft, and Google.

A community cloud will share the infrastructure between several organizations with similar concerns in security, compliance, etc. The cost is spread over fewer users than a public cloud so some cost savings are not realized.

A hybrid cloud is where two or more clouds work together to offer the benefits of multiple models. But it lacks flexibility, security, and certain applications. These clouds can be offered without the dependency of an internet connection.

A private cloud is operated for a single organization only, it can be managed either internally or externally, but no matter which one is implemented, it must be done correctly or serious security issues will arise.

Privacy issues have been raised because the cloud provider has control of the information and can monitor it with or without permission from the user. Also, because data can be accessed by the cloud provider at any point and time, data could accidentally be deleted or altered. Some cloud providers have made efforts to reduce this risk by implementing availability zones that the customer can select.

Cloud computing has many benefits but also is open to threats. With the increasing number of cloud computing organizations, criminals will likely try to find ways of taking advantage of the vulnerabilities in the system. Organizations who offer cloud computing should establish programs to encrypt data to lessen the threat of data being compromised; in return it will establish trust between them and the customer.

Image Caption: Diagram showing overview of how cloud computing works. Credit: Sam Johnston/Wikipedia (CC BY-SA 3.0)