📒1. Cloud Foundations
Last updated
Last updated
📕 Learning Objectives
Define cloud and identify cloud services and providers
📍 The cloud is just someone else's computer.
On-Premises Information System Architecture | |
---|---|
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.
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.
Amazon Web Services (AWS)
Microsoft Azure
Google Cloud Platform (GCP)
IBM Cloud
Oracle Cloud Infrastructure (OCI)
Alibaba Cloud
Salesforce Cloud
VMware Cloud
Digital Ocean
Rackspace
Cisco Cloud Services
Red Hat OpenShift
Heroku
SAP Cloud Platform
Adobe Experience Cloud
(not exhaustive list)
🔗 About Cloud Market Share
🔗 By IDC - Worldwide Public Cloud Services Revenue and Year-over-Year Growth 2021
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.
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
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 (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.
Web-based cloud management tools
Command line interface (CLI) and Powershell CLI
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.
the cloud can be integrated into third parties management tools
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.
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
The customer is responsible for the Virtual Machines, Services and Workload levels.
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
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
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
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
The cloud SaaS provider supplies every level, but gives the customer the ability to manage the Workload level.
📌 SaaS Examples
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.
Cloud Architecture |
---|
Cloud Provider - Infrastructure as a Service |
---|
Cloud Provider - Platform as a Service |
---|
Cloud Provider - Software as a Service |
---|
Workload
Services
Virtual Machines
Management Plane
Virtualization
Physical Infrastructure
Physical Facility
Physical Facility
Physical Infrastructure
Virtualization
Management Plane
Physical Facility
Physical Infrastructure
Virtualization
Management Plane
Virtual Machines
Services
Physical Facility
Physical Infrastructure
Virtualization
Management Plane
Virtual Machines
Services
Workload
Workload
Services
Virtual Machines
Virtualization
Platforms, Maintenance, Licensing
Physical Infrastructure
Network, Power, Racks, Storage
Physical Facility
Cost of space, Physical Security