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:
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
- Infrastructure as a Service (IaaS)
- Provides virtualized computing resources over the internet.
- Example: AWS EC2 allows users to rent virtual servers and storage.
- 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.
- 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.
- 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
- 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.
- 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.
- 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
- Amazon Web Services (AWS)
- The leading cloud platform, offering a wide range of services from storage to machine learning.
- Microsoft Azure
- A popular choice for enterprises, integrating well with Microsoft products.
- 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: 19million
- Twitch: 15million
- LinkedIn: 13million
- Facebook: 11million
- Turner Broadcasting: 10million
- BBC: 9million
- Baidu: 9million
- ESPN: 8million
- Adobe: 8million
- Twitter: 7million
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
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.