Tech Learners : Cloud Computing Introduction

in cloud-computing •  7 years ago  (edited)

Cloud computing - Introduction

While taking sessions for the group of IT professionals, who are planning to venture into the cloud, I came across lot of basic questions that are generally asked by first timer professionals/organizations who are taking leap into world of cloud computing. Let discuss some of these points in this cloud computing 101 blog.

What is cloud computing

#Cloud computing is the on-demand delivery of the computing resources like virtual machines (the equivalent of your remote desktop), storage, networking, databases and other IT infrastructure. The key word to remember is the on-demand delivery, as it has a very significant impact on how we build and manage our IT infrastructure (hardware & software) and overall IT costing. Also another important aspect is that these resources are accessible over internet via #Http(s) protocol.

Difference between Cloud vs distributed computing

Somebody put this question to me and at first I was taken aback, never thought about it at first. At high level they look so similar, so what differentiates these two computing models:
Distributed computing is two or more computers networked together and dividing a large problem into smaller pieces and having multiple computers process these smaller pieces (slices). Distributed computing is a very generic term, very commonly used for any such infrastructure so internet, massively parallel online gaming, Hadoop map-reduce processing are all examples of distributed computing.
On the other side cloud computing brought some unique features/terminologies/concepts that entitles it a separate classification:

#As-a-service model

On Cloud everything is available as-a-service. The service models helps to provide a well-defined SLAs for the resources that you are using. The SLA might include uptime (in case of Virtual machines, servers etc), throughput (in case of disk storages, network etc) or even durability (in case of data storage). There are 3 primary service models:

  • #IaaS (Infrastructure as a service) : the IaaS includes all the barebone components that make up the IT infrastructure of the organization (like machines, network, storage etc)
  • #PaaS (Platform as a Service) : The PaaS includes all the platform level components like web-servers, sql servers or other runtime components that can be used to further build other components that serve specific requirements.
  • #SaaS (Software as a Service) : The SaaS includes the software that we normally use like emails, word editors or even accounting softwares. The SaaS like their desktop equivalents are build to meet specific purpose or business requirement.

The as-a-service model clearly differentiates the distributed computing model with the cloud model as distributed computing might not offer such specific SLAs as offered by cloud’s as-a-service models.

On Demand Delivery

With the distributed computing, you are pretty much bound with the infrastructure/resources assigned to you, as soon as you are reaching the limits your jobs/processes will be either halted or wait for some other resources to be freed before continuing, a good example is the number of requests your site can handle per second (depends on maximum throttling provide by your website host based on your plan), let’s say you need to support 100000 request per day from existing 20000 request per day), you cannot do it on your own without your website host increasing the limits at their end (obviously a plan upgrade), what about managing the sites at different geographies.
With cloud you can scale at massive levels based on the load instantaneously. You can spawn your sites across geographies and you can do it just for special occasions (like black Friday sales). On- demand delivery is a true differentiator and a major feature of cloud computing.

Pay as you go

Again, with distributed computing the resources are fixed with your plan and plan charges are defined in advance, you subscribe to plan and you pay for it, irrespective of whether the resources are used or not. Consider that you website host provider provides you 5GB of space and 200000 requests per month for $15. Let’s say your site just used, 2 GB of space and 120000 requests per month, your website host is still going to charge $15 (no discounts on less usage). With cloud’s pay-as-you-go model you are charged only for what you pay. Generally for storage you are charged for actual storage used, for compute units (like virtual machines, web-servers) you pay for uptime (ie only when the resources were running).

Economies of scale

Let’s say you need to run a Hadoop cluster and you identified the need to build a 100 node cluster that can handle load for next 2-3 years. You need to invest in hardware and on teams who can manage that hardware. You have to pay upfront costs for hardware and manpower procurement (usually called capital cost). With cloud, these massively parallel systems are capable of running multiple clusters on same hardware, thus allowing for cost sharing across clusters. Just to visualize the cost advantage, we estimated that managing a 100 node Hadoop cluster on-premise was costing our customers approx. 1-1.2 million USD (salaries, capital investment on hardware, electricity, data-centre rentals etc) year on year. A much powerful m4.xlarge 100 node cluster was approx. 300k USD and including all other expenses, total outgo was approx. 500k. A direct saving of 100%. Also consider that additional hardware might be required after 3 years when workload is increasing for on-premise setup vs cloud where we can scale anytime within few minutes or move to higher configuration nodes.

Major Players

The major players in the cloud arena are:

  • AWS – Amazon Web Services
  • Microsoft Azure
  • GCP – Google Cloud Platform

Hope that gives you a basic idea about cloud computing, I will publish more on cloud as and when time permits. Happy Tech learning.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!