Cloud Computing: Getting Started

·

10 min read

Cloud Computing: Getting Started

Hey there, I am Aman and I am so glad you are here. In this article, we will discuss various concepts of cloud computing to get your feet on the ground, and I'll keep in mind that you are just starting out, promise. I'll make sure that at the end of this article, you are up and running to understand the different technologies of the cloud and you feel confident enough to start. Hold tight, this is big but helpful for sure.

What is Cloud Computing?

"It is defined as the sharing of on-demand resources over the internet on a pay-as-you-go basis". The above line is boring and tiring, I know. Everything will fall in place, mark my words. Suppose you own a PC and after a year or two, its storage gets full. This was just your local machine with only your data (hopefully), now think of the organizations with customer bases of millions, how many machines would be needed to store that data, and what mess it would be to get data whenever required!! Thanks to the cloud, this is not the case. Cloud allows you to store the data in data centers that are maintained by the cloud provider. You just keep the data, extract data whenever needed, pay only for the resources you use and the data centers will be maintained by the cloud provider (there are different scenarios too and we will take up on that along the way).

Why Cloud Computing?

Coming straight to the point: All the emerging technologies like AI, IoT, Blockchain, and Analytics work with massive amounts of data and need huge storage space and computational power, making cloud possibly the only viable platform for these technologies. Cloud helps organizations to store and access their whenever needed, with ease.

The evolution of Cloud computing-

Things get interesting from here;)

  • The history of cloud computing dates back to the 1950s when large-scale mainframes (computers with very high processing powers) became accessible, resulting in the practice of time sharing or resource pooling (sharing of resources).

  • Multiple users (users here refer to companies that use the cloud resources) were able to access the same data storage layer and CPU power of the mainframes using something called the dumb terminals (whose sole purpose was to facilitate access to the mainframes).

  • In the 1970s, an operating system called the Virtual Machine (VM) was released. Hypervisor (a software layer) made it possible for a single mainframe to have multiple VMs by assigning each its own slice of the underlying computing power, memory, and storage.

So, mainframes had large computing powers and storage which may or may not had been completely utilized by a single user. VMs and hypervisors solved this problem by dividing a single mainframe into different machines, depending on the need of particular users and the users were thus charged only for the resources they used, and not for the whole mainframe.

Coming back to the present, let us first look at the major cloud players in the market today.

Major Cloud Players-

Names are in alphabetical order.

Alibaba Cloud (Aliyun)

  • Offers a host of products and services such as compute, network, storage, security, monitoring, and managing, web hosting, and more (Yes! so much more, in fact for each of the cloud providers, I am just mentioning a few of their prominent services).

Amazon Web Services (AWS)

  • The grandmaster. AWS boasts of being the first cloud provider in the world and they are still the market leader (as per market share).
  • Provides products, services, and solutions: IoT, Machine Learning, Data Analytics, content delivery, robotics, and serverless computing.

Google Cloud Platform (GCP)

  • GCP allows other enterprises to take advantage of the same tested cloud services that Google has relied upon for years.
  • Provides Infrastructure, Platform, and serverless computing.

IBM Cloud

  • Prominent offerings: Bare metal servers, VMware, virtual private cloud, blockchain, and AI(Watson).

  • IBM acquired Red Hat to provide hybrid cloud services.

Microsoft Azure

  • Building, deploying, and managing applications and services.

  • Has a solid infrastructure that is rapidly expanding. In relatively less time, it has captured a good market share and is going from strength to strength.

Oracle Cloud

  • Primarily known for - SaaS and Database-as-a-service (Oracle Data Cloud).

Salesforce

  • Specializes in SaaS offering that focuses on customer relationship management.

SAP

  • Specializes in software and applications.

A bonus point : According to IDC (International Data Corporation), considering the unprecedented amounts of data being produced daily, and the ability to make data-driven decisions crucial to any business, cloud computing becomes essential for businesses to succeed, sustain, and compete in today's markets. If you are planning to make a career shift, this could have come at no better time :)

What we have covered till now, I say is the Level 1 of Cloud, for those who are just starting. I stand and clap for you for your achievement and you should be happy too :) remember, every pro was once a beginner.

Okay so now is the time to dig a bit deeper and thee wilt carryeth on [Shakesperean English sirrah (means sir)]

The Three Deployment Models -

Suppose you are the owner of a very big organization. You have to decide whether you want to store all the data in the cloud infrastructure owned and managed by you, only some of the infrastructure, or not at all. Accordingly, there are three deployment models for cloud computing.

What do Deployment models indicate?

  • Where the infrastructure resides.

  • Who owns and manages it.

  • How cloud resources and services are made available to users.

Public Cloud -

The cloud resources such as servers, networks, storage, etc are owned and operated by a cloud provider. The services are offered over the internet and anyone can purchase them as per their requirements.

Private Cloud -

Now suppose you don't trust any cloud provider out there and decide to use your computing resources at your data centers (these resources are owned and operated by you), this model is called Private Cloud. A third-party service provider can also host a private cloud, we will discuss this later).

Hybrid Cloud -

In this model, the data and applications are shared between both, the public and private cloud.

Comparing the Cloud Models :

Public Cloud -

  • Organizations pay only for what they use (from the cloud provider).
  • No capital expenditure is required to scale up.

  • Applications can be provisioned and de-provisioned quickly.

