DEV Community

Cover image for Cloud Computing Key concepts
Tunde Oretade
Tunde Oretade

Posted on

Cloud Computing Key concepts

BACKGROUND

Recently, I have taken an interest in the deployment of applications to the cloud and the basics of DevOps. From my point of view, it is the next thing to learn after my foray into software development. Cloud computing is an area of software development that I'm not very familiar with, so I've decided to spend the next five months diving into it and eventually pursue a career as a cloud developer.

During this time, I'll be sharing my discoveries in a series of posts over the next few months and beyond. Be prepared for a lot of articles that showcase my learning journey. In this first post, I'll be discussing some crucial concepts in cloud computing that illustrate why it's beneficial for businesses that invest in cutting-edge technology.

WHAT IS CLOUD COMPUTING?

Cloud Computing is a computing service deployed over the World Wide Web a.k.a Internet. The advantages of cloud computing include:

  • Adaptability
  • Scalable Services

WHAT IS VIRTUALISATION?

Cloud Computing is based on the concept of Virtualisation, but what is Virtualisation? Virtualization - as I'd like to paraphrase - is a technology that involves the creation of virtual replicas/virtual instances of computer resources like databases, servers, operating systems, or even applications. These replicas/instances operate independently of one another on the same physical hardware without interference. With virtualization, users can access applications without requiring physical hardware. Also, Data centers can leverage virtualization to save power use and enable quick recovery from disasters.

CLOUD COMPUTING SERVICES

Firstly, you should know that there are 3 kinds of services in cloud computing namely:

  • Infrastructure as a Service
  • Platform as a Service
  • Software as a Service

Individuals/businesses must choose the service that will work well for them. However, before choosing any service, it is important to know how these services will benefit them, and the benefits are discussed below.

BENEFITS OF CLOUD COMPUTING IN DETAILS

HIGH AVAILABILITY

This characteristic exhibited by any cloud computing service infers that the system, component, or application can operate at a high level, continuously, without intervention, interruption, or outages to the services while running. According to weka.io, High availability allows a system to continue functioning, even when certain components fail.
Furthermore, weka.io added that "saying a cloud infrastructure is “highly availability” actually means something more specific than just “usually available whenever we need it.” Instead, availability is typically rated on the number of “nines” represented in its percentage of uptime per day, week, and year:

99% uptime = two nines
99.9% uptime = three nines
99.99% uptime = three nines

And so on. To frame these percentages, a Highly Available cloud system with three nines would have a Mean Downtime per day of roughly 1.44 minutes and an annual downtime of only about 43 minutes."

FAULT-TOLERANT

This refers to the ability of any cloud system to recover quickly from unexpected disruptions they may have encountered while running tasks. Practically a system can’t be made entirely error-free. hence, systems are designed such that in case of error availability and failure, they work properly and produce the correct results.

SCALABILITY

Scalability in cloud computing refers to the ability of a cloud infrastructure to scale up or down resources to meet changing workload demands. It allows businesses to easily add or remove computing resources as needed manually or automatically without significant hardware investment or infrastructure changes. For example, when many users log in to use an application, scalability ensures that traffic from the users is managed to cater for peak periods and off-peak times.

GLOBAL REACH

The Global reach or distribution of cloud providers' data centers permits businesses located close to these data centers in different parts of the world to start quickly and scale out effectively. Also, User requests are responded to on time when the business data is stored near customers. This proximity ensures a quick application response which is useful for a positive user experience.

AGILITY

Cloud agility is the ability to quickly develop, test, and launch applications in a cloud-based environment using cloud resources. Startups and other customers can leverage agility to launch swiftly their ideas without having to spend on physical equipment which may delay the launch of their product.

ELASTICITY VS SCALABILITY

While scalability focuses on expanding the capacity of cloud systems to meet rising traffic from users or workloads, Elasticity focuses only on meeting current demand intuitively without over or under-provisioning. According to wrike.com "Scalability is your long-term strategy, ensuring your tech grows with your business. Elasticity is your short-term solution for handling unexpected changes without breaking a sweat."

These concepts are vital for anyone learning about cloud computing or anyone whose desire is to become a cloud developer. That's all I have for this post. I hope to share more of my progress as a cloud developer soon.

Cover Image: Growtika on Unsplash.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more