Unit 01 - Introduction to Cloud Computing and Cloud Service Models.pdf
Document Details
Uploaded by EntrancedDobro6607
Tags
Full Transcript
SE 4455 Cloud Computing Unit 1: Introduction to Cloud Computing and Cloud Service Models Fadi AlMahamid, Ph.D. Contents 01 Overview of Cloud Computing 02 Types of Cloud Services (IaaS, PaaS, SaaS) 03 Cloud Deployment Models 04 Benefits and Challenges 01 Overview of Cloud Computing Overview of Cloud...
SE 4455 Cloud Computing Unit 1: Introduction to Cloud Computing and Cloud Service Models Fadi AlMahamid, Ph.D. Contents 01 Overview of Cloud Computing 02 Types of Cloud Services (IaaS, PaaS, SaaS) 03 Cloud Deployment Models 04 Benefits and Challenges 01 Overview of Cloud Computing Overview of Cloud Computing Definition: Cloud computing is the delivery of different services through the Internet, including data storage, servers, databases, networking, and software. Cloud Computing main components: Hardware Software Cloud Computing Components Hardware: Servers: Physical or Virtual servers provide essential computing power Storage: Storage solutions for handling large volumes of data Networking Equipment: Routers, switches, and other devices connecting the cloud resources to the internet. Data Centers: Facilities that hosts servers, storage systems, and associated components. Cloud Computing Components Software: Virtualization Software: Creates virtual versions of computers, operating systems, and storage devices. Cloud Management and Monitoring Tools: Software for managing cloud resources, monitoring performance, and ensuring security. Operating Systems: The software layer on servers that enables the functioning of other software. Application Software: Cloud-based applications and services offered to users (like SaaS products). Cloud Data Centers Google Cloud Data Center in Belgium using Solar Energy Cloud Data Centers Google Cloud Data Center in Iowa 115,000 feet2 Cloud Data Centers Computing Units Server Rack GCP Cloud Computing Regions and Zones Azure AWS Cloud Regions and Zones Cloud Regions: A cloud region is a specific geographical location where a cloud provider maintains a cluster of data centers. Cloud Zones: Within each cloud region, there can be multiple cloud zones (also known as availability zones). A zone is essentially a data center or a cluster of data centers within a region. Cloud Regions and Zones - Key Differences Geographical Scope: Regions are large areas (like a part of a country or an entire country), while zones are smaller areas within a region. Isolation vs. Redundancy: Regions offer geographical isolation (different laws, latency benefits), whereas zones within a region provide redundancy and failover capabilities. Selection in Cloud Services: Customers often choose a region based on location or compliance needs, and they might use multiple zones within that region for high availability and backup. Cloud Computing Characteristics Cloud computing is characterized by several distinct features that define its functionality and appeal: 1. 2. 3. 4. 5. On-Demand Self-Service Broad Network Access Resource Pooling Rapid Elasticity Measured Service On-Demand Self-Service: Users can provision computing resources like server time and network storage as needed, automatically, without requiring human interaction with the service provider. Broad Network Access Cloud services are available over the network and can be accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs). Resource Pooling The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Rapid Elasticity Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time. Measured Service Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service. 02 Types of Cloud Services (IaaS, SaaS, PaaS) Types of Cloud Services Three main service models each offering different levels of control, flexibility, and management: Software as a Service (SaaS) Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Definition: IaaS provides virtualized computing resources over the internet such as, virtual machines, storage, and networks in a cloudbased environment. Users/Subscribers can rent on a pay-per-use basis these resources. The cloud provider hosts and manages the infrastructure components traditionally present in an on-premises data center. The subscriber is responsible for managing aspects like operating systems, applications, and middleware. Examples: Microsoft Azure Virtual Machines Google Compute Engine (GCE) Amazon Elastic Compute Cloud (EC2) IaaS Key Features Resource Scalability: Offers scalable computing resources like virtual machines, storage, and networks. Self-Service and Flexibility: Users have control over their infrastructure, with the flexibility to configure and manage it as needed. Cost-Effective: Pay-as-you-go pricing model, reducing the need for physical hardware investments. Network Access: Provides virtualized computing resources over the Internet. Offers a range of storage solutions and backup services. Storage and Backup: Software as a Service (SaaS) Definition: SaaS delivers software applications over the internet, on a subscription basis. It allows users to access and use cloud-based apps without worrying about the maintenance, infrastructure, or management of the underlying hardware and software. SaaS applications are accessible through web browsers, making them platform-independent. The cloud provider manages the infrastructure, middleware, app software, and app data. Examples: SaaS Key Features Accessibility: Accessible from anywhere via the Internet, typically through a web browser. Subscription-Based: Usually offered on a subscription basis, with no upfront costs. Users don’t need to manage, install, or upgrade software; the SaaS provider manages everything. No Maintenance Required: Multi-Tenancy: A single application instance serves multiple customers or users. Often includes APIs for integration with other business systems and applications. Integration and APIs: Platform as a Service (PaaS) Definition: PaaS provides a framework accessible over the internet for developers, which they can build upon and use to create customized applications. PaaS includes infrastructure (servers, storage, and networking), but also middleware, development tools, business intelligence services, database management systems, and more. It is designed to simplify the process of coding, testing, deploying, and managing applications. Examples: Heroku Google App Engine Microsoft Azure App Services PaaS Key Features Development Framework: Provides a platform with tools to develop, test, deploy, and manage applications. Built-in Services: Offers built-in services such as databases, messaging, workflow, and development tools. Multi-Language Support: Typically supports multiple programming languages and frameworks. Automatically scales the resources as per the application's needs. Facilitates collaborative work even in geographically dispersed development teams. Automated Scaling: Collaboration-Friendly: 03 Cloud Deployment Models Cloud Deployment Models A cloud deployment model defines how cloud computing services are made available and accessed. It outlines the architecture, operation, and scope of cloud resources, determining the level of control, management, accessibility, and size of the cloud environment. The deployment model defines: Who manages the cloud Who can access the cloud How the cloud is operated Where the cloud is located Public Cloud Private Cloud Hybrid Cloud Community Cloud There are four main types of Cloud Deployment Models: Key Aspects of Cloud Deployment Models Ownership and Management: Who owns the physical infrastructure and who is responsible for managing and maintaining the cloud services. Accessibility: Who can access the cloud services, whether they are available publicly or restricted to specific users or organizations. Location: Where the cloud infrastructure is physically located, which can be on-site (on-premises) or off-site. Scale and Cost: The scalability of the cloud services and the cost model, which can vary depending on the deployment model. Security and Compliance: The level of security and the ability to meet specific compliance requirements, which can be influenced by the deployment model. Public Cloud Definition: A cloud computing model where cloud services, such as storage and applications, are offered over the internet by a third-party provider to the public. These services are available to anyone who wants to use or purchase them. Use Cases: Web-based Email Services Cloud storage and file sharing Application development and testing E-commerce websites and online retaling Google Cloud Platform (GCP) Amazon Web Services (AWS) Microsoft Azure Major providers: Private Cloud Definition: A cloud computing environment exclusively dedicated to one organization. Unlike public clouds, which serve multiple organizations, a private cloud serves only one, providing a higher level of control and privacy. Use Cases Financial Institutions Healthcare Organizations Government Agencies Hybrid Cloud Definition: This model combines public and private cloud infrastructures, allowing data and applications to be shared between them. It enables organizations to leverage the advantages of both public and private clouds based on their specific computing needs. Uses Cases: An organization can store critical data on its private cloud but use the public cloud as a backup and disaster recovery site. A software development company develops and tests new applications in the public cloud to take advantage of its scalability and cost-effectiveness. Once the applications are ready for production, they are deployed on the private cloud for enhanced security and control. Community Cloud Definition: A cloud infrastructure that is shared among several organizations from a specific community with common concerns (such as security requirements, regulatory considerations, or mission objectives). It can be managed internally by one or more organizations in the community, by a third party, or a combination of both. Use Cases: Government Agencies: Multiple agencies can share infrastructure for projects that require similar security, privacy, and compliance standards. Educational Institutions: Universities and research organizations sharing computational resources and educational tools. Cloud Deployment Models Comparison Feature Public Cloud Private Cloud Hybrid Cloud Community Cloud Ownership Owned and operated by third-party providers Owned and operated by a single organization Combination of public and private cloud resources Shared among organizations with common interests Accessibility Available to the public Restricted to the specific organization Mix of public and private accessibility Restricted to specific community members Location Off-site, hosted by the provider Can be on-site (onpremises) or hosted externally Mix of on-site and off-site resources Can be on-site or off-site Cost Pay-per-use model, generally more costeffective Higher initial cost for setup and maintenance Varies, can be cost-efficient based on usage Cost distributed among members, can be efficient Control Limited control High control Balance of control Shared among participating organizations Security high-standard security by provider security managed internally Balanced Security Tailored security based on community requirements Scalability Highly scalable with vast resources Scalability depends on internal capacities Scalable, with flexibility depending on setup Scalability based on the community arrangement 04 Benefits and Challenges Cloud Computing Benefits Cost Efficiency: Reduces the cost of hardware and software. Accessibility and Flexibility: Accessible anywhere, any time Business Continuity: Secure data storage and backup solutions. Disaster Recovery: Enhanced capabilities for disaster recovery and data backup, often without the need for significant on-premises infrastructure. Collaboration Efficiency: Cloud computing facilitates better collaboration by allowing dispersed teams to meet virtually and access the same data and applications simultaneously. Cloud Computing Benefits (Cont.) Automatic Updates: The cloud providers handle software and security updates, which reduces the workload on in-house IT teams and ensures that businesses are always using the latest technology. Environmentally Friendly: More energy-efficient and less carbon-intensive than traditional on-premises data centers, contributing to corporate sustainability goals. Pay-Per-Use Model: Businesses pay only for the resources they use, which can lead to cost savings, especially for companies with fluctuating workloads. Increased Competitiveness: Smaller businesses gain access to sophisticated technology without large upfront investments, leveling the playing field with larger competitors. Enhanced Security: Many cloud providers offer advanced security features that protect against threats more effectively than typical in-house solutions. Cloud Computing Challenges Security and Privacy: Risks of data breaches and loss. Compliance and Legal Issues: Navigating various regulations. Technical Issues: Potential for downtime, bandwidth limitations. Vendor Lock-in: Dependency on a specific cloud provider. Data Mobility and Portability: Challenges associated with moving data or applications from one cloud provider to another, including data transfer costs and technical compatibility issues. Performance and Latency: Depending on the geographical location of the cloud provider's data centers and the end-user, there can be performance issues or latency in data transmission. Cloud Computing Challenges (Cont.) Management Complexity: As cloud environments become more complex, especially in hybrid or multi-cloud scenarios, managing these environments can become more challenging. Limited Customization and Flexibility: Depending on the cloud provider and service model, there may be limitations in how much the services can be customized to fit specific needs. Resource Management: Effective management of cloud resources to avoid underutilization or over-provisioning, which can lead to unnecessary costs. Cultural and Organizational Change: Adapting to a cloud-centric model may require significant changes in organizational culture and processes, which can be challenging. Long-Term Costs: While cloud computing can be cost-effective initially, long-term costs can accumulate, especially with higher levels of service and data usage. Thank You © Fadi AlMahamid, Ph.D. I would like to acknowledge and give credit to Dr. Shaimaa Ali for her valuable contribution, as I have incorporated some of her insightful slides into my presentation.