Lecture 7 - Cloud
Introduction to Cloud Computing
Binary Data representations: 10110110101010101000101, 01001011, 1011011011010
Core Focus: Understanding the essential aspects of cloud computing.
Learning Outcomes
Define cloud computing and its essential aspects.
Identify different types of cloud computing service models.
Discuss market-driven architecture in cloud computing.
Key References for Reading
Buyya et al. (2008) - Title: Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities. - Note: Presenting a keynote address at HPCC2008. - Link: Arxiv Paper
Mell, P., Grance, T. (2011) - Title: The NIST Definition of Cloud Computing. - Note: Special Publication 800-145 by NIST. - Publication Location: Gaithersburg, MD, USA. - Link: NIST Publication
Optional Readings
Kiss et al. (2019) - Title: A Cloud-Agnostic Queuing System to Support the Implementation of Deadline-Based Application Execution Policies. - Journal: Future Generation Computer Systems, Volume 101, Pages 99-111.
Taylor et al. (2019) - Title: Enabling Cloud-Based Computational Fluid Dynamics with a Platform-as-a-Service Solution. - Journal: IEEE Transactions on Industrial Informatics, Volume 15, Issue 1, Pages 85-94.
Taylor et al. (2018) - Title: The CloudSME Simulation Platform and its Applications: A Generic Multi-Cloud Platform for Developing and Executing Commercial Cloud-Based Simulations. - Journal: Future Generation Computer Systems, Volume 88, Pages 524-539.
Company Overview: Mention of CloudSME, the world’s first multi-cloud PaaS, utilized by over 50 SMEs.
Encouragement to attend a subsequent talk by Dr. Anagnostou.
Defining Cloud Computing
Cloud Computing is primarily described by two definitions: Buyya et al. (2008) define a cloud as comprising interconnected and virtualised computers, dynamically provisioned and presented as unified computing resources based on service-level agreements established between providers and consumers.
- NIST Definition: - A model enabling convenient, on-demand network access to a pooled set of configurable computing resources (networks, servers, storage, applications, and services). These can be provisioned and released rapidly with minimal management or provider interaction.
Essential Characteristics of Cloud Computing
On-demand Self-Service: Users can autonomously provision resources as needed without needing human intervention.
Broad Network Access: Resources can be accessed over the network through standard mechanisms, ensuring use across various platforms (e.g., mobile phones, tablets, laptops).
Resource Pooling: The provider's computing resources are pooled to serve multiple consumers, with resources dynamically assigned and reassigned based on demand.
Rapid Elasticity (Scalability): Resources can be elastically provisioned and released to scale rapidly outward and inward commensurate with demand.
Measured Service (Management): Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer.
Cloud Technologies and Service Models
Service-Based Cloud Technologies: - Software as a Service (SaaS): Access to software applications over the internet. - Platform as a Service (PaaS): Platforms available for developing, running, and managing applications without the complexity of building and maintaining infrastructure. - Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet.
Deployment Models: - Public Cloud, Private Cloud, Community Cloud, Hybrid Cloud.
Resource Types: Various configurations like single/multi CPUs, GPUs, High-Performance Computing (HPC), and storage.
Operating Systems: Different OSs, including OpenStack, OpenNebula, Proprietary systems.
Major Providers: Notable companies include Amazon Web Services, Microsoft Azure, and emerging European market providers.
Deep Dive into Service Models
Infrastructure as a Service (IaaS)
Definition: Provision of virtualised physical computing resources.
Examples of Providers: Amazon Web Services, Microsoft Azure.
Key Considerations: - Access speed - Reliability - Cost-effectiveness - Transferability of resources - Vendor lock-in constraints.
Platform as a Service (PaaS)
Definition: Cloud platforms that allow users to build, deploy, and manage applications.
Providers: Google App Engine, Amazon EC2.
Benefits: Reduces the need for physical resources and costly infrastructure.
Considerations: - Speed of service delivery - Terms of Service Level Agreements (SLAs) - Data protection requirements based on geographic regions.
Software as a Service (SaaS)
Definition: Delivers software applications over the internet.
Examples: Flickr, iCloud.
Important Aspects: - API support for integration. - Challenges with vendor lock-in. - Need for careful architectural planning, combining principles from Service-Oriented Architecture (SOA), Grid Computing, etc.
Market-Driven Cloud Architecture (Buyya et al., 2008)
Key Entities in Cloud Architecture: - Users/Brokers: Submit service requests to cloud services from various locations. - SLA Resource Allocator: Interfaces between users and service providers, ensuring resource allocation without overloading. - Functions include: - Monitoring resource availability (using VM Monitor). - Assessing workload demands (using Service Request Monitor). - Resource Management Components: - Pricing Mechanism: Determines how requests will be charged. - Accounting Mechanism: Tracks resource usage for billing. - VM Management: Handles the dynamic start/stop of VMs, ensuring isolation and concurrent operations.
Physical and Virtual Machines
Physical Machines: Data centers housing multiple computing servers that meet service demands.
Virtual Machines: Can be dynamically created, operated independently with different OS environments but remain isolated on the same physical hardware.
Summary & Key Issues
Considerations on Cloud Computing: - Safety and security concerns. - Reliability of services. - Speed and access efficiency. - Overall cost implications. - Potential vendor lock-in issues. - Reference to Buyya’s comparative analysis of commercial products.
Example Exam Question
Question: Discuss how a cloud computing provider could employ market-oriented resource management to offer various quality of services supporting a range of customer Service Level Agreements. What cloud architecture could be implemented to achieve this? Include considerations on essential cloud characteristics, different service models, quality of service concerns, and the structure and function of cloud elements.
Suggested Approach to Answering the Exam Question
Reference the following key texts: - Buyya, R., Chee, S.-Y., Srikumar, V. (2008) – Focus on market-oriented cloud computing. - Mell, P., Grance, T. (2011) – Emphasize NIST's definition of cloud computing.
Structure responses in an essay form (2-3 pages) with diagrams, if applicable, as appendices; avoid bullet-point fashion which may lead to incomplete answers.