Cloud Computing
Tutorial- 1
1. What is Cloud Computing? Explain its Architecture. Advantages and Disadvantages of
Cloud Computing.
Definition:
Cloud computing is a technology that allows users to access and store data, applications, and
services over the internet rather than on local physical hardware (such as hard drives or
servers). Resources like computing power, storage, and network services are delivered on-
demand through remote servers.
Cloud Computing Architecture:
Cloud architecture is divided into several layers:
• Client Layer: The user's interface where they interact with the cloud services (e.g.,
browsers or mobile apps).
• Application Layer: This layer provides access to software services (e.g., SaaS
applications like Google Drive, Microsoft 365).
• Platform Layer (PaaS): Provides a platform where developers can build, test, and
deploy applications (e.g., Google App Engine).
• Infrastructure Layer (IaaS): Provides virtualized resources such as storage,
networking, and virtual machines (e.g., AWS EC2, Google Cloud).
• Management Layer: Handles system management, monitoring, and optimization.
• Security Layer: Ensures the integrity and privacy of the data through encryption,
authentication, etc.
• Networking: Manages network-related functions, including connectivity between
cloud services and users.
Diagram of Cloud Computing Architecture:
•
Advantages of Cloud Computing:
• Cost Efficiency: No need for upfront investments in hardware or infrastructure.
• Scalability: Easily scale up or down resources based on demand.
• Accessibility: Access data and services from anywhere with an internet connection.
• Disaster Recovery: Built-in backup and recovery mechanisms.
• Collaboration: Easier collaboration by sharing access to cloud-hosted files or
services.
Disadvantages of Cloud Computing:
• Downtime: Service outages can occur if the cloud provider experiences downtime.
• Security Risks: Data stored on the cloud is susceptible to breaches if not properly
secured.
• Limited Control: Users rely on third-party service providers for management and
maintenance.
• Latency Issues: Access speeds depend on internet quality and provider
infrastructure.
2. What are Distributed and Parallel Computing?
Distributed Computing:
• Definition: In distributed computing, tasks are divided across multiple computers
connected via a network. Each computer works on a portion of the task, and results
are combined to solve the problem.
• Example: Distributed file systems like Google File System (GFS).
• Advantages of Distributed Computing:
• Fault Tolerance: Failure of one node doesn’t crash the system.
• Cost-Effective: Uses existing hardware and commodity machines.
• Scalability: Easily add more machines for greater workload.
• Geographic Distribution: Reduces latencies with distributed locations.
• Disadvantages of Distributed Computing:
• Management Complexity: Harder to manage due to network failures and
synchronization.
• Communication Overhead: Long-distance communication can reduce efficiency.
• Security Risks: More vulnerable to security issues due to reliance on networks.
Parallel Computing:
• Definition: In parallel computing, a single task is split into smaller subtasks and
executed simultaneously on multiple processors in a single machine or system.
• Example: Multi-core processors in modern computers performing parallel
operations.
Advantages of Parallel Computing:
1. Increased Speed: Faster processing by executing multiple tasks simultaneously.
2. Efficient Resource Use: Maximizes the use of all processing units.
3. Scalability: More processors solve more complex problems quickly.
4. Better for Complex Tasks: Ideal for simulations, data analysis, and scientific
computing.
Disadvantages of Parallel Computing:
1. Programming Complexity: Harder to write parallel programs.
2. Synchronization Issues: Managing processor interaction can be challenging.
3. Higher Hardware Costs: Requires expensive multi-core processors.
3. What Do You Mean by Elasticity and Scalability in Cloud Computing?
• Elasticity: This refers to the ability of the cloud to dynamically scale resources up or
down based on current demands. Elasticity ensures that resources are available
when required and released when they are no longer needed, avoiding over-
provisioning.
Example: A web application automatically adds more server capacity during traffic spikes
and reduces it when the traffic goes down.
• Scalability: Scalability refers to the cloud’s ability to handle growing workloads by
adding more resources (scaling up) or by distributing the load over multiple
resources (scaling out).
Example: Expanding storage capacity in a cloud database to accommodate increasing data
without affecting performance.
4. Discuss the Evolution of Cloud Computing?
1. Distributed Systems in Cloud Computing
• Definition: Distributed systems consist of independent
computers that collaborate to perform tasks, appearing as a
single system to users.
• How It Works: Tasks are divided and executed across machines,
which communicate via message passing, enabling faster
processing and high reliability.
• Real-World Example: Google Drive distributes data across
multiple servers for redundancy and faster access.
Diagram of Distributed System in Cloud Computing
2. Mainframe Computing and its Role in Cloud Evolution
• Before Cloud: Mainframes were the backbone of enterprise
computing, handling critical applications and vast data.
• Impact on Cloud: Mainframes laid the groundwork for cloud
systems by supporting multi-tenancy, reliability, and security.
• Continuing Relevance: Today, they work alongside cloud
services in high-transaction industries like banking.
3. Cluster Computing
• Definition: Multiple computers (nodes) connected to function
as a single system, enhancing performance and availability.
• Contribution to Cloud: Provides scalability and resilience by
distributing tasks across nodes, allowing cloud providers to
offer efficient, fail-safe services.
• Example: In web hosting, clusters ensure website accessibility
even during server failure.
Diagram of Cluster Computing
4. Grid Computing
• Definition: A form of distributed computing where
geographically dispersed computers work together on large-
scale tasks.
• Impact on Cloud: Grid computing demonstrated the power of
pooling resources, influencing the scalability of cloud services.
• Example: SETI@home project pools global volunteer computing
power to analyze data, similar to how cloud resources are
pooled.
5. Virtualization
• Definition: Creation of virtual versions of physical resources
(servers, storage, networks) to optimize resource use.
• Role in Cloud: Enables flexible scaling with virtual machines
(VMs) that can grow or shrink based on demand, critical for
cloud efficiency.
• Example: AWS and Microsoft Azure use virtualization to allow
users to create and manage virtual servers easily.
Diagram of Virtualization in Cloud Computing
6. Web 2.0
• Definition: The second generation of the web focusing on user-
generated content and interactivity.
• Influence on Cloud: Paved the way for cloud-based services
that offer dynamic, interactive experiences.
• Example: Google Docs allows real-time collaboration,
showcasing the interactive nature of Web 2.0 and cloud
services.
7. Service Orientation
• Definition: A design paradigm that focuses on offering
application components as reusable services over a network.
• Contribution to Cloud: Enabled the development of SaaS, PaaS,
and IaaS models, offering cloud-based software, platforms, and
infrastructure.
• Example: Salesforce, as a SaaS provider, offers CRM services
over the cloud without requiring local installation.
8. Utility Computing
• Definition: Computing resources (processing power, storage)
provided on-demand and billed based on usage, like utilities.
• Impact on Cloud: This pay-as-you-go model makes cloud
services cost-effective and scalable, catering to a wide user
base.
• Example: Google Cloud Storage allows users to pay based on
their storage usage.
•
5. Discuss Cloud Characteristics & On-Demand Provisioning
Cloud Characteristics:
1. On-Demand Self-Service: Users can provision resources like
computing power, storage, and network as needed, without
human intervention.
2. Broad Network Access: Cloud resources can be accessed via
the internet from a variety of devices (laptops, smartphones,
etc.).
3. Resource Pooling: Resources are pooled to serve multiple
customers using multi-tenant models, with different physical
and virtual resources dynamically assigned as needed.
4. Rapid Elasticity: The ability to scale resources dynamically as
per demand (elasticity).
5. Measured Service: Cloud systems automatically control and
optimize resources by leveraging metering capabilities, often
charging customers based on their usage.
On-Demand Provisioning:
On-demand provisioning is the process where users can
instantly access cloud resources as they need them without
waiting for setup. This is achieved by automated cloud systems
that allocate resources as soon as they are requested.
On-demand provisioning is a flexible resource management
strategy that allows organizations to quickly and efficiently
allocate resources based on immediate needs.
This approach can reduce costs, improve efficiency, and
enhance agility.
Key Points:
• Scalability & Flexibility: Resources adjust to demand, ensuring
efficiency.
• Cost Savings: Reduces capital expenditures by optimizing
resources.
• Use Cases: Common in cloud computing, data centers, software
development, and business applications.
• Challenges: Includes cost management, performance
optimization, and maintaining security compliance.
• Example: A startup can deploy new virtual machines in the
cloud within minutes during high-demand periods and shut
them down once traffic decreases.
•
•
On-Demand Provisioning: Resources are allocated as
needed, offering scalability and cost-efficiency.
Automated Provisioning: Pre-set rules automatically allocate
resources, responding to demand without manual input.
User Self-Provisioning: Users can provision resources
themselves through a cloud portal.
Dynamic Provisioning: Real-time adjustments to resources
based on workload, optimizing efficiency.