top of page

Cloud-computing Fundamentals

  • Writer: Archishman Bandyopadhyay
    Archishman Bandyopadhyay
  • Jul 22, 2024
  • 8 min read
ree

1.Intro to Cloud Computing: the Fundamentals

As a FinOps professional, having a solid understanding of cloud computing is crucial. Cloud computing has revolutionized the way businesses operate, offering scalability, flexibility, and cost-efficiency. In this blog post, we'll explore the origins of cloud computing, its technical definition, and the key characteristics that make it a game-changer in the IT industry.


The Origin of Cloud Computing

Cloud computing emerged as a result of providers recognizing the potential of sharing resources over the internet. By allowing multiple customers to use the same resource, providers could bring down the cost for each individual customer. Once the provider hit a certain level of usage, they would start making a profit. This sharing model is similar to services like Uber or Airbnb, where resources are cheaper when paid for individually.


Technical Definition of Cloud Computing

The National Institute of Standards and Technology (NIST), under the Department of Commerce, defines cloud computing as:

A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable resources.

NIST also outlines five essential characteristics of cloud computing, three service models, and four deployment models. We'll dive deeper into these in upcoming lessons.


Cloud Computing in Simple Terms

The on-demand delivery of compute resources, database storage, applications, and other IT resources through a cloud services platform via the internet, with pay-as-you-go pricing.

Virtualization: The Backbone of Cloud Computing

It's important to understand the difference between virtualization and cloud computing. Virtualization is a complementary technology that allows cloud providers to provision resources to customers in a segmented, virtual manner. Without virtualization, cloud computing would not be profitable.


Why Companies Use Cloud Computing

Companies leverage cloud computing to access resources they either don't want to pay for upfront or can't afford. Cloud computing enables businesses to go to market faster, with an on-demand and flexible model. The main focus of the FinOps exam is understanding how cloud allows enterprises to pay for what they use and nothing more.


Test Tips

  • Cloud computing is an on-demand delivery model that allows users to pay for what they use.

  • Resource consumption in the cloud is variable, meaning the usage and costs can fluctuate from month to month.

  • As a FinOps professional, the challenge lies in collecting data and making informed decisions to control cloud spending.


2. The Five Essential Characteristics of Cloud Computing

Cloud computing has revolutionized the way businesses operate, offering unparalleled flexibility, scalability, and cost-efficiency. But what exactly makes a cloud? According to the National Institute of Standards and Technology (NIST), under the Department of Commerce, there are five essential characteristics that define cloud computing. In this blog post, we'll dive into each of these characteristics and understand their significance.


1. On-Demand Self-Service

On-demand self-service allows consumers and enterprises to provision resources whenever they need them. With just a few clicks, users can access and configure computing resources without requiring human interaction with the service provider.


2. Broad Network Access

Cloud computing enables users to access resources from anywhere, using any device with an internet connection. This broad network access ensures that users can work seamlessly, regardless of their location or the device they are using.


3. Resource Pooling

Resource pooling is a key aspect of cloud computing that allows providers to offer resources economically. The provider's resources are pooled together, enabling multiple consumers to share the same resources. This multi-tenant model optimizes resource utilization and reduces costs for both the provider and the consumer.


4. Rapid Elasticity

Rapid elasticity enables users to scale resources up or down based on their needs. If a user requires more storage or computing power, they can quickly provision additional resources. Similarly, if they no longer need certain resources, they can release them, saving costs. This flexibility is a significant advantage of cloud computing.


5. Measured Service

Cloud providers continuously monitor and measure resource usage, providing transparency for both the provider and the consumer. Users pay only for the resources they consume, and detailed reports and invoices are available for tracking and optimization purposes.


  • On-Demand Self-Service: Provision resources whenever needed

  • Broad Network Access: Access resources from anywhere, using any device

  • Resource Pooling: Provider's resources are pooled, enabling sharing among consumers

  • Rapid Elasticity: Scale resources up or down based on needs

  • Measured Service: Resource usage is monitored, measured, and reported


