What is Cloud Computing?

Pradyum ChopadePradyum Chopade
6 min read

When we think about Cloud Computing, what comes to our mind first? A newbie can think about the actual cloud or computing in the cloud, some may relate it with storage because they are using Google Drive or Apple Cloud often for storage. But exactly what is cloud?

Cloud computing

Cloud computing is the on-demand delivery of IT resources over the internet with the pay-as-you-go pricing model. Cloud computing allows one to own and maintain physical servers and data centers, instead of buying them directly.

Let's understand with an example of MySQL. If you want to work on MySQL database, first you have to install the MySQL engine, then you need to configure it. After doing this stuff, you have to start its service, then create database then table, and then query your data. You need to do all this installation procedure before start practicing it.

Now if you are using cloud, you do not need to do this installation. Just go to a Cloud Service provider, say AWS. Using the Amazon RDS you can easily use MySQL. Just navigate to the RDS service and click on "Create database". Choose "MySQL" as the database engine. Configure the instance size, storage, and other settings, and you are ready to use.

Benefits of Cloud Computing

  1. Scalability: Scalability in Cloud computing refers to increasing or decreasing the number of IT resources as per demand or need. This ensures resources are quickly provisioned and enables businesses to optimize their computing resources and save money. It is also referred to as Elasticity.

  2. Agility: Agility in cloud computing refers to easy access to a wide range of technologies which will help to innovate faster and build anything. This gives you the freedom to explore different technologies without directly buying them.

  3. Cost savings: With a pay-as-you-go pricing model, cloud computing helps to save your expenses over the technologies, because you will pay only when you use that particular technology.

  4. Advanced security: Cloud security offers advanced threat detection, regular updates, centralized management, scalable measures, cost efficiency, automated backups, geographic redundancy, and compliance with industry standards and regulations.

  5. Deploy globally: Cloud providers such as AWS, GCP, Microsoft Azure, etc have their data centers in various regions around the world. You can deploy your application anywhere as per your need of customers and can expand your business globally in minutes.

Types of Deployment Models

Whenever we want to deploy our application over the cloud, it is necessary to select the type of deployment based on application components, resource management tools, or any IT infrastructure requirements.

There are three types of Cloud Deployment models which help to deliver cloud-computing services:
1. Cloud-based deployment (Public Cloud)
2. On-premises deployment (Private Cloud)
3. Hybrid deployment

  1. Cloud-based deployment

    In cloud-based deployment, you can access various resources such as computing, storage, networks, and databases directly over the internet. In this model, the infrastructure and applications are hosted and managed by a cloud service provider rather than being physically located on the premises of the organization using them. You can also migrate your existing applications to the cloud or design and build new ones.

eg: Google Workspace:
Google Workspace provides cloud-based productivity and collaboration tools like Gmail, Google Drive, Docs, and Sheets, all hosted and managed by Google.

  1. On-premises deployment

    On-premises or Private Cloud is a type of deployment where required resources are deployed using virtualization and resource management tools. It refers to the deployment of IT infrastructure and applications within an organization's own physical facilities or data centers. In this model, the organization owns, manages, and maintains the hardware, software, and network components.

eg: Microsoft Office
Microsoft Office, such as Office 2019 or Office 2021, installed directly on a user's computer. All applications like Word, Excel, and PowerPoint are stored and run from the user's local machine, with no cloud integration required.

  1. Hybrid deployment

    In hybrid cloud deployment, cloud-based resources are connected to on-premises infrastructure. In this model, data and applications can be shared and managed across both on-premises and cloud environments, providing a flexible and scalable solution that leverages the benefits of both deployment models. We can say that in this model, resources are deployed as and when needed.

eg: Dropbox business
Dropbox Business can be used in a hybrid setup where files are stored both on users' local devices and in the cloud. Users can sync files across their devices while also accessing them through the Dropbox cloud platform. This allows for easy collaboration and backup, with the flexibility of local storage for offline access.

Cloud Service models

There are 3 main types of Cloud Service models:
1. Infrastructure as a Service (IaaS)
2. Platform as a Service (PaaS)
3. Software as a Service (SaaS)

  1. Infrastructure as a Service (IaaS)

    Infrastructure as a Service (IaaS) is a cloud computing model that provides IT infrastructure such as computing power, storage, and networking over the internet on a pay-as-you-go basis. IaaS allows you to request, configure, and manage the resources needed for your applications, while the provider maintains the physical infrastructure. This model offers flexibility, control, and cost-effectiveness, enabling businesses to scale their IT resources without large upfront investments.

    IaaS is important because it allows companies to scale their computing capacity while reducing IT costs, particularly for handling fluctuating workloads. It provides benefits such as speed, performance, reliability, backup and recovery, and competitive pricing. Use cases include high-performance computing, website hosting, big data analytics, and app development. IaaS works through virtualization, where users select the desired infrastructure, and the provider creates virtualized resources that mimic physical hardware. IaaS resources include compute, storage, and networking, all managed by the provider to ensure performance and security.

eg: Amazon EC2 instance or Microsoft Azure Virtual Machines or Google Cloud Compute Engine. These services provide scalable computing capacity in the cloud, allowing users to run virtual servers (called instances) with various CPU, memory, storage, and networking configurations. Users can select the operating system, customize the server environment, and scale the resources up or down as needed.

  1. Platform as a Service

    Platform as a Service (PaaS) is a cloud computing model that provides a platform for developers to build, deploy, and manage applications without dealing with the underlying infrastructure. PaaS offers a complete development environment, including operating systems, databases, middleware, and development tools, allowing developers to focus on writing code while the provider handles infrastructure management.

    Key features of PaaS include development frameworks, application hosting, database management, scalability, integrated development environments (IDEs), and middleware. These features simplify the development process, making it faster and more efficient.

    Benefits of PaaS include reduced complexity, faster development, cost-effectiveness, enhanced collaboration, and flexibility in using multiple programming languages and tools.

eg: Google App Engine, Microsoft Azure App Service, and Heroku. PaaS is ideal for developers who want to focus on application development without the burden of managing infrastructure.

  1. Software as a Service

    Software as a Service (SaaS) is a cloud computing model where software applications are delivered over the internet on a subscription basis. Users can access these applications from any device without needing to install or maintain the software, as the provider manages everything.

    Key features of SaaS include web-based access, automatic updates, scalability, subscription-based pricing, and multi-tenancy, where multiple customers use the same application while keeping their data separate.

    Benefits of SaaS include cost-effectiveness, easy accessibility, maintenance-free operation, and built-in collaboration tools.

eg: Google Workspace, Salesforce, and Microsoft 365. SaaS is ideal for those who want to use software without the hassle of managing it, providing a simple and flexible solution for various needs.

In this blog, I explained the basics of cloud computing. Stay tuned for upcoming blogs where I will dive deeper into AWS concepts and various tools.

1
Subscribe to my newsletter

Read articles from Pradyum Chopade directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Pradyum Chopade
Pradyum Chopade

๐Ÿš€ DevOps & Cloud Enthusiast | Learning the ropes of cutting-edge technologies to optimize workflows and elevate applications. Eager to contribute to the open-source community. Let's innovate and collaborate! ๐Ÿ’ก๐ŸŒ #DevOps #CloudComputing #OpenSource #Innovation ๐Ÿ–ฅ๏ธ