Getting Started with Cloud Computing: An Overview

Written by webiny | Published 2021/01/22
Tech Story Tags: cloud | cloud-computing | serverless | opensource | webdevelopment | aws | global-cloud-providers | good-company

TLDR Cloud computing gives you the option to transform IT infrastructure into a utility - which means you can get into your IT infrastructure via the internet, using computing resources on the cloud. Amazon Web Services (AWS) is one of the cloud providers that offer over 300 services. Cloud providers are companies who own the servers, hire and manage the real estate for the servers. Cloud computing services fall into four different categories: Infrastructure as a Service (IaaS), Platform as a. Service (PaaS) and Software as a service (SaaS). They are all built up on top of one another.via the TL;DR App

Nowadays, when working on software systems, you have heard about Cloud Computing technology.
Understanding cloud fundamentals is an essential part when getting started with Cloud Computing. Amazon Web Services (AWS) is one of the cloud providers that offer over 300 services.
Before starting with AWS, understand cloud concepts such as what is cloud computing, the advantages of using cloud computing, cloud computing types, and cloud deployment models.
In this article, we'll cover the concepts you need to build that solid foundation to implement Cloud Computing technologies.

What is Cloud Computing?

Cloud computing gives you the option to transform IT infrastructure into a utility - which means you can get into your IT infrastructure via the internet, using computing resources on the cloud. Without the need to install or maintain these resources on-premises.
What is on-premise you might ask? Going with the on-premise way, you must manage your own servers, hire IT people, payor rent the real-estate for the servers.
The opposite of on-premise is the cloud providers, who provide you these services via the internet. The cloud providers are companies who own the servers, hire IT people, pay and manage the real estate for the servers. Those companies give you the option to manage the configuration of the cloud services you use, and your code and they take care of the rest.
Simply put, Cloud Computing offers you on-demand access, through the internet to cloud computing resources, applications, servers (physical and virtual servers), data storage, development tools, networking capabilities, and more — hosted at remote data centers that are managed by cloud service providers.

Advantages of Using Cloud Computing

We learned what on-premise IT is, the traditional way of managing IT infrastructure. Based on the differences between on-premise and cloud computing provider solutions, there are some obvious benefits you get when using cloud computing resources.

The lower total cost of ownership (TCO)

For all the attributes of having your on-premise infrastructure that we mentioned such as managing your own servers, hiring the IT people, paying or renting the real-estate for the servers, those all come up with a price, and with the cloud computing technology, you eliminate the capital expenses.

Agility

In just a few clicks you're able to get up and running the computing resources you need for your applications — As Webiny's CEOĀ SvenĀ noted on theĀ Serverless Chats podcastĀ by answeringĀ Jeremy's questionĀ 
"What are the benefits of serverless for both small and big companies?"Ā -
"When using serverless, the cost of managing infrastructure will go way down, by releasing a big chunk of the budget or resources or working hours, that you can now focus on product iterations, so your product can grow faster. And if your product grows faster, you can out-innovate potential competitors, which can't afford that same level of innovation."

Scale and Performance

The two most important benefits you get when switching to cloud computing technologies is when you want your customers to have an amazing user experience using your product, anywhere - that means in the lowest or highest spikes of your product's traffic.
Cloud computing services run on a worldwide network, so they're able to provide you the ability to scale and deliver the resources when they're needed.

Types of Cloud Computing Services

The cloud computing services fall into four different categories: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Serverless, and Software as a Service (SaaS). They are all built up on top of one another. We'll go through them to understand what they are and the differences between them.

Infrastructure as a Service (IaaS)

IaaSĀ represent the building blocks for cloud IT by providing access to networking features, computers, and data storage space. You can use those resources to build your own products. These are offered by different cloud provider companies on a pay-as-you-go basis. Some examples of cloud providers areĀ Amazon Web Services (AWS),Ā Google Cloud Platform, andĀ Microsoft Azure.
— Intended for Admins

Platform as a Service (PaaS)