Test Tips

  • Cloud computing is an on-demand delivery of cloud resources.

  • Rapid elasticity allows users to scale resources up or down as needed.

  • The term "cloud" is derived from the use of virtualization, which enables resource pooling.


It's crucial to understand that rapid elasticity can be the biggest challenge in keeping track of cloud spending. Engineers may spin up and release resources frequently, making it difficult to monitor and control costs effectively.


3. Cloud Computing Service Models


Cloud service models are a crucial aspect of cloud computing that cater to various business requirements. Understanding these models is essential for organizations to make informed decisions about their cloud adoption strategy. Let's explore the three main cloud service models: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS).


  1. Software as a Service (SaaS)

SaaS is a model where the provider offers a complete software solution to the customer. The provider handles everything, including the software, support, hardware, and infrastructure. Customers simply need to add users and occasionally update documentation. Examples of SaaS include Salesforce.com and Google Workspace.


  1. Platform as a Service (PaaS)

PaaS is designed for developers who require a specific environment to build, deploy, and test applications. The provider offers a ready-to-use infrastructure that developers can leverage to streamline their development process. Examples of PaaS include AWS Elastic Beanstalk and Google App Engine.


  1. Infrastructure as a Service (IaaS)

IaaS allows organizations to deploy storage, data services, machine learning setups, and various other applications. This is where most of the costs typically originate in larger organizations. IaaS provides the highest level of flexibility among the service models. Examples of IaaS include AWS EC2 and Microsoft Azure Virtual Machines.



As we move from IaaS to SaaS, the flexibility and customer responsibilities decrease, while the provider's responsibilities increase. This shift also impacts the billing complexity, with IaaS having the highest complexity due to the numerous line items associated with services like virtual machines.


For FinOps professionals, understanding these service models is crucial. The billing complexity varies significantly between IaaS and SaaS. IaaS can have hundreds of different line items for a single service, making cost management more challenging. On the other hand, SaaS typically has fewer billing items, simplifying the FinOps professional's job.


Test Tips:

  • There are three main cloud service models: SaaS, PaaS, and IaaS.

  • SaaS provides the lowest level of flexibility, while IaaS offers the highest flexibility.

  • Billing complexity increases as we move from SaaS to IaaS.


4. Cloud Deployment Models


In addition to understanding cloud service models, it's crucial to grasp the concept of cloud deployment models. These models define how we use and implement the cloud. There are four main types of cloud deployment models: private, hybrid, community, and public. Let's dive into each of these models and their significance.


1.Public Cloud:

A public cloud, such as AWS or GCP, is open to the world to use with minimal restrictions. It offers a cost-effective solution for many organizations, as the cloud provider manages the infrastructure and resources.


2.Hybrid Cloud:

A hybrid cloud combines two or more deployment models, typically a public cloud with a private or community cloud. This approach allows organizations to leverage the benefits of multiple deployment models simultaneously, such as the scalability of public clouds and the security of private clouds.


3.Private Cloud:

In a private cloud, the infrastructure is run and managed by the organization itself. This model offers better security, compliance, and performance compared to public clouds. However, the costs associated with managing the infrastructure are higher, as the organization is responsible for all expenses.


4.Community Cloud:

A community cloud is shared by like-minded organizations, such as non-profits, military organizations, medical-based organizations, or legal-based organizations. These organizations work together to share resources and responsibilities, creating a collaborative environment.



When considering cloud deployment models, it's essential to weigh the pros and cons of each approach. For example, a private cloud offers better security and performance but comes with higher costs. On the other hand, a public cloud is more cost-effective but may have some limitations in terms of customization and control.


Test Tips:

  • There are four main cloud deployment models: private, hybrid, community, and public.

  • Hybrid cloud combines two or more deployment models.

  • Private cloud offers better security and performance but has higher costs.

  • Community cloud is shared by like-minded organizations.


5. Comparing On-Premises to Cloud

Procurement Challenges in On-Premises Environments

