Cloud Computing- A Brief Introduction

Devansh Agarwal
9 min readJan 7, 2019

--

Before diving into the concepts of cloud computing, let us first understand the client-server architecture which lays the foundation for cloud development and implementation.

Client-Server Architecture

Client server architecture/model is a distributed application structure (practical application of distributed system architecture), that divides/partitions the tasks/workload between the providers of service/resource i.e, Server and the service receivers — Clients. It is basically a client-server interaction involving computing process

Types of Computing:

In the field of computer science, exchange of data, sharing of resources, operations on the data and its storage are important aspects to look into. The term ‘Computing’ is given to all these activities together inside or outside i.e, within a computer or between the computers.

Computing can be mainly classified as:

· Parallel Computing

· Distributed Computing

· In parallel computing, all processors may have access to a shared memory to exchange information between processors.

· In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.

The Client-Server Architecture is based on the concept of distributed computing.

It is now understood that Client-Server Architecture involves distributed systems. So, the Clients & Servers are those distributed systems which coordinate, communicate and interact to perform a particular function. The client/server architecture significantly decreased network traffic by providing a query response rather than total file transfer. Clients and servers exchange messages in a request-response-messaging pattern..The Client sends a request to the server and the server returns a response. The clients requests the server for any particular resource/service, this service is an abstraction of computer processes and the client have no concern with how the service is provided or fulfilled by the server.

Cloud Computing

Simply put, cloud computing is the delivery of computing services — servers, storage, databases, networking, software, analytics, intelligence and more — over the Internet (“the cloud”) to offer faster innovation, flexible resources and economies of scale. You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change.

Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources. (e.g. networks, servers, storage, applications and services)that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models and four deployment models.

Why Cloud Computing?

Cloud Computing is the “buzzword” in today’s IT industry. It is one of the latest technical advancements in the IT industry, But the biggest question is, Why Cloud Computing?

The answer is as simple! Due to its flexibility, efficiency and strategic value it has retained its reputation as an easy-to-deploy technology for efficient development of the industry services and products.

Some salient features of Cloud are:

  • Scalability
  • Storage Options
  • Control Choices
  • Tool Selection
  • Speed to Market
  • Streamlined Work
  • Data Security

History of cloud computing

Over the course of the past decade, cloud computing has evolved from being something service providers told companies they should be adopting to becoming the technological lifeblood that runs through most modern enterprises.

Cloud computing has evolved through a number of phases that include grid and utility computing, application service provision and software as a service (SaaS), but the overreaching concept of delivering computing resources through a global network is rooted in the 1960s.

The idea of an “Intergalactic Computer Network” was introduced in the 1960s by JCR Licklider, who was responsible for enabling the development of the Advanced Research Projects Agency Network (ARPANET) in 1969.

Other experts attribute the cloud concept to computer scientist John McCarthy, who proposed the idea of computation being delivered as a public utility, that date back to the 1960s.

Cloud Computing Architecture

Cloud computing architecture refers to the components and subcomponents required for Cloud Computing. These components typically consist of a front end platform (fat client, thin client, mobile device), back end platforms (servers, storage), a cloud based delivery, and a network (Internet, Intranet, Intercloud). Combined, these components make up cloud computing architecture.

The Cloud Computing Architecture can be broadly classified into two divisions; front-end and back-end.

The Cloud Architecture’s backend provides data security for the cloud consumers and also possess a traffic control mechanism which manages the load on the server. The server also provides the middleware which helps to connect devices & communicate with each other.

The Cloud frontend consists of platforms called Cloud Clients which comprises servers, thin & fat client, tablets & mobile devices. The interaction is done through the middle-ware or via web-browser virtual sessions.

Now we are done with the basic architecture and brief idea about what is cloud? And how it works? We will enlist the five essential characteristics that every cloud model possess:

· 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 & workstations).

· Resource Pooling: The provider’s computing resource are pooled to serve multiple consumers using a multi-tenant model, with different physical & virtual resources dynamically assigned & 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

· 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,active user account).

Cloud Services

A cloud service is any service made available to users on demand via the Internet from a cloud-computing provider’s servers as opposed to being provided from a company’s own on-premises servers. Cloud services are designed to provide easy, scalable access to applications, resources and services, and are fully managed by a cloud service provider.

Service Models

Software as a Service(SaaS)

Infrastructure as a Service(IaaS)

Platform as a Service(PaaS)

Software as a Service:

Cloud Software as a Service (SaaS). The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

Platform as a Service (PaaS)

The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.

Infrastructure as a Service (IaaS)

The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Deployment Models:

Private cloud

The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.

Community cloud

The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.

Public cloud

The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

Hybrid cloud

The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds)

Advantages & Disadvantages of the cloud

Cost Efficient

It is one of the major reasons why cloud computing is being adopted by most of the major IT firms in the market. Cloud has significantly reduced the cost of various IT services. Every business, however small or large, ultimately targets at generating profits with minimum capital and operational expenses .With cloud computing, you can save substantial capital costs with zero in-house server storage and application requirements. It’s a common misconception that only large businesses can afford to use the cloud, when in fact, cloud services are really affordable for small businesses.

Reliability

With a managed service platform, cloud computing is much more reliable and consistent than in-house IT infrastructure. Cloud enables us to get rid of the in-house physical storage and hence gives increased reliability, security and speed alongwith easy accessibility.

Manageability

Cloud computing provides enhanced and simplified IT management and maintenance capabilities through central administration of resources and vendor managed infrastructure.

Increased collaboration

Cloud computing makes collaboration a simple process. Team members can view and share information easily and securely across a cloud-based platform. Some cloud-based services even provide collaborative social spaces to connect employees across your organization, therefore increasing interest and engagement. Collaboration may be possible without a cloud computing solution, but it will never be as easy, nor as effective.

Disadvantages of Cloud Computing

Limited Control

Since the cloud infrastructure is entirely owned, managed and monitored by the service provider, it transfers minimal control over to the customer. The customer can only control and manage the applications, data and services operated on top of that, not the backend infrastructure itself

Downtime

The cloud service providers handle a large number of clients each day, they got engulfed under the huge data demand pressure by several clients simultaneously. Therefore, the possibility of the system’s technical outage exists drastically.Downtime refers to the time for which a particular service is unavailable or the system fails to perform its primary function.

Security and Privacy

Any discussion involving data must address security and privacy, especially when it comes to managing sensitive data. We must not forget what happened at Code Space and the hacking of their AWS EC2 console, which led to data deletion and the eventual shutdown of the company. Their dependence on remote cloud-based infrastructure meant taking on the risks of outsourcing everything.

Vendor Lock-In

Vendor lock-in is another perceived disadvantage of cloud computing. Differences between vendor platforms may create difficulties in migrating from one cloud platform to another, which could equate to additional costs and configuration complexities. Gaps or compromises made during a migration could also expose your data to additional security and privacy vulnerabilities

Cloud Service Providers(CSPs)

Cloud service providers (CSP) are companies that offer network services, infrastructure, or business applications in the cloud. The cloud services are hosted in a data center that can be accessed by companies or individuals using network connectivity.

The major cloud service providers

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud Platform
  • Adobe
  • VMware
  • IBM Cloud
  • Rackspace
  • Red Hat
  • Salesforce
  • Oracle Cloud
  • SAP
  • Verizon Cloud
  • Navisite
  • Dropbox
  • Egnyte

--

--

Devansh Agarwal
Devansh Agarwal

Written by Devansh Agarwal

Application Engineer || Technical Writer dev.to/devanshh

No responses yet