📒1. Cloud Foundations

📕 Learning Objectives

  • Define cloud and identify cloud services and providers

📍 The cloud is just someone else's computer.

Basics

On-Premises Information System Architecture

Workload

Services

Virtual Machines

Virtualization

Platforms, Maintenance, Licensing

Physical Infrastructure

Network, Power, Racks, Storage

Physical Facility

Cost of space, Physical Security

Cloud Architecture is the same as the above on-premises architecture, but it takes care of the physical infrastructure by providing it with built-in security and redundancy at a large scale.

In addition, the management plane relates to the management and control of the cloud infrastructure and services, with key functions like monitoring, resource provisioning/allocation, configuration, security controls, troubleshooting, etc.

Cloud Architecture

Workload

Services

Virtual Machines

Management Plane

Virtualization

Physical Infrastructure

Physical Facility

Types of Cloud Services

Workload level - Software as a Service (SaaS)

  • SaaS - software applications are delivered over the internet as a service (e.g. Google Tools, Microsoft365, etc).

Services level - Platform as a Service (PaaS)

  • PaaS - provides a complete runtime environment for developers to build, deploy and manage applications.

Virtual Machine level - Infrastructure as a Service (IaaS)

  • IaaS - virtualized computing resources (virtual machines, storage, networking components) are provided by the cloud provider to users over the internet as a service.

These Cloud services types support levels of customization and can also offer a range of distinct "as a Service" options.

When moving from IaaS to SaaS, ease of administration increases and control is reduced, and vice versa.

Cloud services can be accessed through the Internet or via a private VPN Connection.

Cloud Providers

  1. Amazon Web Services (AWS)

  2. Microsoft Azure

  3. Google Cloud Platform (GCP)

  4. IBM Cloud

  5. Oracle Cloud Infrastructure (OCI)

  6. Alibaba Cloud

  7. Salesforce Cloud

  8. VMware Cloud

  9. Digital Ocean

  10. Rackspace

  11. Cisco Cloud Services

  12. Red Hat OpenShift

  13. Heroku

  14. SAP Cloud Platform

  15. Adobe Experience Cloud

(not exhaustive list)

🔗 About Cloud Market Share

🔗 By IDC - Worldwide Public Cloud Services Revenue and Year-over-Year Growth 2021

🔗 Gartner Says More Than Half of Enterprise IT Spending in Key Market Segments Will Shift to the Cloud by 2025

  • AWS is a leading cloud computing platform with a market share of around 33% (Q1 2022). It operates in 31 geographic launched regions, has over 200 services, and serves diverse industries. It offers job opportunities and certifications in AWS skills and is widely adopted by companies like Airbnb, Kellogg’s, Netflix, McDonald's, The Guardian, etc.

    • EC2 (Elastic Compute) instance - virtual machines

    • S3 (Simple Storage Service) bucket - cloud storage space

  • Azure is a cloud computing platform with a worldwide presence (over 60 regions) and more than 600 services. Azure serves diverse industries and is used by notable organizations such as eBay, BMW and Walmart. It offers certifications for professionals in Azure technologies.

  • GCP is a major cloud provider with a global infrastructure spanning over 70 zones and 20 regions, serving diverse industries and notable customers such as Twitter and PayPal. In Q1 2021, Google Cloud reported revenue of $4.05 billion. GCP is known for its data analytics and machine learning capabilities and emphasizes sustainability. Certifications are available for professionals in GCP technologies.

    • Compute Engine API - for virtual machines

    • Cloud Storage Buckets

    • Cloud Run - containerized applications

Why Cloud

The key advantages of choosing cloud computing are:

  • Scalability - easily adjust resources based on demand.

    • capacity-based spending

  • Cost Efficiency - pay only for what you use, no upfront investment.

    • consumption-based spending (functions, services, storage)

  • Accessibility and Flexibility - access applications and data from anywhere.

  • Reliability and Availability - high uptime and built-in redundancy.

    • minimized administrative overhead

  • Data Security and Compliance - robust security measures and regulatory compliance.

  • Disaster Recovery and Backup - automated backup and quick recovery options.

  • Collaboration and Productivity - real-time collaboration and increased efficiency.

  • Innovation and Agility - rapid adoption of new technologies and services.

  • Green and Sustainable Computing - energy-efficient infrastructure.

  • Continuous Updates and Maintenance - provider handles maintenance and updates.

🔗 CapEx vs OpEx in Cloud Computing

CapEx (Capital expenditure) - e.g. on-premises capacity expansion/reduction

  • hardware and licensing, replace/sell equipment