In the pre-cloud era, procuring resources for IT infrastructure was a time-consuming and complex process. Organizations had to deal with:

  • Budget constraints

  • Approval processes

  • Vendor quotes

  • Shipping and installation timelines


This procurement exercise could take months, hindering the ability to quickly deploy new services and respond to market demands.


Infrastructure Challenges in On-Premises Environments

On-premises infrastructure posed additional challenges, such as:

  • Power and cooling requirements

  • Rack space availability

  • Cabling and network setup


The cloud has alleviated many of these concerns, as providers handle most of the infrastructure management, allowing enterprises to focus on deploying services quickly and reducing overhead.


Localization of Cost and Spending Control

One of the significant changes in the shift from on-premises to cloud is the localization of cost and spending control. In on-premises environments, spending was typically centrally managed by a CIO or IT director. In the cloud, however, accounts are provisioned to individual developers, IT professionals, and engineers, making it more challenging to track and control spending without proper limits and oversight. This is where FinOps plays a crucial role in mitigating these challenges.


Variable Pricing and Unpredictable Budgets

With infrastructure as a service (IaaS), predicting monthly cloud spending can be difficult, especially in large organizations with multiple locations and business units. The pay-as-you-go model of the cloud introduces variable pricing, which can be beneficial if users are diligent in provisioning only what they need and deprovisioning unused resources. However, this also makes it challenging to establish a dependable routine budget.


The Pizza Model:

Comparing Cloud Service Models to On-PremisesThe pizza model is a common analogy used to compare cloud service models to on-premises infrastructure. It illustrates the level of work required by the organization based on the chosen service model.



As a finance professional, it's essential to understand how your enterprise uses the cloud and ensure that resources are being used efficiently. This involves considering factors such as costs, resource usage, security, performance, reliability, deployment methods, and staff requirements.


6. Challenges of Cloud Computing


As organizations transition from on-premises to cloud environments, FinOps professionals face several challenges in managing costs, ensuring compliance, and optimizing performance. Let's explore some of the key challenges that FinOps professionals need to be aware of:


  1. Meeting Compliance Requirements: Ensuring that cloud deployments meet various compliance requirements can be a complex task. FinOps professionals need to work closely with security and compliance teams to ensure that the necessary controls and safeguards are in place.

  2. Managing Security: Cloud security is a shared responsibility between the provider and the customer. FinOps professionals must understand the security implications of different cloud services and ensure that appropriate security measures are implemented and maintained.

  3. Dealing with Performance Issues: Performance can be a challenge in cloud environments, especially if applications are not optimized for cloud deployment. FinOps professionals need to work with IT teams to identify and resolve performance bottlenecks and ensure that applications meet the required service levels.

  4. Internet Connectivity and Bandwidth: Moving applications from on-premises to the cloud can impact internet connectivity and bandwidth requirements. FinOps professionals must ensure that the organization has sufficient bandwidth to support cloud workloads and that connectivity issues do not impact application performance.

  5. Understanding Cloud Billing: Cloud billing can be complex and challenging to understand. FinOps professionals need to be aware of the following aspects of cloud billing:

  • Billing periods may not align with calendar months or days.

  • Resource usage may be billed by the minute or hour, depending on the service.

  • Billing data is typically released on a specific day of the month.

  • Enabling billing and setting up budgets is crucial for tracking spending.

  • Monitoring resource usage incurs additional costs.


  1. Billing for Individual Services: Every cloud service used by an organization is a billing event. Some services may have free tiers or trial periods, but FinOps professionals need to keep track of when these expire and when charges begin to accrue.

  2. Importing and Exporting Billing Data: FinOps professionals may need to import and export billing data for analysis and reporting. Different cloud providers have different methods for importing and exporting billing data, such as CSV files or APIs.

  3. Understanding the Impact of Regions and Zones: The cost of deploying resources can vary depending on the region and zone selected. FinOps professionals need to understand the pricing differences between regions and zones and optimize deployments to minimize costs.




Comments


Drop Me a Line, Let Me Know What You Think

Thanks for submitting!

© 2035 by Train of Thoughts. Powered and secured by Wix

bottom of page