Cloud Computing Detailed Notes

Week 11: Introduction to Cloud Computing

Cloud Computing Overview

  • Cloud Computing Definition
  • Characteristics
  • Cloud Service Models
  • Deployment Models
  • Big Data and the Cloud
  • The fundamental difference between Big Data and Cloud Computing is that:
    • Big data is about managing massive data scales.
    • Cloud Computing focuses on providing IT infrastructure services to manage data.

What is Cloud Computing?

  • Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
  • This cloud model is composed of five essential characteristics, three service models, and four deployment models. (NIST Definition)
  • Cloud computing is the delivery of computing services over the internet.
  • It provides on-demand access to resources like storage, processing power, and applications.
  • Cloud computing offers flexibility, scalability, and cost efficiency compared to traditional computing.

Enabling Technology: Virtualization

  • Traditional Stack:
    • Hardware
    • Operating System (OS)
    • Application (App)
  • Virtualized Stack:
    • Hardware
    • Hypervisor
    • OS
    • App
  • A hypervisor is a software layer or firmware that enables virtualization.
    • It creates and manages virtual machines (VMs) on a physical host machine.
  • A virtualized stack allows multiple devices to be managed through a single control plane, simplifying configurations and updates.
    • Instead of configuring each device separately, configurations can be applied as if managing a single device.

Characteristics of Cloud Computing

  1. On-Demand Self-Service
    • Users can access resources whenever they need them, without requiring human intervention.
    • Example: A business can quickly scale up its server capacity during high-traffic periods.
  2. Broad Network Access
    • Resources are accessible over the internet from any device, such as laptops, smartphones, and tablets.
    • Example: Employees can access company applications from home, improving flexibility and productivity.
  3. Resource Pooling
    • Providers pool their resources to serve multiple customers, sharing processing power, storage, and memory.
    • Example: A cloud provider can dynamically allocate resources to users as needed, optimizing efficiency.
  4. Rapid Elasticity
    • Cloud services can be quickly scaled up or down based on demand.
    • Example: E-commerce platforms can handle traffic surges during sales events without system crashes.
  5. Measured Service
    • Cloud systems automatically control and optimize resource use by metering services.
    • Example: Users are billed based on their usage, similar to how utility companies charge for electricity.
  6. Security
    • Cloud providers implement advanced security measures to protect data and applications.
    • Example: Encryption, firewalls, and access controls are commonly used to secure cloud environments.

Cloud Service Models

  • IaaS (Infrastructure as a Service)
    • On-demand access to cloud-hosted physical and virtual servers, storage, and networking.
    • It's the backend IT infrastructure for running applications and workloads in the cloud.
    • Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud.
  • PaaS (Platform as a Service)
    • On-demand access to a complete, ready-to-use, cloud-hosted platform for developing, running, maintaining, and managing applications.
    • Examples: Google App Engine, Microsoft Azure App Service.
  • SaaS (Software as a Service)
    • On-demand access to ready-to-use, cloud-hosted application software.
    • Examples: Zoom, Dropbox, Netflix.

Cloud Service Models - Comparison

  • On-site: You manage Applications, Data, Runtime, Middleware, O/S, Virtualization, Servers, Storage, and Networking.
  • IaaS: Service provider manages Virtualization, Servers, Storage, and Networking. You manage Applications, Data, Runtime, Middleware, and O/S.
  • PaaS: Service provider manages Runtime, Middleware, O/S, Virtualization, Servers, Storage, and Networking. You manage Applications, and Data.
  • SaaS: Service provider manages Data, Runtime, Middleware, O/S, Virtualization, Servers, Storage, and Networking. You manage Applications.

Cloud Service Models Explained

  1. Infrastructure as a Service (IaaS)
    • Provides virtualized computing resources over the internet.
    • Example: AWS EC2 allows users to rent virtual servers and storage.
  2. Platform as a Service (PaaS)
    • Provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure.
    • Example: Google App Engine offers a managed environment for building and deploying applications.
  3. Software as a Service (SaaS)
    • Delivers software applications over the internet on a subscription basis.
    • Example: Microsoft 365 provides cloud-based office applications like Word and Excel.

