What is Cloud Computing?
The name cloud computing comes from the traditional usage of the cloud to represent the Internet – or a wide area network (WAN) – in network diagrams or flowcharts. While the term “cloud computing” was popularized with Amazon releasing its Elastic Compute Cloud product (2006) references to the phrase “cloud computing” go back as early as 1996, with the first known mention in a Compaq internal document.
Cloud computing proponents point to it being a new paradigm in software development, where smaller organizations have access to processing power storage and business processes that were once only available to large enterprises.
In general terms, Cloud computing is the delivery of hosted services over the Internet. This model enables the use of various services, such as software-development platforms, server infrastructure, data-storage or software applications (e.g. a virtual machine) over the Internet.
Cloud computing is the foundation of a vast number of services. That includes consumer services like Gmail or the cloud back-up of the photos on your smartphone, as well as the platform services which allow large enterprises to host all their data and run all of their applications in the cloud. For instance, Netflix does not only rely on cloud computing services to run its its video streaming service but to manage the rest of its other business systems as well.
Layers of cloud computing
Broadly speaking, Cloud computing can be broken down into three main cloud computing models:
- Infrastructure-as-a-Service (IaaS): Points to the fundamental building blocks of computing that can be rented: physical or virtual servers, storage and networking connectivity. Rackspace and Amazon EC2 are among the best known IaaS providers.
- Platform-as-a-Service (PaaS): is the next layer up. It does not only relates to the underlying storage, networking, and virtual servers but include the tools and software that developers need to build applications on top of this layer. This usually includes middleware, database management, operating systems, and development tools. SaaS provicers include Force.com, Azure from Microsoft and Google App Engine.
- Software-as-a-Service (SaaS): This layer relates to the delivery of applications-as-a-service, probably the version of cloud computing that most people are used to. The underlying hardware and operating system is irrelevant to the end user, who will access the service via a web browser or app; it is often bought on a per-seat or per-user basis. The variety of applications delivered via SaaS is huge, from CRM such as Salesforce through to Microsoft’s Office 365 and Google’s G Suite.
Cloud computing is becoming the default option for many apps: software vendors are increasingly offering their applications as services over the internet rather than standalone products as they try to switch to a subscription model.
Advantages of Cloud Computing
Cloud computing enables companies to consume these services as a utility — just like electricity or tap water — rather than having to design, build and (more importantly) maintain these resources in-house.
Many cloud computing advancements are closely related to virtualization. The ability to pay on-demand (instead of monthly/yearly fees) and scale quickly is largely a result of cloud services vendors being able to pool their resources and share them on-demand among multiple clients. The Cloud computing model boasts several attractive advantages, both for businesses and end users.
- Ubiquitous Access: Computing is made to appear anytime and everywhere. In contrast to desktop computing, ubiquitous computing can occur using any device, in any location, and in any format. To enable this level of access generally requires that the cloud service architecture be tailored to the particular needs of different cloud service consumers.
- Elasticity: Companies can scale up cloud computing resources as computing needs increase and scale down again as demands decrease. This eliminates the need for massive investments in local infrastructure, which may or may not remain active.
- Lower costs of ownership: Cloud resources are completely managed by the cloud vendor. Little to no resource-management work are on the client-side of the cloud.
- Self-service provisioning: End users can fetch compute resources for almost any type of workload on demand, without the traditional need for IT administrators to provision and manage compute resources.
- Pay-per-use: Compute resources are measured at a granular level, enabling users to pay only for the resources and workloads they use. This avoids fixed, periodic fees and prevents paying for resources that are not really used.
- Workload resilience: Cloud service providers often implement redundant resources to ensure resilient storage and to keep users’ important workloads running — often across multiple global regions.
- Migration flexibility: Organizations can move certain workloads to or from the cloud — or mix them in different cloud platforms for better cost savings or to adapt workloads as new services emerge.
Drawbacks and challenges
The impressive list of benefits of cloud computing notwithstanding, there are risks and challenges associated with the use of cloud computing which cloud adopters should be aware of.
Downtime and performance
As cloud service providers take care of a number of clients each day, they can become overwhelmed and may even come up against technical outages. This can lead to your business processes being temporarily suspended. Also, if your internet connection is offline, you will not be able to access any of your applications, server or data from the cloud. Additionally, in spite of the advances in cloud computing technology, performance is still not entirely predictable and this can mean outages at crucial periods.
Cloud computing services may lead to increased fragmentation of data. Developers and managers must bear in mind that integrating data across different cloud computing and storage services is not usually an easy task. Data integration itself is an additional burden and can lead to higher rates of data transmission, which can choke the network and slow down the entire service. Data integration could also slow down cloud computing services as the data may not be located near the place computation takes place and computing services would have to wait for the data they need to run.
Although cloud service providers implement the best security standards and industry certifications, storing data and important files on external service providers always opens up risks. Using cloud-powered technologies means you need to provide your service provider with access to important business data.
The fact that there is an additional entity, the cloud service provider, that handles data in a cloud computing environment compared with a traditional in-house infrastructure can introduce additional vulnerabilities to data security.
Meanwhile, being an Internet-based service, opens up cloud-services providers to security challenges on a routine basis. The ease in procuring and accessing cloud services (when compared to private networks) can also give nefarious users the ability to scan, identify and exploit loopholes and vulnerabilities within a system.
As a very recent example, the Facebook–Cambridge Analytica data scandal involves the collection of personally identifiable information of up to 87 million Facebook users and almost certainly a much greater number that Cambridge Analytica began collecting in 2014.
Although cloud service providers promise that the cloud will be flexible to use and integrate, switching cloud services is something that hasn’t yet completely evolved. Organizations may find it difficult to migrate their services from one vendor to another, let alone integrating services from different vendors.
Hosting and integrating current cloud applications on another platform may throw up interoperability and support issues. For instance, applications and services developed on Microsoft Development Framework (.Net) might not work properly on the Linux platform.
Reputation fate sharing
If one of the users in the cloud environment is unscrupulous (for example a spammer or data leaker), all the users sharing the same cloud can become tarred by the same brush. For instance, in one user is tagged as a spammer other servers could start blocking traffic from the shared origin in the cloud with the spammer(server names or IP addresses), legitimate users in the cloud may find their traffic blocked.
Since the cloud infrastructure is entirely owned, managed and monitored by the service provider, cloud-services consumers have little to no control over the cloud’s infrastructure and services. The customer can only control and manage the applications, data and services operated on top of that, not the backend infrastructure itself. Key administrative tasks such as server shell access, updating and firmware management may not be passed to the customer or end user.
Overall, cloud computing currently brings many important benefits, both for businesses and end-users. This is the main reason for its popularity. However, cloud-based computing does have its drawbacks and therefore users will have to weigh up the benefits and drawbacks of adopting the cloud paradigm and choosing a cloud computing service model in their specific situations, in order to make an informed and considered decision.