Brief introduction with Cloud Computing

Apoorv Mishra
5 min readJan 6, 2020

--

From the very beginning, human technological advancement can be attributed to sharing and exchanging. We share ideas or resources to produce new technologies. This has been and still is the basis of human development. Look around you, everything we interact with daily, none of the things we use is a single technology. For example, the calculator is a simple device, but it is made up of a mix of petroleum( for plastic), silicon chips, etc.

The idea of the cloud is similar, where people with huge computing resources share them with people with great ideas so they can build applications that advance humanity.

But what is Cloud Computing?

We use the internet daily. We upload, download and create huge amounts of data every single day. This handling of internet traffic and data is done by huge, costly, computers called servers. These servers have immense storage and computation powers. But these computers are also immensely costly. Not everyone has the resources or the knowledge to set up and maintain such costly machines, yet, we see a huge number of big and small companies rise every day. So, do they all have funds to set up these servers?

No, this is where cloud computing steps in. Cloud computing allows these up and coming companies, for a price that is, to use the powers of really powerful computers that have been set up by other companies who specialize in the task of setting up and maintaining these servers. When the companies do not have to spend time and resources to set up these servers, they can use them in building a better business. This is similar to creating your website using a tool like Wix, except, with a lot more professional knowledge needed. Also, since these services follow a pay-per-use model, it is much cheaper to get a cloud service from a provider than the cost of setting up, running and maintaining own servers.

So, how does this work?

Now, it’s not like the companies providing cloud services set up a new server computer for each of their clients. Each of their clients does have their servers, but they are not on separate computers, they share the resources of a single computer.

Virtualization is the process of running a virtual instance of a computer system in a real computer system. It allows us to simulate the existence of hardware by using software. The applications running on the virtual machine think they are interacting directly with the hardware, but actually, they are separated by a layer of abstraction that is the base OS running on the system.

The virtual machine is called the guest and the OS running inside the virtual machine is called the guest OS. The actual computer system running the virtual machine is called the host.

Virtualization allows the running of multiple instances of computer systems on a single hardware set. There are many applications of virtualization, like being able to run applications meant for different operating systems without having to switch OS or reboot, or allowing multiple users to run a machine on the same computer system, etc.

How do these computers interact?

This is a very simple diagram of how things work.

Cloud computing architecture

If you might know about how browsers interact with the websites, you will find this set up look very similar, and why shouldn’t it? After all, it’s all just data going back and forth between remote computers, just the way of processing and managing it is different.

The cloud architecture can be broadly divided into two parts:

  • Front end
  • Back end

Front End: It is the interface through which the client makes requests and interacts with the cloud.

Back End: It is the responsibility of the back-end to provide the security of data for cloud users along with the traffic control mechanism. The server also provides the middleware which helps to connect devices & communicate with each other.

Does everyone share the same computer as me?

Not really, it all depends on what you want. You have a choice between different deployment models.

A cloud deployment model is defined according to where the infrastructure for the deployment resides and who has control over that infrastructure. There are four cloud deployment models: public clouds, private clouds, community clouds, and hybrid clouds.

  • Public cloud: It allows users to use resources from a common server shared by other users.
  • Private cloud: This is the infrastructure used by a single organization. It may be managed by the organization itself or by a service provider that takes care of it either on-site or off-site.
  • Hybrid cloud: In a hybrid cloud, an organization makes use of interconnected private and public cloud infrastructure. Many organizations make use of this model when they need to scale up their IT infrastructure rapidly, such as when leveraging public clouds to supplement the capacity available within a private cloud.
  • Community cloud: This deployment model supports multiple organizations sharing computing resources that are part of a community; examples include universities cooperating in certain areas of research, or police departments within a county or state sharing computing resources. Access to a community cloud environment is typically restricted to the members of the community.

What can I do with a cloud?

Here again, it’s up to you, what do you want to do with it? The cloud service providers provide different service models. Service models are the types of services the cloud provides.

The cloud supports mainly three kinds of service models:

  • Saas: It stands for software as a service. Softwares hosted on servers can be used by users without having to install the software on their systems. Example: Google docs.
  • Paas: It stands for platform as service. It gives developers platforms to build their applications. Example: Google app engine.
  • Iaas: Infrastructure as a service allows users to use the computing resources of the server. Example: AWS EC2.

And, who provides cloud services?

Cloud services are provided by companies with huge resources to set up these really powerful server computers and also build a secure place to keep them. They also specialize in maintaining these servers and resolving issues that might occur in it’s running.

Below are some major players grouped by the types of their services:

Saas:

  • Entire Google Ecosystem.
  • Microsoft Office 365
  • HR help desk
  • Salesforce

Paas:

  • AWS Elastic Beanstalk
  • Google app engine
  • Heroku
  • Azure

Iaas:

  • Aws ec2
  • Gogrid
  • Rackspace

Summing up

Cloud has enabled the world of the internet to grow immensely by allowing the smallest players the power to innovate with the best of resources for considerably smaller prizes compared to what people before this generation had to pay. It is an excellent example of how we as a society always grow by exchanging, whether it be ideas, resources or even just support.

--

--

Apoorv Mishra

Software Developer. I love to learn new stuff everyday and write about it.