Cloud Computing
Cloud Computing
Cloud Computing is a technology that provides computing resources as services over the Internet. These resources include servers, storage, databases, networking, software, analytics, and intelligence. Instead of owning and maintaining physical infrastructure, users can rent resources on demand.
Key Idea
“Access computing resources anytime, anywhere, without owning the infrastructure.”
Definition of Cloud Computing
Standard Definition
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Simple Definition: Cloud Computing allows users to use IT services over the Internet on a pay-as-you-use basis.
Evolution of Cloud Computing
Cloud computing did not appear suddenly. It evolved through multiple computing paradigms.
Evolution Stages
| Era | Technology | Description |
|---|---|---|
| 1960s | Mainframe Computing | Centralized computing, shared by many users |
| 1970s | Time Sharing | Multiple users share CPU time |
| 1980s | Client-Server | Clients request services from servers |
| 1990s | Distributed Computing | Tasks distributed across machines |
| 2000s | Grid Computing | Resource sharing across organizations |
| 2010s–Present | Cloud Computing | On-demand, scalable Internet-based services |
History of Cloud Computing (Exam-Oriented)
Important Milestones
| Year | Event |
|---|---|
| 1961 | John McCarthy proposed computing as a utility |
| 1999 | Salesforce introduced SaaS |
| 2002 | Amazon Web Services (AWS) launched |
| 2006 | Amazon EC2 and S3 introduced |
| 2008 | Google App Engine |
| 2010 | Microsoft Azure |
| 2015+ | AI, Big Data, IoT integrated with Cloud |
Key Contributors
- John McCarthy – Idea of utility computing
- Amazon – Infrastructure as a Service (IaaS)
- Google & Microsoft – Platform & software services
Characteristics of Cloud Computing
- On-Demand Self-Service
- Broad Network Access
- Resource Pooling
- Rapid Elasticity
- Measured Service (Pay-as-you-go)
Underlying Principles of Parallel and Distributed Computing
Cloud computing is built on Parallel Computing and Distributed Computing principles.
Parallel Computing
Parallel computing is a model where multiple processors execute multiple tasks simultaneously to improve performance.
Key Concepts
- Task decomposition
- Simultaneous execution
- Shared or distributed memory
Parallel Computing Diagram
Distributed Computing
Distributed computing is a system where multiple independent computers communicate and coordinate their actions by passing messages to achieve a common goal.
Characteristics
- No shared memory
- Communication through network
- Fault tolerance
- Scalability
Distributed Computing Diagram
Relationship Between Cloud, Parallel & Distributed Computing
| Aspect | Parallel | Distributed | Cloud |
|---|---|---|---|
| Execution | Simultaneous | Coordinated | On-demand |
| Location | Same system | Multiple systems | Data centers |
| Scalability | Limited | High | Very High |
| Cost | High | Moderate | Pay-per-use |
Cloud Computing Architecture
Basic Architecture Components
- Front End – User Interface (Browser, App)
- Back End – Servers, Storage, Virtual Machines
- Network – Internet
- Cloud Management Software
Advantages of Cloud Computing (Exam Points)
- Cost Reduction
- High Scalability
- Accessibility
- Automatic Updates
- Disaster Recovery
- Resource Optimization
Applications of Cloud Computing
- Education (Google Classroom)
- Banking & Finance
- Healthcare
- E-commerce
- Big Data & AI
- Government e-Governance
Exam-Oriented Short Notes (Quick Revision)
- Utility Computing: Computing resources provided like electricity or water on demand.
- Virtualization: Technology that allows multiple virtual machines to run on a single physical machine.
- Pay-As-You-Go: Users pay only for resources they consume.
Cloud Architecture
Cloud architecture refers to the overall structure of cloud computing components, including front end, back end, virtualization layer, network, and management systems, that work together to deliver cloud services.
Components of Cloud Architecture
Front End
- User interface (Web browser, Mobile app)
- Client-side applications
Back End
- Servers
- Storage systems
- Databases
- Virtual machines
Cloud Delivery Model
- IaaS
- PaaS
- SaaS
Network
- Internet / Intranet
- Load balancers
Cloud Management
- Resource provisioning
- Monitoring
- Security management
- Billing
Characteristics of Cloud Architecture
- Scalability
- Elasticity
- Fault tolerance
- High availability
- Resource pooling
Types of Clouds (Deployment Models)
Public Cloud
Cloud infrastructure owned and managed by third-party service providers and made available to the public.
Examples
- AWS
- Microsoft Azure
- Google Cloud
Advantages
- Low cost
- High scalability
- No infrastructure management
Disadvantages
- Security concerns
- Limited control
Private Cloud
Cloud infrastructure used exclusively by a single organization.
Advantages
- High security
- Full control
- Customization
Disadvantages
- High cost
- Maintenance overhead
Hybrid Cloud
Combination of public and private clouds, allowing data and application sharing.
Advantages
- Flexibility
- Cost optimization
- Data security
Community Cloud
Cloud infrastructure shared by organizations with common requirements (e.g., government, healthcare).
Comparison Table (Exam Important)
| Type | Ownership | Cost | Security | Scalability |
|---|---|---|---|---|
| Public | Third Party | Low | Medium | High |
| Private | Organization | High | High | Medium |
| Hybrid | Mixed | Medium | High | High |
| Community | Group | Medium | High | Medium |
Business Models Around Cloud Computing
Cloud business models define how cloud services are delivered and monetized.
Infrastructure as a Service (IaaS)
Provides virtualized hardware resources like servers, storage, and networking.
Examples
- Amazon EC2
- Google Compute Engine
Billing
Pay-per-use (CPU hours, storage, bandwidth)
Platform as a Service (PaaS)
Provides a development platform for application creation without managing infrastructure.
Examples
- Google App Engine
- Microsoft Azure App Services
Software as a Service (SaaS)
Delivers ready-to-use software applications over the Internet.
Examples
- Gmail
- Salesforce
- Microsoft 365
Cloud Business Model Comparison
| Model | User Controls | Provider Controls | Example |
|---|---|---|---|
| IaaS | OS, Apps | Hardware | AWS EC2 |
| PaaS | Apps | OS + Infra | Google App Engine |
| SaaS | Nothing | Everything | Gmail |
Major Players in Cloud Computing
Leading Cloud Service Providers
| Provider | Services | Strength |
|---|---|---|
| Amazon Web Services (AWS) | IaaS, PaaS | Market leader |
| Microsoft Azure | IaaS, PaaS, SaaS | Enterprise integration |
| Google Cloud Platform (GCP) | PaaS, AI | Data analytics |
| IBM Cloud | Hybrid Cloud | Enterprise security |
| Oracle Cloud | SaaS, DB services | Database expertise |
| Alibaba Cloud | IaaS | Asian market |
Security Issues
- Data breaches
- Unauthorized access
- Data leakage
Privacy Issues
- Data stored in third-party locations
- Legal compliance
Vendor Lock-in
-
Difficulty in migrating between providers
Availability & Downtime
- Internet dependency
- Service outages
Performance Issues
- Latency
- Network congestion
Cloud Issues Summary Table
| Issue | Description |
|---|---|
| Security | Data confidentiality risk |
| Privacy | Regulatory compliance |
| Lock-in | Limited portability |
| Downtime | Service unavailability |
| Cost | Hidden or variable charges |
Eucalyptus
Eucalyptus is an open-source cloud computing framework that enables the creation of private and hybrid clouds compatible with AWS.
Features
- AWS API compatible
- Private cloud support
- Open source
Components
- Cloud Controller (CLC)
- Cluster Controller (CC)
- Node Controller (NC)
- Storage Controller (SC)
Advantages
- Easy AWS migration
- Cost-effective
Limitation
-
Limited scalability compared to public cloud
Nimbus
Nimbus is an open-source cloud toolkit designed for scientific and research computing.
Key Features
- Virtual machine management
- Used in grid computing
- Supports IaaS
Usage
- Academic research
- High-performance computing
Open Nebula
OpenNebula is an open-source cloud management platform for managing private, public, and hybrid clouds.
Features
- Virtual machine lifecycle management
- Multi-hypervisor support
- Data center virtualization
Advantages
- Flexible
- Enterprise-ready
- Easy integration
CloudSim
CloudSim is a simulation toolkit used for modeling and simulating cloud computing environments.
Purpose
- Research
- Performance analysis
- Resource scheduling testing
Features
- VM simulation
- Network modeling
- Cost analysis
Exam Note
CloudSim is not a real cloud, it is a simulation framework.
Comparison: Eucalyptus, Nimbus, OpenNebula, CloudSim
| Tool | Type | Purpose |
|---|---|---|
| Eucalyptus | Cloud Platform | Private cloud |
| Nimbus | Cloud Toolkit | Scientific cloud |
| OpenNebula | Cloud Manager | Hybrid cloud |
| CloudSim | Simulator | Cloud research |
Exam-Ready Conclusion
Cloud architecture provides the structural foundation of cloud computing. Different deployment models and business models offer flexibility for diverse organizational needs. Major cloud providers dominate the industry, while open-source platforms like Eucalyptus, Nimbus, and OpenNebula enable private cloud deployment. CloudSim plays a critical role in cloud research and performance evaluation. Despite its advantages, cloud computing faces challenges related to security, privacy, and reliability.