Private Cloud -

  • Organizations must purchase the hardware and maintain them.
  • Organizations have complete control over resources and security.

Hybrid Cloud -

  • It is the most flexible deployment model.

  • It offers the scalability of the public cloud with security and resources still maintained by the organization.

Cloud Service Models :

There are three cloud service models, namely -

  1. IaaS
  2. PaaS
  3. SaaS

These models define the different levels of shared responsibility that a cloud provider and cloud tenant (the organization using the cloud provider's services) are responsible for. Let's dive in :o).

post1.png

Infrastructure as a Service (IaaS) -

As the name suggests, the organizations rent hardware from a provider, instead of investing their own capital in buying and setting up the plants/ datacenters. A cloud provider keeps the hardware up-to-date and the operating system maintenance, network configuration is up to the cloud tenant.

Platform as a Service (PaaS) -

The cloud provider manages the virtual machines and networking resources and the cloud tenant deploys their applications into the managed hosting environment. All the benefits of Iaas are there in PaaS, but there are some additional benefits too. PaaS, for example, is more nimble than IaaS, and users don't need to configure servers for running applications, this is managed by the cloud provider.

Software as a Service (SaaS) -

The least flexible service model. The cloud provider manages all the aspects of the application environment such as VMs, networking resources, data storage, etc. The only thing that the tenant needs to do, is to provide their data to the application they want the cloud provider to manage for them.

Now, if you have never come across these things, you can feel overwhelmed, I know. To help you a bit, I created this image, which covers these service models in a nutshell.

post2.png

Oh my God!! You just don't know how happy I am for you right now, you just completed level 2. Great going!

Onwards and upwards from here go thee,

Say hello to level number three !!

[Pardon me for this non-sense :)]

This level is not about learning something new (well, except a few terms), but going deep into what we have learned so far.

Public Cloud -

Use cases:

  • Building and testing applications, and reducing time-to-market for products and services.
  • Businesses with fluctuating capacity and resourcing needs.
  • Build secondary infrastructures for disaster recovery, data protection, and business continuity.
  • IT departments are outsourcing the management of less critical and standardized business platforms and applications to cloud providers. Benefits:

  • Economies of scale (in simple terms, the services are made available at cheaper rates)

  • On-demand resources

  • Highly reliable

    Private Cloud -

Use cases:

  • Businesses that need full control over critical security and compliance issues within a dedicated cloud.

  • Integration of data and applications services from existing applications.

  • Modernize and unify in-house and legacy applications.

Benefits:

  • Controlled by the internal IT of the organization.
  • Better scalability
  • After the initial investments(CapEx), the maintenance cost is not very high, but the companies have full control over the security of the data.

Hybrid Cloud -

Use cases:

  • SaaS integration (Public to the existing cloud)
  • Data and AI integration
  • Enhancement of legacy apps

Benefits:

  • Full utilization of resources
  • Cost-saving
  • Highly scalable and resilient

Some important terms -

Scalability :

Scalability means the ability to increase or decrease the resources as per the needs, maybe because of different traffic amounts at any part of the day or for any possible reason. You maybe selling raincoats and umbrellas through your website, and in the rainy season, the traffic goes 2x or 3x as compared to its normal number, so you need to deploy more resources during the rainy season to be able to handle the traffic.

Up-scaling - Increasing the size of resources (Increasing the RAM, CPU Power, etc)

Down-scaling - Decreasing the size of resources

Out-scaling - Increasing the number of resources

In-scaling - Decreasing the number of resources(Decreasing the number of VMs, for example)

Elasticity :

The ability to scale automatically (Dynamic scaling).

Suppose you are well aware that the demand will go up during the rainy season (carrying forward the scenario explained in scalability), so you buy resources in advance so as to avoid any breakdown. But, these 'extra' resources will go in vain till and after the rainy season. If there were a means by which the resources will increase/decrease automatically with the traffic, you could save money and resources. This is elasticity.

Agility :

Ability to allocate or deallocate resources quickly, ie, how fast are you able to scale. In general, the agility of cloud providers is very fast as compared to on-premises infrastructure.

High Availability :

To keep the resources 'up' for most of the time.

Availability demands vary from company to company, some need four 9's (99.99%), some need two 9's (99%), etc. The more the availability percentage, the costlier is the service.

Disaster Recovery :

The ability to prevent data loss after a disaster, if it ever happens.

Different cloud providers use different strategies for disaster recovery. Azure, for example, has availability zones to prevent data-center level failure and region pairs to counter region level failures.

Holy Moly !!!

This is it for level three and, lucky you, for this article too. If you retain just 65 - 70% of what we have discussed, it's a win-win situation for me and you. All this can be a bit overwhelming in the first go, but believe me, I have tried to keep things very simple and straightforward and if you go through this again (maybe in a week or so), you definitely will have a clear picture of the concepts discussed.

If you found this article of any help, don't forget to share it on socials (and maybe follow me on Twitter here - "twitter.com/AmanRwd" as I'm going to produce good content there too), it'll motivate me a lot. Also, if you want to use any of the images used in this article, you are free to do so, the first one is from google and the other two are created by me.

Thanks a lot for reading, you are amazing.