ICC Notes for Mid-Terms - L2-L7 - Cloud Computing PDF
Document Details
Uploaded by CarefreeLoyalty
Tags
Summary
These are lecture notes on cloud computing for a mid-term, covering different aspects such as cloud computing definitions and characteristics, various deployment and service models, examples of public cloud resources like Google Drive, and Microsoft 365. The document also outlines factors impacting cloud adoption and some considerations for cloud services like security, and reliability.
Full Transcript
**[Lecture 2 -- Introduction to the Cloud]** - Definition of Cloud Computing: - Cloud computing involves **delivering computing resources (like servers, storage, applications) over the Internet** on a **pay-per-use basis**. - The NIST definition includes **on-d...
**[Lecture 2 -- Introduction to the Cloud]** - Definition of Cloud Computing: - Cloud computing involves **delivering computing resources (like servers, storage, applications) over the Internet** on a **pay-per-use basis**. - The NIST definition includes **on-demand network access** to **shared, configurable resources.** - Five Essential Cloud Characteristics: - On-demand Self-service: Resources can be **accessed** **automatically**. - Broad Network Access: **Services** are accessible via **various devices.** - Resource Pooling: Resources are pooled to serve **multiple users.** - Rapid Elasticity: Resources can **scale up or down** as needed. - Measured Service: Usage is tracked for **billing purposes.** - Cloud Deployment Models: - Public Cloud: Open to **general use**, managed by an **external provider.** - Private Cloud: Exclusive to **one organization.** - Community Cloud: Shared by organizations with **common concerns.** - Hybrid Cloud: Combination of **multiple deployment models.** - Service Models: - SaaS: Software applications are provided **over the Internet.** - PaaS: **Platform** for development **without managing infrastructure.** - IaaS: Basic infrastructure components are provided **on demand.** - Drivers for Cloud Computing: - System Drivers: Agility, scalability, and reliability. - Business Drivers: Cost savings and flexibility. - Technology Drivers: Virtualization and increased bandwidth. - Factors Inhibiting Cloud Adoption: - **Ambiguity** around cloud capabilities. - **Security**, **integration**, and **compliance** concerns. Notes from lecture - Any clouds- no downtime - Cloud Computing- accessing software via internet - Deployment model - Private & public- common - Private + public= hybrid - Community cloud & hybrid- rare - An example of a public cloud application is **Google Drive**. It allows users to store, manage, and share files online using Google\'s cloud infrastructure. The service is hosted on Google\'s public cloud, meaning the underlying infrastructure and services are managed by Google, and users access the application over the internet without needing to manage the servers or other backend resources. - Other examples of public cloud application include: - **Microsoft 365** (formerly Office 365) for cloud-based productivity tools. - **Dropbox** for cloud storage and file sharing. - **Salesforce** for customer relationship management (CRM) software. - On demand self-service - Whichever deployment model u used, when u request, service must be delivered to you immediately - Resource pooling - One storage- multiple users - Rapid elasticity - Automated responses - Measured services - Eg. AWS\< want to use certain application from their system, can only use it for a certain period of time; want \> hrs, need to pay \> - Public: Cloud Deployment models - 3rd party - As long as u trust them, can use it - Private - Expensive - Need to buy server, build server room, need administrator to maintain server room (pay, train) - Start-ups- usually public cloud - Community: - Semi-public - Gov (own private cloud) + Taylor's University (own priv cloud)= community project/ development - Gov + uni will allocate some storage to link each other's cloud - Hybrid: - Large num of data- non sensitive \[public cloud\] - Small num of data- sensitive \[private cloud\] - Service model overview \[applicable to all deployment models\] - SaaS \[pre-existing software\] - Eg. gmail, outlook, yahoo - Eg. Order food, give food, pay - PaaS \[provide development tools, u build software\] - Eg. steamboat, cook own food, eat & pay - IaaS \[give you storage & network, let you do whatever you want to do w/o giving anything\] - Eg. design own kitchen, buy tools and cook Reliability- users able to access to services in multiple locations Security and Compliance: public cloud- set by the cloud itself, must fllw Skip: Drivers for Cloud Providers **[Lecture 3: Data Center Topologies]** - Components of a Data Center: - Includes **servers, storage, network devices, power distribution systems, and cooling systems.** - Data Center Network Topologies: - Access Layer: Connects servers to network through **Top of Rack (ToR)** switches. - Aggregation Layer: Consolidates connections from the access layer. - Core Layer: Connects the data center to external networks. - Cabling: - Structured Cabling: **Organized cabling** with tags improves airflow and management. - Unstructured Cabling: **Disorganized cabling,** making maintenance harder. - Cooling and Modular Data Centers: - Modular Data Centers: **In-built cooling** for easy deployment. - Containerized Data Centers: **Portable**, connectable to **power and water,** ideal for d**isaster recovery.** - Data Center Network Requirements (5 S\'s): - **Scalability, Security, Sharing, Standardization, Simplification**. - Workload Mobility: Supports VM flexibility across the network. - East-West Traffic: Heavy **server-to-server traffic** within data centers. **[Lecture 4 & 5: Cloud Deployment Models]** - Public Cloud: - Benefits: High scalability, availability, cost-effectiveness. - Drawbacks: Limited integration, flexibility, and security control. - Private Cloud: - Benefits: Full control over infrastructure, security, and customization. - Drawbacks: High upfront and maintenance costs, needs skilled staff. - Community Cloud: - Benefits: Cost-sharing among organizations with shared needs. - Drawbacks: Potential conflicts in management, security, and compliance. - Hybrid Cloud: - Benefits**:** Combines advantages of other models, with flexibility and fault tolerance. - Drawbacks: Complex to implement, integrate, and secure. **[Lecture 6: Laying the Groundwork for Cloud Computing]** - Authentication & Authorization: - Authentication: Verifying **user identity** (username, password). - Authorization: Specifies **user access rights** within the system. - Identity Providers (IdP): - Manages user credentials for authentication. - Types include **OpenID, Google, Facebook (OAuth)**. - Computing Concepts: - Utility Computing: **Pay-as-you-go** model for computing resources. - Commodity Servers: General servers used to support **scalability.** - Autonomic Computing: **Self-managing** systems, minimal human intervention. - Hardware Virtualization: - Allows **multiple virtual systems** on a **single machine.** - Hypervisors: Software enabling virtualization, categorized as **Type-1** (bare-metal) and **Type-2** (hosted). - Web Development Technologies: - HTML5, Java, JavaScript: Widely used for **web applications** in **cloud environments.** - SOAP and JSON: **Protocols** for **exchanging** and **structuring data.** **[L7- Cloud Service Models ]** - Introduction to Cloud Service Models: - Cloud computing provides resources like **computing, network, storage, databases, and applications on-demand** **without** requiring **ownership** or **maintenance** by end users. - These services are **managed by the provider,** reducing management efforts for users. - Basic Cloud Service Models - Software as a Service (SaaS) - Platform as a Service (PaaS) - Infrastructure as a Service (IaaS) - Software as a Service (SaaS) - Definition - SaaS **delivers software** over the **Internet** as an **on-demand service,** **eliminating** the need for **installation** on **user devices.** - Accessible via **lightweight web browsers** or **thin clients** on **various devices** like laptops, tablets, and smartphones. - Services Provided by SaaS: - Business Services: ERP, CRM, billing, sales, and HR tools, popular with startups. - Social Networks: Leveraging cloud for handling **variable user loads.** - Document Management: For **creating, managing, and tracking** digital documents. - Mail Services: **Scalable** for **unpredictable** future growth. - Characteristics of SaaS: - One-to-Many: A **single instance** shared by **multiple tenants.** - Web Access: **Accessible** from **any location** with **Internet**. - Centralized Management: Providers **handle** **updates** and **management**, ensuring users access the **latest version.** - Scalability and High Availability: **Leveraging cloud resource**s for efficiency and uptime (99.99% availability). - Suitability of SaaS: - Ideal for **on-demand software, startups, applications with varying loads**, and **multi-device compatibility.** - Limitations of SaaS: - Not ideal for Real-time Applications: **Dependent** on **Internet speed.** - Data Security Risks: Data stored with third-party providers may **lack full control and confidentiality.** - Pros and Cons of SaaS: - Pros: Cost savings, no client-side installation, low maintenance, disaster recovery, multitenancy. - Cons: Security concerns, connectivity requirements, and limited control over data. - Platform as a Service (PaaS) - PaaS provides an environment for **developers** to **build, test, and deploy applications onlin**e, with **tools available** from the provider's data center. - Services Provided by PaaS: - Programming Languages: Java, Python, Ruby, PHP, and more. - Application Frameworks: Node.js, Rails, WordPress. - Databases: ClearDB, PostgreSQL, MongoDB. - Other Tools: Development, testing, and deployment support. - Characteristics of PaaS: - All-in-One: Development, testing, deployment, and hosting **all in one platform.** - Offline Access: **Synchronization** capabilities for offline work. - Built-in Scalability: Applications can handle **varying loads** efficiently. - Collaborative Development: Supports **teamwork** across **locations**. - Suitability of PaaS: - Ideal for **collaborative projects, automated testing, agile development, and applications requiring fast time-to-market.** - Limitations of PaaS: - Vendor Lock-in: **Difficulty migrating applications** between providers. - Limited Customization: **Limited control** over the infrastructure and platform configuration. - Pros and Cons of PaaS: - Pros: Simplifies infrastructure management, speeds up development, supports agile development, provides scalability. - Cons: Vendor lock-in, less flexibility in defining the application stack, Internet dependency. - Infrastructure as a Service (IaaS) - Definition: - IaaS provides **virtualized computing, storage, and networking resources,** using virtualization to offer these as **virtual machines (VMs)** for users. - Services Provided by IaaS: - Compute: Virtual CPUs and memory. - Storage: Backend storage for VMs and files. - Networking: Virtual routers, switches, and load balancers. - Characteristics of IaaS: - Web Access: Accessible via **web browsers.** - Centralized Management: Resources managed from a **single console**. - Elasticity and Dynamic Scaling: Scalable resources based on **demand.** - Shared Infrastructure: Resources shared among users, with **preconfigured VMs for quick setup.** - Suitability of IaaS: - Best for **unpredictable usage spikes**, **startups** with **limited capital**, and **temporary infrastructure needs.** - Limitations of IaaS: - Not ideal for Regulatory Compliance: **Sensitive data** might require **on-premise storage.** - Performance and Control: **Limited control** over **physical infrastructure** and possible **latency issues**. - Pros and Cons of IaaS: - Pros: **Pay-as-you-go** model, **elastic** resources, better **resource utilization,** supports **Green IT.** - Cons: **Security** concerns, **interoperability** issues, potential **performance limitation**s due to network latency. - Summary - Service Models - SaaS: Software accessible online without installation. - PaaS: Development environment with tools for application building and deployment. - IaaS: Provides infrastructure resources as virtualized services. - General Advantages: Cost savings, scalability, centralized management. - General Drawbacks: Security, interoperability, and performance issues.