Introduction to Cloud Computing

Sachini Amarasinghe
9 min readJan 17, 2024

--

Photo by Growtika on Unsplash

Hey there, tech enthusiasts! 🙋‍♀️

Ever wondered how our digital world runs so seamlessly? Well, strap in because we’re diving into cloud computing! 🌐 In this article, I’ll unravel why cloud computing has become the backbone of modern IT. From breaking down what cloud computing means to exploring the dynamic dance between clients and servers, I’m taking you on a tech rollercoaster.

And guess what? We’re not diving into boring tech talk — we’re going to learn why cloud computing is so cool! So, are you ready to check out the awesome benefits and how they make our digital lives way better? Plus, we’ll chat about the different ways it’s used. Let’s go! 🚀

Why cloud computing?

1. IT Assets as Programmatic Resources to Quickly Set Up and Tear Down Resources:

In traditional IT environments, setting up and configuring hardware resources can be a time-consuming and complex process. Cloud computing revolutionizes this by treating IT assets as programmatic resources. With cloud services, users can leverage automation and infrastructure-as-code to rapidly deploy and configure computing resources. This agility allows for quick scalability to meet changing demands and equally swift tear-down when resources are no longer needed. This programmatic approach significantly reduces the time and effort required for managing infrastructure, enabling organizations to be more responsive to their computing needs.

2. Access Resources Dynamically for Agility and Flexibility to Meet Customer Needs:

Cloud computing provides the ability to access computing resources dynamically, allowing organizations to adapt quickly to changing requirements and customer needs. This dynamic access ensures agility and flexibility in resource allocation. Whether scaling up to handle increased workloads or scaling down during periods of lower demand, cloud platforms enable businesses to align their IT resources with their operational needs. This flexibility is particularly advantageous in today’s fast-paced and dynamic business environment, where the ability to respond swiftly to market changes is a competitive advantage.

3. Pay-as-you-go to Test and Use the System Without Being Fully Committed:

One of the key advantages of cloud computing is the pay-as-you-go pricing model. This approach allows users to pay only for the computing resources they consume, without the need for upfront investment in hardware and infrastructure. This is particularly beneficial for testing and experimentation, as users can deploy and assess systems without making a full financial commitment. It also provides the opportunity to scale resources up or down based on usage, optimizing costs and ensuring that organizations only pay for what they actually use. This cost-effective and scalable model encourages innovation and experimentation, fostering a more dynamic and adaptive approach to IT infrastructure.

Definition of cloud computing

Cloud computing is the on-demand delivery of IT resources over the internet with pay-as-you-go pricing.

More descriptively, cloud computing represents a paradigm shift in the delivery of IT services, characterized by on-demand accessibility, the utilization of IT resources over the Internet, and a pay-as-you-go pricing model. In this model, organizations and individuals gain seamless access to a wide array of computing resources, including servers, storage, databases, networking, software, and analytics, delivered over the Internet. The on-demand nature of cloud computing allows users to scale their resources up or down in real time, aligning with their specific needs and workloads. This transformative approach not only ensures flexibility but also eliminates the need for extensive upfront investments in physical infrastructure. Moreover, the pay-as-you-go pricing model enables users to pay only for the resources consumed, making cloud computing a cost-effective solution. This shift to cloud services empowers businesses to focus on innovation and efficiency, with the agility to adapt to changing demands without the constraints of traditional infrastructure limitations.

Client-server model

Client-server model

Modern computing is based on the client-server model. Here a client can be a web browser or desktop application that a person interacts with to make requests to computer servers. A server can be services such as Amazon Elastic Compute Cloud (Amazon EC2), a type of virtual server.

For example, the client is like a friend using a web browser or app, making requests for things like news, game scores, or funny videos. The server is a powerful computer like Amazon EC2 that receives these requests, figures out what’s needed, and sends back the requested information. It’s like asking a friend for something, and they go and get it for you. This client-server setup is the backbone of how we interact with and get information from computers on the internet, making it easy and efficient for us to access what we need.

Benefits of cloud computing

Cloud computing provides developers and IT departments with significant benefits. The largest benefit is the ability to focus on what matters most. The cloud gives enormous advantages with the use of IT assets as programming resources. You can quickly set up and tear down infrastructure in a way that isn’t possible with a traditional approach. By accessing these resources, you can move forward dynamically with agility and flexibility. The ability to pay-as-you-go lets you test and use the system without being fully committed. And you can stop using services or change tactics to fit your needs.

1. Trade upfront expense for variable expense

Upfront expense refers to data centers, physical servers, and other resources that you would need to invest in before using them. Variable expense means that you pay only for computing resources that you consume. You don’t need to invest heavily in data centers and servers before knowing how you are going to use them.

By taking a cloud computing approach that offers the benefit of variable expense, companies can implement innovative solutions while saving on costs.

2. Stop spending money to run and maintain data centers

Computing in data centers often requires you to spend more money and time managing infrastructure and servers. A benefit of cloud computing is the ability to focus less on these tasks and more on your applications and customers.

3. Stop guessing capacity

With cloud computing, you don’t have to predict how much infrastructure capacity you will need before deploying an application.