OpEx (Operating expenses) - e.g. cloud-based capacity expansion/reduction

  • pay for what is used, no hardware purchase

  • reduce monthly cost, no upfront capital costs

Moving to the cloud might not be a good idea in case of ongoing operational investments, regulatory compliance and data fencing.

Management

Tools

  • REST API - an API (Application Programming Interface) that conforms to the constraints of REST (Representational State Transfer) architectural style, allowing interaction with RESTful web services.

Cost

Pricing Models

  • Capacity: e.g. Virtual machines - per second/minute/hour basis

  • Consumption: e.g. Storage/functions/service - pay for the amount (transaction cost)

  • both

  • fixed cost

  • data transfer, egress cost

  • Marketplace Billing (3rd party vendor support additional cost)

📌 Calculators

Billing, Monitoring, Optimization

There are different billing entities (what is being billed), with a billing cycle that is generally a month. Optimize billing rate with billing management tools.

Budgets and alerts are useful for monitoring.

Agents (Azure advisors, Google recommenders, AWS cost anomaly detection) monitor the cloud patterns and make recommendations for cost-cutting, sizing and autoscale strategies. Serverless options and long-term commitments (discounts, etc) can be useful too.

Support

Cloud resource responsibility refers to the distribution of responsibilities between the cloud service provider (CSP) and the cloud customer regarding the management and maintenance of various aspects of the cloud environment.

  • The specific responsibilities allocated to each party can vary based on the cloud service model being used (e.g. IaaS, PaaS, SaaS) - shared responsibility model.

    • CSP - infrastructure, data centers, networking, physical security, hardware maintenance

    • Customer - resources and services management and configuration (data plane)

In terms of SLAs (Service Level Agreements), the customer can be responsible for the workload and services that are running. The SLA is a contractual agreement between a service provider and a customer that defines the expected level of service and the metrics by which that service will be measured.

📌 SLAs

Cloud support refers to the assistance and services provided by the CSP to support the customer in effectively utilizing and managing cloud resources and services.

e.g. Technical assistance, issue resolution, service monitoring, configuration and deployment assistance, kb and documentation, SLAs, service upgrades and training.

📌 Support Plans

Services

IaaS

Cloud Provider - Infrastructure as a Service

Physical Facility

Physical Infrastructure

Virtualization

Management Plane

The customer is responsible for the Virtual Machines, Services and Workload levels.

Networking

A VPC (Virtual Private Cloud) is a virtual network environment within a cloud computing platform, that provides isolated and secure networking capabilities, allowing users to create and manage their own virtual network infrastructure in the cloud.

  • Private networking, IP management, Subnets, Routing, DNS, Net Security/ACLs

Computing

A cloud instance (virtual machine - VM), is a virtualized computing environment created within a cloud computing platform. It represents a single, independent server instance that runs within the infrastructure of the cloud service provider.

  • Size

    • Series/Size/CPU/Ram

  • Image (Win/Linux Operating System, Software, Custom)

  • Storage

  • Networking (VPC)

  • Security Access

  • Monitoring

Storage

Cloud storage refers to a data storage service provided by the CSP where data is stored and managed in a remote cloud infrastructure.

  • AWS

    • S3 buckets, EFS, EBS

  • Azure

    • Storage account, Managed disks

  • Google Cloud

    • Storage buckets

    • Compute engine disks and images

PaaS

Cloud Provider - Platform as a Service

Physical Facility

Physical Infrastructure

Virtualization

Management Plane

Virtual Machines

Services

The customer is responsible only for the workload level.

  • Application Hosting

    • Containers

    • Various types of Apps

  • Data Hosting

    • Various types of databases

  • Security, Media, Migration, Archiving, IoT, Cognitive, Machine learning Services, etc

SaaS

Cloud Provider - Software as a Service

Physical Facility

Physical Infrastructure

Virtualization

Management Plane

Virtual Machines

Services

Workload

The cloud SaaS provider supplies every level, but gives the customer the ability to manage the Workload level.

📌 SaaS Examples

Scalability & Availability

Cloud regional computing refers to the deployment of cloud computing resources within a specific geographic region.

Cloud service providers typically have multiple data centers located in different regions around the world, and regional computing allows users to deploy and access their cloud resources in specific geographic areas/availability zones.

Availability refers to the measure of how accessible and operational cloud services and resources are to users (load balancing, disaster recovery, redundancy, failover).

Cloud scale refers to the ability of cloud computing systems to handle large-scale workloads and accommodate rapid growth and demand. It refers to the capacity and capability of cloud infrastructure to scale resources, such as computing power, storage and network bandwidth, in response to varying workloads and user demands, also minimizing costs by auto-scaling.


Last updated