Evolution of Computing: From Mainframes to Cloud Systems

Phases of Computing Evolution

Mainframe Architecture

Definition: Mainframe architecture is a centralized computing model where a large, powerful computer performs all processing, and users access it through dumb terminals.

Key Points:

  • Expensive and large-scale systems
  • Introduction of time-sharing
  • Dumb terminals with no independent processing power

Client–Server Computing

Definition: Client–server computing is a model where client machines perform some processing while servers handle centralized services and data.

Key Points:

  • Intelligent clients replaced dumb terminals
  • Potential for server bottleneck problems
  • Limited scalability compared to modern models

The PC Revolution

Definition: The PC revolution refers to the emergence of personal computers with sufficient processing power for individual users.

Key Points:

  • Reduced dependency on centralized servers
  • Improved response times for users
  • Affordable computing for the general public

Network of Personal Computers

Definition: A network of PCs is a collection of interconnected personal computers that communicate using LAN or WAN technologies.

Key Points:

  • Peer-to-peer communication capabilities
  • Enabled efficient resource sharing
  • Geographical separation became possible

Distributed Computing

Definition: Distributed computing is a model in which multiple independent computers work together to solve a single complex problem.

Key Points:

  • An extension of parallel computing
  • Improved overall performance and system reliability

Cluster Computing

Definition: Cluster computing is a system where multiple similar computers (nodes) are connected and work together as a single integrated system.

Key Points:

  • Homogeneous nodes
  • Centralized cluster head for management
  • Faster task execution through parallelization
  • Risk of a single point of failure

Grid Computing

Definition: Grid computing is a distributed model where heterogeneous systems located at different geographical locations share resources without centralized control.

Key Points:

  • Decentralized architecture
  • High scalability
  • Supports diverse, heterogeneous systems

Hardware Virtualization

Definition: Hardware virtualization is a technology that creates a virtual version of physical computing resources using a software layer.

Key Points:

  • Decouples software from physical hardware
  • Enables efficient resource pooling
  • Supports real-time scaling of resources

Group Collaboration

Definition: Group collaboration refers to the ability of multiple users and systems to work together over the internet using modern web technologies.

Key Points:

  • Enabled by Web Services
  • Utilizes Web 2.0 and Mashups
  • Facilitates global collaboration

Service-Oriented Architecture (SOA)

Definition: Service-Oriented Architecture (SOA) is a design approach in which software applications are built as a collection of loosely coupled services.

Key Points:

  • Language-independent implementation
  • Flexible and reusable services
  • Business-oriented architecture

Utility Computing

Definition: Utility computing is a model where resources are provided on-demand, and users pay only for the resources they consume.

Key Points:

  • Pay-as-you-go pricing model
  • On-demand availability
  • Vendor-managed infrastructure

Autonomic Computing

Definition: Autonomic computing is a self-managing computing system capable of operating without human intervention using artificial intelligence.

Characteristics:

  • Self-configuration: Automatic setup of components
  • Self-healing: Automatic discovery and correction of faults
  • Self-optimization: Automatic monitoring and control of resources
  • Self-protection: Proactive identification and protection from attacks

Cloud Computing Fundamentals

Definition: Cloud computing is a model that provides on-demand access to shared, virtualized computing resources over the internet with high scalability and pay-per-use pricing.

Key Features:

  • Real-time scalability
  • Resource pooling
  • On-demand self-service

Convergence of Technologies

Definition: The convergence of technologies refers to the integration of multiple computing technologies—such as virtualization, grid computing, SOA, and high-speed networking—to form the foundation of cloud computing.

Key Comparison of Computing Models

Cluster Computing

Definition: A centralized group of similar computers working together as one cohesive system.

Grid Computing

Definition: A decentralized system of geographically distributed and heterogeneous computers sharing resources.

Cloud Computing

Definition: A highly scalable, virtualized, on-demand computing environment where the physical infrastructure remains hidden from the end users.