For example, you can launch Amazon EC2 instances when needed, and pay only for the compute time that you use. You can also scale in or scale out in response to demand.

4. Benefit from massive economies of scale

By using cloud computing, you can achieve a lower variable cost than you can get on your own. Because usage from hundreds of thousands of customers can aggregate in the cloud, providers such as AWS can achieve higher economies of scale.

5. Increase speed and agility

The flexibility of cloud computing makes it easier for you to develop and deploy applications. This flexibility provides you with more time to experiment and innovate. When computing in data centers, it might take weeks to obtain new resources that you need. By comparison, you can use cloud computing to access new resources within minutes.

6. Go global in minutes

You can use the global footprint of the AWS Cloud to deploy applications to customers around the world quickly while providing them with low latency. Therefore, even if you are located in a different part of the world from your customers, the customers can access your applications with minimal delays. Later you will learn the AWS Infrastructure in greater detail through the next article.

Deploying to the cloud

Cloud service and deployment methods provide different levels of control, flexibility, and management.

Deployment models include the following:

· Infrastructure as a service (IaaS)

· Platform as a service (PaaS)

· Software as a service (SaaS)

Deployment strategies include the following:

· Cloud

· Hybrid

· On-premises

Each type of deployment model and strategy has a shared responsibility between you and the cloud service provider.

As cloud computing has grown in popularity, several different models and deployment strategies have merged to help meet the specific needs of different users.

Each type of cloud service and deployment method provides you with different levels of control, flexibility, and management.

Understanding the differences between deployment models, and which deployment strategies you can use, helps you decide which set of services is right for your needs.

Cloud computing models

1. Infrastructure as a service (IaaS)

Infrastructure as a service (IaaS) contains the basic building blocks for cloud IT. It typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space. Infrastructure as a service provides the highest level of flexibility and management control over your IT resources.

Many AWS services are considered IaaS, including Amazon EC2, Amazon Simple Storage Service (Amazon S3), Amazon Relational Database Service (Amazon RDS), and Amazon Route 53.

2. Platform as a service (PaaS)

Platform as a service (PaaS) removes the need for organizations to manage the underlying infrastructure (usually hardware and operating systems). They can focus on the deployment and management of applications. These tools give developers the ability to be more efficient because they don’t need to worry about resource procurement, capacity planning, software maintenance, and patching.

An example of a platform as a service is AWS Elastic Beanstalk. This service is used for quickly deploying and scaling web applications.

3. Software as a service (SaaS)

Software as a service (SaaS) is a completed software product that the service provider runs and manages. With a SaaS offering, you do not have to think about how the service is maintained or how the underlying infrastructure is managed. You only must think about how you will use that particular piece of software.

Examples of software as a service are video meeting sites, email sites, file-sharing sites, and messaging apps.

Cloud computing deployment models

Your choice of deployment model depends on your desired infrastructure, data storage needs, and access requirements. Your unique business requirements will help guide the type of cloud deployment model that you choose.

1. Cloud

In a cloud-based deployment model, you can migrate existing applications to the cloud, or you can design and build new applications in the cloud. You can build those applications on low-level infrastructure that requires your IT staff to manage them. Alternatively, you can build them by using higher-level services that reduce the management, architecting, and scaling requirements of the core infrastructure.

For example, a company might create an application that consists of virtual servers, databases, and networking components that are fully based in the cloud.

2. Hybrid

In a hybrid deployment, cloud-based resources are connected to on-premises infrastructure. You can integrate cloud-based resources with legacy IT applications. You might want to use this approach in a number of situations. For example, you have legacy applications that are better-maintained on-premises, or government regulations require your business to keep certain records on-premises.

For example, suppose that a company wants to use cloud services that can automate batch data processing and analytics. However, the company has several legacy applications that are more suitable on-premises and will not be migrated to the cloud. With a hybrid deployment, the company would be able to keep the legacy applications on-premises while benefiting from the data and analytics services that run in the cloud.

3. On-premises

On-premises deployment is also known as a private cloud deployment. In this model, resources are deployed on-premises by using virtualization and resource management tools. Increase utilization by using application management and virtualization technologies.

For example, you might have applications that run on technology that is fully kept in your on-premises data center. Although this model is much like legacy IT infrastructure, its incorporation of application management and virtualization technologies helps to increase resource utilization.

Conclusion

In the huge world of tech, cloud computing is like our superhero, changing how we use digital stuff. We’re saying bye to old IT limits, and the cloud is front and center, giving us flexibility, speed, and savings. Whether it’s the back-and-forth between clients and servers or cool ways to set up tech, the cloud is the heart of modern tech progress.

So, whether you’re launching applications globally in minutes or embracing the pay-as-you-go magic, the cloud invites us to a realm where innovation meets efficiency. Finally, here’s to the beginning of a future where our digital endeavors soar to new heights with the power of the cloud.

Stay curious folks! Until next time, happy cloud computing! ☁️🚀

--

--

Sachini Amarasinghe

Former Trainee Software Engineer at Creative Software | Final Year Undergraduate at University of Moratuwa, Sri Lanka. https://sachiniamarasinghe.vercel.app/