On-demand delivery of computing resources via the internet
Core Idea: Cloud computing is a model for enabling ubiquitous, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort.
Key Elements
Service Models
- Infrastructure as a Service (IaaS): Virtualized computing resources
- Virtual machines, storage, networking
- Examples: AWS EC2, Azure VMs, Google Compute Engine
- Platform as a Service (PaaS): Development and deployment environment
- Application runtimes, databases, middleware
- Examples: Heroku, Azure App Service, Google App Engine
- Software as a Service (SaaS): Complete applications delivered over the web
- End-user applications, business services
- Examples: Microsoft 365, Salesforce, Google Workspace
- Function as a Service (FaaS): Serverless computing
- Event-driven execution without managing servers
- Examples: AWS Lambda, Azure Functions, Google Cloud Functions
Deployment Models
- Public Cloud: Services offered over the public internet
- Multi-tenant environment
- Offered by third-party providers
- Private Cloud: Infrastructure dedicated to a single organization
- On-premises or hosted by third party
- Single-tenant environment
- Hybrid Cloud: Combination of public and private clouds
- Workload portability between environments
- Integrated management
- Multi-Cloud: Using services from multiple cloud providers
- Best-of-breed approach
- Vendor diversification
Essential Characteristics
- On-Demand Self-Service: Provision resources without human interaction
- Broad Network Access: Available over the network from diverse clients
- Resource Pooling: Multi-tenant model with location independence
- Rapid Elasticity: Scale resources up or down quickly
- Measured Service: Pay-per-use or subscription-based billing
Enabling Technologies
- Virtualization: Abstraction of physical computing resources
- Hypervisor-based virtualization
- Containerization
- Automation: Programmatic control of infrastructure
- Infrastructure as Code (IaC)
- API-driven provisioning
- Orchestration: Coordinating multiple system components
- Kubernetes, Terraform, Ansible
- Cloud provider native tools
Cloud Computing Benefits
- Cost Efficiency: OpEx vs. CapEx model
- Scalability: Handle varying workloads
- Agility: Rapid provisioning and deployment
- Global Reach: Distributed infrastructure
- Reliability: Redundant systems and disaster recovery
- Innovation Acceleration: Access to latest technologies
Challenges and Considerations
- Security and Compliance: Shared responsibility model
- Data Privacy: Geographic and legal considerations
- Vendor Lock-in: Dependency on provider-specific services
- Cost Management: Variable spending and optimization
- Skill Requirements: New operational expertise needed
- Network Dependency: Reliance on internet connectivity
Additional Connections
- Broader Context: Distributed Computing (broader technical paradigm)
- Applications: Cloud-Native Architecture (design approach for cloud)
- See Also: Edge Computing (extension of cloud computing model)
References
- NIST Definition of Cloud Computing (SP 800-145)
- "Cloud Computing: Concepts, Technology & Architecture" by Thomas Erl
#cloud-computing #infrastructure #virtualization #technology
Connections:
Sources:
- From: Hyper-V - Wikipedia