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.