Cloud Service Delivery Models - Examples

  • Software as a Service (SaaS): Google Apps, Office 365, Exchange Online, Facebook, YouTube.
  • Platform as a Service (PaaS): Google App Engine, Windows Azure, AWS Elastic Beanstalk.
  • Infrastructure as a Service (IaaS): Windows Azure, Google Compute Engine, Amazon EC2.

Real-World Applications of IaaS, PaaS, and SaaS

  • Understanding the practical applications of IaaS, PaaS, and SaaS in business.
  • Each student will explore how these services can support their business operations.

Infrastructure as a Service (IaaS)

  • Provides foundational infrastructure like virtual machines, storage, and networking.
  • Students manage applications, data, and OS while the provider manages the infrastructure.
  • IaaS Example 1: E-commerce Startup
    • Use Case: Hosting a custom-built e-commerce application.
    • Service: Amazon Web Services (AWS) EC2
    • Benefits: Scalable server resources; control over OS, runtime, and applications.
  • IaaS Example 2: Research Project in Biology
    • Use Case: Running large-scale biological simulations.
    • Service: Google Compute Engine
    • Benefits: Access to powerful processing without investing in hardware.

Platform as a Service (PaaS)

  • Provides a platform for developing, running, and managing applications.
  • Students focus on app creation while the provider handles infrastructure and runtime.
  • PaaS Example 1: App Development Business
    • Use Case: Developing and deploying a mobile app.
    • Service: Microsoft Azure App Service
    • Benefits: Focus on coding and app deployment; platform manages the backend.
  • PaaS Example 2: Data Analytics Startup
    • Use Case: Building custom data analysis tools.
    • Service: Google Cloud Platform (GCP) with Google App Engine
    • Benefits: Build and analyze data without managing servers.

Software as a Service (SaaS)

  • Provides ready-to-use software applications over the internet.
  • Students do not manage any infrastructure; focus is on business operations.
  • SaaS Example 1: Digital Marketing Agency
    • Use Case: Managing email marketing and customer relationships.
    • Service: Salesforce, Mailchimp
    • Benefits: Quickly deploy campaigns; manage customer data easily.
  • SaaS Example 2: Online Education Platform
    • Use Case: Hosting and delivering online courses.
    • Service: Google Workspace, Zoom
    • Benefits: Manage course materials and conduct live classes with ease.

Summary of Cloud Services

  • IaaS: Full control over the environment; ideal for custom infrastructure needs.
  • PaaS: Best for developers focusing on app creation; managed backend.
  • SaaS: Ready-to-use tools; focus on business processes without managing infrastructure.

Types of Cloud Computing Models

  1. Public Cloud
    • Services are provided over the public internet and available to anyone who wants to purchase them.
    • Example: Amazon Web Services (AWS) is a popular public cloud provider.
  2. Private Cloud
    • Dedicated to a single organization, providing more control over data and security.
    • Example: A financial institution may use a private cloud to manage sensitive customer data.
  3. Hybrid Cloud
    • Combines public and private clouds, allowing data and applications to be shared between them.
    • Example: A business might use a public cloud for non-sensitive tasks while keeping sensitive operations on a private cloud.

Main Cloud Providers

  • The Big 3 Public Cloud Providers Continue to Dominate, Led by AWS
  • AWS is the undisputed market leader; clients include AirBnB and Netflix.
  • According to Synergy Research Group, the cloud market is growing at a rate of 34% per year.
  • The Big 3 (AWS, Microsoft, Google) account for 65% of total revenues.
  • Breakdown of Market Share (Q1 2022):
    • AWS: 33%
    • Microsoft Azure: 22%
    • Google Cloud: 10%
    • Next 10 Companies: 21%
    • Other: 14%