I'm assuming you are a software developer? Well, this cloud computing category is designed for you.Ā PaaSĀ offers cloud computing services with an on-demand environment for development, testing, delivering, and managing software applications.
This will make it easier for developers to create web or mobile applications, without worrying about the infrastructure, storage, network, and databases needed for development.
Some examples of PaaS are theĀ AWS Lambda Service,Ā Heroku, etc.
— Intended for Developers

Serverless Computing

I'll mention the definition of serverless computing based on Webiny's guide to serverless ā¬‡ļø
"Serverless means there are no servers you have to operate to run a particular service or an app. Usually, in Serverless architectures, you rely on services that are managed for you.
Be that function-as-a-service, storage-as-a-service, and others. Using managed services means all the maintenance and operational tasks are abstracted away. Yes, there are still servers there, but they are no longer your responsibility to manage."
Some of the examples that offer serverless services areĀ AWS Lambda Service,Ā Cloudflare Workers,Ā Google Cloud Functions,Ā IBM Cloud Functions, Knative,Ā Microsoft Azure Functions,Ā Oracle Functions. When it comes to building serverless applications and APIs on top of these services,Ā Webiny takes the lead! Webiny is a serverless framework — a complete plugin-based admin interface and a set of ready-made serverless applications. Learn more aboutĀ WebinyĀ features here.

Software as a Service (SaaS)

SaaS takes place when cloud providers offer complete software products. The infrastructure, product maintenance, security its managed by the cloud provider. Some examples of this cloud computing category are Salesforce,Ā Gmail,Ā Office 336.
— Intended for Customers

Cloud Deployment Models

Public Cloud

With this type of deployment model, you'll have access to anything the cloud provider offers, fromĀ SaaSĀ applications, virtual machines (VMs), infrastructure, and development platforms — available to users via the public internet. Different cloud providers offer these services in different pricing models such as subscription-based, or pay-per-use.
One of the known characteristics of theĀ CloudĀ is the multi-tenant* environment—the data centers infrastructure is shared by all public cloud customers. This leads to one or more disadvantages of theĀ CloudĀ such as limited resources → Even though they have incredible computing power, they share their resources with multiple tenants.
Some examples of companies using the cloud deployment models are Squarespace,Ā Basecamp, andĀ Dropbox.
Multi-tenant → When a single instance of a software application serves multiple tenants (or user accounts).
Tenant → Can be an individual user, but more often is a group of users that share common access and privileges within that instance of a software application.

On-Premise || Private Cloud

TheĀ on-premiseĀ cloud refers to the cloud computing resources being used by one organization or customer → sometimes is called a private cloud. One reason is the security that the on-premise offers for sensitive data for customers such as Government, Hospitals, Enterprises with different regulations.
The on-premise cloud is hosted in the customer's data center, but it has the option to combine the hosting on an independent cloud provider's infrastructure.

Hybrid Cloud

A combination of the public cloud and on-premise → connecting an organization's on-premise cloud services and public clouds into a single infrastructure for all the organization's applications.
The goal is to have an optimal solution for each of the organization's applications to do the workloads between the two — based on the current requirements.
Using aĀ Hybrid cloudĀ gives organizations the freedom to meet their business and technical objectives with benefits such asĀ lower costsĀ and efficiencyĀ rather than using just public or on-premise cloud.
Now that you know the cloud computing concepts, I think you are ready to start with some examples of cloud computing services or you can follow the blog onĀ 5 AWS services you need for web development!
If you learned something new today and are interested to follow up on our blogs,Ā subscribe to our newsletterĀ and we'll provide you the best content of the serverless world!
Thanks for reading! My name is Albiona and I work as a developer relations engineer atĀ Webiny. I enjoy learning new tech and building communities around them = ) If you have questions or just want to say hi, reach out to me viaĀ Twitter.
Previously published here

Written by webiny | #OpenSource #React #NodeJs #GraphQL #Headless #Serverless
Published by HackerNoon on 2021/01/22