Cloud Computing
History of Cloud Computing
First Age (1970s)
Shift from centralized to decentralized network design.
Processing closer to users (thin to thick clients).
Emergence of tightly coupled applications.
Second Age (1980s)
Rise of Internet improving user connectivity.
Increased compute load closer to users.
Transition to independent competing companies leading to faster innovation and lower costs.
Third Age (1990s)
Explosion of data with mobility and wireless connectivity.
Rebirth of thin clients (browsers) with server-side computing.
Introduction of virtualization for improved resource utilization.
Present Times (2000s)
Adoption of loosely coupled applications benefiting from scalable infrastructure.
Innovations in billing and user access to fractional server resources.
Shift towards data-centric security.
Cloud Computing: IT-as-a-Service
Value Delivery
Key market sectors: Software, Infrastructure, and flexibility in environment.
Significant reduction in software costs and application development platforms.
Formal Definition of Cloud Computing
Model for ubiquitous, on-demand network access to a shared pool of computing resources.
Composed of five essential characteristics, three service models, and four deployment models.
Essential Characteristics
On-demand self-service: Consumers manage their own services without provider assistance.
Broad network access: Accessibility across diverse client platforms.
Resource pooling: Dynamic allocation to serve multiple consumers.
Rapid elasticity: Resources can scale quickly to match demand.
Measured service: Monitoring and reporting on resource consumption.
Service Models Overview
Infrastructure-as-a-Service (IaaS): Users manage software, not infrastructure.
Software-as-a-Service (SaaS): Centralized applications for users without access to underlying infrastructure.
Platform-as-a-Service (PaaS): Integrates IaaS and SaaS capabilities for development.
Deployment Models
Public Cloud: General public access with pay-as-you-go models.
Private Cloud: Single-tenant clouds for more control.
Hybrid Cloud: Combination of public and private, maximizing resource utilization.
Community Cloud: Shared infrastructure for specific community users with common concerns.
Application Migration Strategies
Rehost (lift-and-shift): Quick migration with minimal changes, often reverting to existing limitations.
Refactor: Significant modifications for cloud advantages, often restructuring applications.
Replatform: Intermediate adjustments to facilitate cloud integration.
Retire/Replace: Decommissioning applications when more effective solutions are available.
Evaluating Candidates for Migration
Complexity: Consider the development background and dependencies.
Criticality: Assess user reliance and acceptable downtime.
Compliance Availability: Regulatory requirements and uptime standards.
Risks in Application Migration
Unforeseen technical challenges and costs.
Potential downtime and change management issues.