22CS907
CLOUD FOUNDATIONS
CLOUD FOUNDATIONS
UNIT 1- INTRODUCTION TO CLOUD
Cloud Computing - Cloud Versus Traditional
Architecture - IaaS, PaaS, and SaaS - Cloud Architecture
- The GCP Console - Understanding projects - Billing in
GCP - Install and configure Cloud SDK - Use Cloud Shell
- APIs - Cloud Console Mobile App.
List of Exercise/Experiments:
Install and configure cloud SDK.
Connect to computing resources hosted on Cloud via
Cloud Shell.
UNIT 2
UNIT 2 COMPUTE AND STORAGE
Compute options in the cloud - Exploring IaaS with Compute Engine - Configuring
elastic apps with auto scaling - Exploring PaaS - Event driven programs -
Containerizing and orchestrating apps - Storage options in the cloud - Structured
and unstructured storage in the cloud - Unstructured storage using Cloud Storage -
SQL managed services - NoSQL managed services.
List of Exercise/Experiments:
1. Create virtual machine instances of various machine types using the Cloud
Console and the command line. Connect an NGINX web server to your virtual
machine.
2. Create a small App Engine application that displays a short message.
3. Create, deploy, and test a cloud function using the Cloud Shell command line.
4. Deploy a containerized application.
5. Create a storage bucket, upload objects to it, create folders and subfolders in it,
and make objects publicly accessible using the Cloud command line.
UNIT 3
APIs AND SECURITY IN THE CLOUD
The purpose of APIs – API Services - Managed message services -
Introduction to security in the cloud - The shared security model -
Encryption options - Authentication and authorization with Cloud IAM -
Identify Best Practices for Authorization using Cloud IAM.
List of Exercise/Experiments:
1. Deploy a sample API with any of the API service.
2. Publish messages with managed message service using the Python
client library.
3. Create two users. Assign a role to a second user and remove assigned
roles associated with Cloud IAM. Explore how granting and revoking
permissions works from Cloud Project
Owner and Viewer roles.
UNIT 4
NETWORKING, AUTOMATION AND MANGAEMENT TOOLS
Introduction to networking in the cloud - Defining a Virtual Private Cloud - Public and private
IP address basics - Cloud network architecture - Routes and firewall rules in the cloud -
Multiple VPC networks - Building hybrid clouds using VPNs - Different options for load
balancing - Introduction to Infrastructure as Code - Terraform - Monitoring and management
tools.
List of Exercise/Experiments:
1. Create several VPC networks and VM instances and test connectivity across networks.
2. Create two nginx web servers and control external HTTP access to the web servers
usingtagged firewall rules.
3. Configure a HTTP Load Balancer with global backends. Stress test the Load Balancer and
denylist the stress test IP.
4. Create two managed instance groups in the same region. Then, configure and test an
Internal Load Balancer with the instances groups as the backends.
5. Monitor a Compute Engine virtual machine (VM) instance with Cloud Monitoring by
creating uptime check, alerting policy, dashboard and chart.
UNIT 5
BIG DATA AND MACHINE LEARNING SERVICES
Introduction to big data managed services in the cloud - Leverage big data operations
– Build Extract, Transform, and Load pipelines - Enterprise Data Warehouse Services
– Introduction to machine learning in the cloud - Building bespoke machine learning
models with AI Platform Pre-trained machine learning APIs.
List of Exercise/Experiments:
1.Create a cluster, run a simple Apache Spark job in the cluster, then modify the
number of workers in the cluster.
2.Create a streaming pipeline using one of the cloud service.
3. Set up your Python development environment, get the relevant SDK for Python,
and run an example pipeline using the Cloud Console.
4. Use cloud-based data preparation tool to manipulate a dataset. Import datasets,
correct mismatched data, transform data, and join data.
5. Utilize a cloud-based data processing and analysis tool for data exploration and
use a machine learning platform to train and deploy a custom TensorFlow Regressor
model for predicting customer lifetime value.
Course Outcome
CO 1: Describe the different ways a user can interact with Cloud.
CO2: Discover the different compute options in Cloud and
implement a variety of structured and unstructured storage
models.
CO3: Discuss the different application managed service options in the
cloud and outline how security in the cloud is administered in Cloud.
CO4: Demonstrate how to build secure networks in the cloud and
identify cloud automation and management tools.
CO5: Discover a variety of managed big data services in the cloud
Cloud computing
A model for enabling ubiquitous, convenient, on-demand
network access to a shared pool of configurable
computing resources (e.g., servers, storage, networks,
applications, and services) that can be rapidly provisioned
and released with minimal management effort or service
provider interaction. – NIST
•Cloud computing is a way of using information technology
(IT) that has these five equally important traits.
Essential Cloud characteristics:
On-demand self-service
Broad network access
Resource pooling Rapid
elasticity Measured
service
Benefits
• Reduced IT cost
Reduces the up-front capital expenditure (CAPEX)
• Business agility
Provides the ability to deploy new resources quickly Enables
businesses to reduce time-to-market
• Flexible scaling
Enables consumers to scale up, scale down, scale out, or scale
in the demand for computing resources easily
Consumers can unilaterally and automatically scale computing
resources
• High availability
Ensures resource availability at varying levels, depending on
consumer’s policy and priority
Cloud vs Traditional architecture
• colocation.
• Virtualized data centers
• container-based architecture—a fully
automated, elastic third-wave cloud
that consists of a combination of
automated services and scalable
data
IAAS, PAAS, AND SAAS
• offerings provide raw compute, storage,
and network capabilities, organized
virtually into resources that are similar to
physical data centers.
• IaaS is the on-demand availability of almost
infinitely scalable computing resources as services
over the internet. It eliminates the need of
enterprises to procure,configure,or manage
infrastructure themselves, and they only pay for
what they use.
Services offered
Compute Engine
Cloud Storage
Virtual Private Cloud
Persistent Disk
Characteristics
Resources are distributed as a
service
Allows for dynamic scaling
This model supports variable cost
and pricing is done based on the
utility.
This can accommodate multiple
users on a single piece of hardware
Benefits
Economical
Efficient
Boosts productivity
Reliable
Scalable
It drives faster time to market
Iaas could be used in the following situations:
When the demand of the infrastructure is not
constant (i.E) when the demand is very volatile.
Used by the startup companies and organizations
who could not afford new hardware resources.
Used by organizations that would like to scale up
without investing more in hardware.
Used by companies which don’t want to spend
more on infrastructure.
When there in need for temporary infrastructures.
Paas Model
• This model enables the user to
deploy user-built applications onto a
virtualized cloud platform. PaaS
includes middleware, databases,
development tools, and some
runtime support such as Web 2.0 and
Java.
PLATFORM AS A SERVICE (PAAS)
• PaaS offerings bind code to libraries
that provide access to the infrastructure
applications need. This allows more
resources to be focused on application
logic.
• Platform as a Service (PaaS) is a complete cloud
environment that includes everything developers
need to build, run, and manage applications—
from servers and operating systems to all the
networking, storage, middleware, tools, and more.
Characteristics of PaaS:
It offers services to develop, test, and maintain applications
in the same integrated development environment (IDE).
It provides web based user interface creation tools.
It supports Multi-tenant architecture. Here multiple
concurrent users utilize the same development application.
It offers good scalability of software that takes care of load
balancing and failover.
Integration with web services and databases via common
standards.
Support for development tram collaboration.
Tools to handle billing and subscription management.
Benefits:
Faster time to market
Low maintenance
Cost-effective pricing
Easy scalability
Flexible access
Shared security
Examples: Google App Engine,
Cloud Run
• PaaS is used in the following scenarios:
PaaS is especially useful in any situation where
multiple developers will be working on a
development project or where other external parties
need to interact with the development process.
It is used when more people are working with an
existing data source
It is used where developers wish to automate
testing and deployment services.
•Online Reference Link: What Is PaaS? | Google Cloud
SOFTWARE AS A SERVICE (SAAS)
•Software as a service (SaaS) is a way of delivering
applications remotely over the internet instead of
locally on machines (known as “on-premise”
software). SaaS applications are also known as:
Web-based software
On-demand software
Hosted software
SaaS Model
• The SaaS model applies to business
processes, industry applications, consumer
relationship management (CRM),
enterprise resources planning (ERP),
human resources (HR), and collaborative
applications. On the customer side, there is
no upfront investment in servers or software
licensing. On the provider side, costs are
rather low, compared with conventional
hosting of user applications
saas
• They can use the software services
as “pay as you go”. Vast majority of
the business logic software are
delivered as a service
Characteristics of SaaS:
It provides web access to commercial software.
Software is managed from a central location.
Software delivered in a one to many model.
Users need not handle software upgrades and
patches
.
Application Programming Interfaces (APIs) provided
by the cloud helps in integrating the software.
Example: Google docs, Gmail, Google Calendar
etc