Major Cloud Service Providers

  1. Amazon Web Services (AWS)
    • The leading cloud platform, offering a wide range of services from storage to machine learning.
  2. Microsoft Azure
    • A popular choice for enterprises, integrating well with Microsoft products.
  3. Google Cloud
    • Known for its data analytics and machine learning capabilities.

AWS - The Big Spenders

  • AWS is the cloud computing platform of choice for businesses across a range of industries.
  • Top ten AWS users based on EC2 monthly spend:
    • Netflix: 19million19 {million}
    • Twitch: 15million15 {million}
    • LinkedIn: 13million13 {million}
    • Facebook: 11million11 {million}
    • Turner Broadcasting: 10million10 {million}
    • BBC: 9million9 {million}
    • Baidu: 9million9 {million}
    • ESPN: 8million8 {million}
    • Adobe: 8million8 {million}
    • Twitter: 7million7 {million}

AWS - Regions and Availability Zones

  • AWS Cloud spans 84 Availability Zones within 26 geographic regions around the world, with plans for 24 more Availability Zones and 8 more AWS Regions in 8 countries.

Applications and Impact of Cloud Computing

  1. Business Continuity
    • Cloud computing ensures that data is backed up and protected in a secure and safe location.
    • Example: During a natural disaster, businesses can continue operations using cloud-stored data.
  2. Collaboration
    • Cloud allows multiple users to collaborate on projects in real-time, from different locations.
    • Example: Teams can work together on documents, spreadsheets, and presentations using tools like Google Workspace.
  3. Cost Efficiency
    • Businesses save money by reducing the need for physical hardware and IT staff.
    • Example: Startups can launch quickly without large upfront costs by using cloud resources.
  4. Flexibility and Scalability
    • Companies can easily scale resources up or down based on their needs.
    • Example: An e-commerce site can handle seasonal spikes in traffic by scaling up server capacity.

Cloud Computing in Different Fields

  1. Psychology
    • Cloud computing enables researchers to store and analyze large datasets, facilitating advanced studies.
    • Example: Analyzing behavioral data collected from apps to study human psychology trends.
  2. Business
    • Businesses use cloud services for customer relationship management, inventory management, and financial analysis.
    • Example: Companies like Salesforce use cloud-based solutions to manage customer interactions.
  3. Biology
    • Biologists use cloud computing for genome sequencing and large-scale biological simulations.
    • Example: Cloud-based platforms like AWS support genomic research by providing the necessary computational power.
  4. International Studies
    • Cloud computing allows for the analysis of global data, facilitating research on international relations and trends.
    • Example: Using cloud-based tools to analyze social media data for insights into global public opinion.
  5. Arts and Media
    • Cloud computing supports creative projects by providing tools for digital content creation and storage.
    • Example: Artists use cloud-based platforms like Adobe Creative Cloud to collaborate on projects.
  6. Architecture
    • Architects use cloud-based software to design, model, and simulate buildings.
    • Example: Using Autodesk's cloud services to perform complex simulations for structural integrity.

The Importance of Big Data in Cloud Computing

  • Cloud computing enables the storage, processing, and analysis of big data.
    • This is essential for making informed decisions in various fields.
    • Example: In healthcare, big data analysis can lead to better patient outcomes through predictive analytics.
  • Big data's role in cloud computing is crucial for businesses, researchers, and governments.
  • Cloud Computing and Big Data are two of the most important IT sectors today.
  • Both Big Data and Cloud Computing play a huge role in our digital society.
  • The two linked together allow people with great ideas but limited resources a chance at business success.
  • More modern components of cloud infrastructure’s typical “Software as a Service” model such as artificial intelligence also enable businesses to get insights based on the Big Data they’ve collected.

Conclusion

  • Cloud computing is a transformative technology that offers flexibility, scalability, and cost savings.
  • It has applications across various fields, impacting businesses, research, and daily life.
  • Understanding cloud computing and its related technologies is essential for staying competitive in today's digital world.