0% found this document useful (0 votes)
7 views

Unit I

The document provides an overview of cloud computing, including its definition, characteristics, historical developments, and benefits. It discusses various service models (IaaS, PaaS, SaaS), workload patterns, and the driving factors behind cloud adoption. Additionally, it highlights the applications of cloud computing, such as online data storage, backup and recovery, and big data analysis.

Uploaded by

sac1234999
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Unit I

The document provides an overview of cloud computing, including its definition, characteristics, historical developments, and benefits. It discusses various service models (IaaS, PaaS, SaaS), workload patterns, and the driving factors behind cloud adoption. Additionally, it highlights the applications of cloud computing, such as online data storage, backup and recovery, and big data analysis.

Uploaded by

sac1234999
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 60

Unit I

Definition of cloud, characteristics of cloud, historical developments &


challenges ahead, the vision of cloud computing, Driving factors
towards cloud, Comparing grid with utility computing, cloud computing
and other computing systems, types of workload patterns for the cloud,
IT as a service, Applications of cloud computing, Introduction to
virtualization techniques, Characteristics of virtualization, Pros and
Cons of virtualization Technology, Hypervisors, Types of hypervisors,
Multitenancy, Application programming interfaces (API), Elasticity and
scalability.

1
Definition of cloud
• In cloud computing, the cloud is a vast network of servers that are
connected and work together to store, manage, and deliver data and
content.
• The cloud is a virtual space that allows users to access their data and
files from any device that has internet access

2
How does the cloud work?
• Storage: The cloud stores data on servers that are located in remote
locations.
• Applications: The cloud runs applications like web mail, office
productivity software, and streaming videos.
• Content: The cloud delivers content like web mail, office productivity
software, and streaming videos.
• Services: The cloud provides services like storage, networking,
databases, software, analytics, and intelligence.

3
Benefits of cloud computing
• Flexibility: Cloud computing offers flexible resources and economies
of scale.
• Cost-effectiveness: Cloud computing allows users to pay only for the
services they use, which can help lower operating costs.
• Scalability: Cloud computing allows organizations to expand or reduce
their data footprint based on their needs.

4
Cloud computing service models
• Infrastructure as a service (IaaS): Offers compute and storage services
• Platform as a service (PaaS): Offers a develop-and-deploy
environment for building cloud apps
• Software as a service (SaaS): Delivers apps as services

5
Cloud Computing
• Cloud computing is the delivery of computing services—including
servers, storage, databases, networking, software, analytics, and
intelligence—over the internet (“the cloud”) to offer faster
innovation, flexible resources, and economies of scale.
• 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.

6
Characteristics of cloud
• On-demand self-services: The Cloud computing services does not require any
human administrators, user themselves are able to provision, monitor and
manage computing resources as needed.
• Broad network access: The Computing services are generally provided over
standard networks and heterogeneous devices.
• Rapid elasticity: The Computing services should have IT resources that are able to
scale out and in quickly and on a need basis. Whenever the user require services
it is provided to him and it is scale out as soon as its requirement gets over.
• Resource pooling: The IT resource (e.g., networks, servers, storage, applications,
and services) present are shared across multiple applications and occupant in an
uncommitted manner. Multiple clients are provided service from a same physical
resource.
7
• Measured service: The resource utilization is tracked for each application and
occupant, it will provide both the user and the resource provider with an
account of what has been used. This is done for various reasons like monitoring
billing and effective use of resource.
• Multi-tenancy: Cloud computing providers can support multiple tenants (users
or organizations) on a single set of shared resources.
• Virtualization: Cloud computing providers use virtualization technology to
abstract underlying hardware resources and present them as logical resources
to users.
• Resilient computing: Cloud computing services are typically designed with
redundancy and fault tolerance in mind, which ensures high availability and
reliability.
8
• Flexible pricing models: Cloud providers offer a variety of pricing models,
including pay-per-use, subscription-based, and spot pricing, allowing users
to choose the option that best suits their needs.
• Security: Cloud providers invest heavily in security measures to protect
their users’ data and ensure the privacy of sensitive information.
• Automation: Cloud computing services are often highly automated,
allowing users to deploy and manage resources with minimal manual
intervention.
• Sustainability: Cloud providers are increasingly focused on sustainable
practices, such as energy-efficient data centers and the use of renewable
energy sources, to reduce their environmental impact.
9
10
Historical developments
• During 1961, John MacCharty delivered his speech at MIT that “Computing Can be sold as a Utility, like
Water and Electricity.” According to John MacCharty it was a brilliant idea. But people at that time don’t
want to adopt this technology. They thought the technology they are using efficient enough for them.
So, this concept of computing was not appreciated much so and very less will research on it. But as the
time fleet the technology caught the idea after few years this idea is implemented. So, this is
implemented by Salesforce.com in 1999.
• This company started delivering an enterprise application over the internet and this way the boom of
Cloud Computing was started.
• In 2002, Amazon started Amazon Web Services (AWS), Amazon will provide storage, computation over
the internet. In 2006 Amazon will launch Elastic Compute Cloud Commercial Service which is open for
Everybody to use.
• After that in 2009, Google Play also started providing Cloud Computing Enterprise Application as other
companies will see the emergence of cloud Computing they also started providing their cloud services.
Thus, in 2009, Microsoft launch Microsoft Azure and after that other companies like Alibaba, IBM,
Oracle, HP also introduces their Cloud Services. In today the Cloud Computing become very popular and
important skill.
11
12
Vision of cloud computing
• Cloud computing provides the facility to provision virtual hardware, runtime
environment and services to a person having money.
• These all things can be used as long as they are needed by the user.
• The whole collection of computing system is transformed into collection of
utilities, which can be provisioned and composed together to deploy systems
in hours rather than days, with no maintenance cost.
• The long term vision of a cloud computing is that IT services are traded as
utilities in an open market without technological and legal barriers.
• In the future, we can imagine that it will be possible to find the solution that
matches with our requirements by simply entering out request in a global
digital market that trades with cloud computing services.
13
• The existence of such market will enable the automation of discovery process and its
integration into its existing software systems.
• Due to the existence of a global platform for trading cloud services will also help service
providers to potentially increase their revenue.
• A cloud provider can also become a consumer of a competition service in order to fulfill its
promises to customers.
• In the near future we can imagine a solution that suits our needs by simply applying our
application to the global digital market for cloud computing services.
• The presence of this market will enable the acquisition process to automatically integrate
with its integration into its existing software applications. The availability of a global cloud
trading platform will also help service providers to increase their revenue.
• A cloud provider can also be a buyer of a competitive service to fulfill its promises to
customers.
14
Driving factors towards cloud
Business drivers have motivated organizations to adopt cloud
computing to meet and support the requirements of these drivers.
They have also motivated organizations to become providers of the
cloud environment. There are three types of Business Drivers as
follows.
• Capacity Planning
• Cost Reduction
• Organizational Agility

15
Capacity Planning : Capacity planning is the process in which an
organization estimates the production capacity needed for its products
to cope with the ever-changing demands in the market. This involves
estimating the storage, infrastructure, hardware and software,
availability of resources, etc. for over a future period of time. There are
three major consideration’s incapacity planning as follows.
• Level of Demand
• Cost of Production
• Availability of Funds

16
Comparing grid with utility
computing
• Grid Computing : Grid Computing, as name suggests, is a type of
computing that combine resources from various administrative
domains to achieve common goal. Its main goal to virtualized
resources to simply solve problems or issues and apply resources of
several computers in network to single problem at same time to solve
technical or scientific problem.

17
• Utility Computing : Utility Computing, as name suggests, is a type of
computing that provide services and computing resources to
customers. It is basically a facility that is being provided to users on
their demand and charge them for specific usage. It is similar to cloud
computing and therefore requires cloud-like infrastructure.

18
Grid Computing Utility Computing

It is a process architecture that combines different computing resources It is process architecture that provide on-demand computing resources
from multiple locations to achieve desired and common goal. and infrastructure on basis of pay per use method.

It distributes workload across multiple systems and allow computers to It allows organization to allocate and segregate computing resources and
contribute their individual resources to common goal. infrastructure to various users on basis of their requirements.

It makes better use of existing resources, address rapid fluctuations in


It simply reduces IT costs, easier to manage, provide greater flexibility,
customer demands, improve computational capabilities, provide
compatibility, provide more convenience, etc.
flexibility, etc.

It mainly focuses on sharing computing resources. It mainly focuses on acquiring computing resources.

It is of three types i.e., computational grid, data grid, and collaborative


It is of two type i.e., Internal and external utility.
grid.

It is used in large organizations such as Amazon, Google, etc., where they


It is used in ATMs, back-end infrastructures, marketing research, etc. establish their own utility services for computing storage and
applications.

Its main purpose is to make computing resources and infrastructure


Its main purpose is to integrate usage of computer resources from
management available to customer as per their need, and charge them
cooperating partners in form of VO (Virtual Organizations).
for specific usage rather than flat rate.

Its characteristics include resource coordination, transparent access, Its characteristics include scalability, demand pricing, standardized utility
dependable access, etc. computing services, automation, etc.

19
Cloud Computing Grid Computing

Cloud computing is a Client-server computing architecture. While it is a Distributed computing architecture.

Cloud computing is a centralized executive. While grid computing is a decentralized executive.

While in grid computing, resources are used in collaborative


In cloud computing, resources are used in centralized pattern. pattern.

It is more flexible than grid computing. While it is less flexible than cloud computing.

In cloud computing, the users pay for the use. While in grid computing, the users do not pay for use.

Cloud computing is a high accessible service. While grid computing is a low accessible service.

While grid computing is low scalable in comparison to cloud


It is highly scalable as compared to grid computing. computing.

It can be accessed through standard web protocols. While it is accessible through grid middleware.

Cloud computing is based on service-oriented. Grid computing is based on application-oriented.

Grid computing uses service like distributed computing,


Cloud computing uses service like IAAS, PAAS, SAAS. distributed pervasive, distributed information.

20
Workload patterns for the cloud
At its core, a cloud workload is an aggregation of computing resources and
processes required to run an application or service within a cloud computing
environment. These resources can be broadly categorized into three main
components:
• Virtual Machines (VMs): These are simulated computers within the cloud,
providing a dedicated environment for running specific software and
applications.
• Storage: This refers to the data storage solutions offered by cloud providers,
allowing applications to store and access critical information.
• Networking: This component ensures seamless communication between
different elements of the workload, enabling data transfer and interaction
within the cloud environment.
21
Types of Cloud Workloads
Based on Resource Needs:
• General Workloads: These are the most common types of cloud workloads. They are used
for a wide range of applications that don’t need specialized hardware, such as websites,
email servers, and basic database applications. They typically run on standard virtual
machines.
• GPU-Intensive Workloads: These workloads handle tasks that demand a lot of processing
power, particularly those involving complex calculations or graphics rendering. For
example, machine learning model training, video editing, and scientific simulations. These
utilize specialized virtual machines equipped with Graphics Processing Units (GPUs).
• High-Performance Computing (HPC): These are the most demanding types of cloud
workloads. They deal with extremely complex tasks and massive datasets that require
huge computing power, often across many interconnected machines. Examples include
weather modeling, pharmaceutical research, and financial risk analysis.

22
Based on Usage Patterns:
• Static Workloads: These workloads run continuously with a consistent
level of demand for resources. They are ideal for applications that should
always be available, such as a company’s website or an internal email
system.
• Periodic Workloads: These workloads run on a predictable schedule,
with spikes in resource usage at certain times. Example: a monthly
report generation process or a daily data backup task.
• Real-Time Workloads: These workloads process data and respond
immediately. Examples: live chat applications, financial trading
platforms, or online games.
23
Based on Deployment Model:
• Infrastructure as a Service (IaaS): Gives users the highest level of control
but also the most responsibility. Users manage everything from the
operating system, networking, and storage up to the application layer.
• Platform as a Service (PaaS): The cloud provider takes care of the lower-
level infrastructure, allowing users to focus on developing and deploying
their applications.
• Software as a Service (SaaS): In SaaS, applications are offered as fully
managed services, accessed over the Internet. Users don’t need to worry
about any underlying infrastructure or software maintenance.

24
Based on Cloud Native Technology:
• Virtual Machines (VMs): The traditional building block of cloud infrastructure;
each application is deployed within a self-contained virtual machine, providing
a high level of isolation and control.
• Containers: Offer lightweight and portable packaging for applications, enabling
faster deployment and greater scalability. They are ideal for microservices-
based architectures where applications are broken down into smaller
components.
• Serverless Computing: Focus shifts to code only, with the cloud provider
managing all underlying infrastructure. Best suited for unpredictable
workloads with short, event-driven tasks like image processing or responding
to API requests.
25
IT as a service
• IT as a service, or ITaaS, is a cloud-based technology service that
allows businesses to access high-quality software and hardware
without having to purchase, maintain, or upgrade it.
• Instead of managing all their own equipment and software,
companies can leverage a provider’s infrastructure to give access to
services such as network security, storage, and backup.

26
What are IT services?
IT services are a range of services that help customers manage their
technology. They include everything from software maintenance and
support to data backup and recovery. Here are some examples of IT
services:
• Network design and implementation
• Endpoint security
• Cloud services
• Data center operations and management
• Security administration

27
Applications of cloud computing
• Online Data Storage : Cloud computing allows storing data like files, images, audios,
and videos, etc on the cloud storage. The organization need not set physical storage
systems to store a huge volume of business data which costs so high nowadays. As
they are growing technologically, data generation is also growing with respect to
time, and storing that becoming problem. In that situation, Cloud storage is
providing this service to store and access data any time as per requirement.
• Backup and Recovery : Cloud vendors provide security from their side by storing
safe to the data as well as providing a backup facility to the data. They offer various
recovery application for retrieving the lost data. In the traditional way backup of
data is a very complex problem and also it is very difficult sometimes impossible to
recover the lost data. But cloud computing has made backup and recovery
applications very easy where there is no fear of running out of backup media or loss
of data.
28
• Bigdata Analysis : We know the volume of big data is so high where storing that in
traditional data management system for an organization is impossible. But cloud
computing has resolved that problem by allowing the organizations to store their large
volume of data in cloud storage without worrying about physical storage. Next comes
analyzing the raw data and finding out insights or useful information from it is a big
challenge as it requires high-quality tools for data analytics. Cloud computing provides
the biggest facility to organizations in terms of storing and analyzing big data.
• Testing and development : Setting up the platform for development and finally
performing different types of testing to check the readiness of the product before
delivery requires different types of IT resources and infrastructure. But Cloud
computing provides the easiest approach for development as well as testing even if
deployment by using their IT resources with minimal expenses. Organizations find it
more helpful as they got scalable and flexible cloud services for product development,
testing, and deployment.
29
• Anti-Virus Applications : Previously, organizations were installing antivirus software
within their system even if we will see we personally also keep antivirus software in
our system for safety from outside cyber threats. But nowadays cloud computing
provides cloud antivirus software which means the software is stored in the cloud
and monitors your system/organization’s system remotely. This antivirus software
identifies the security risks and fixes them. Sometimes also they give a feature to
download the software.
• E-commerce Application : Cloud-based e-commerce allows responding quickly to
the opportunities which are emerging. Users respond quickly to the market
opportunities as well as the traditional e-commerce responds to the challenges
quickly. Cloud-based e-commerce gives a new approach to doing business with the
minimum amount as well as minimum time possible. Customer data, product data,
and other operational systems are managed in cloud environments.
30
• Cloud computing in education : Cloud computing in the education sector brings an
unbelievable change in learning by providing e-learning, online distance learning
platforms, and student information portals to the students. It is a new trend in
education that provides an attractive environment for learning, teaching,
experimenting, etc to students, faculty members, and researchers. Everyone associated
with the field can connect to the cloud of their organization and access data and
information from there.
• E-Governance Application : Cloud computing can provide its services to multiple
activities conducted by the government. It can support the government to move from
the traditional ways of management and service providers to an advanced way of
everything by expanding the availability of the environment, making the environment
more scalable and customized. It can help the government to reduce the unnecessary
cost in managing, installing, and upgrading applications and doing all these with help of
could computing and utilizing that money public service.
31
• Cloud Computing in Medical Fields : In the medical field also nowadays cloud computing is used for
storing and accessing the data as it allows to store data and access it through the internet without
worrying about any physical setup. It facilitates easier access and distribution of information among the
various medical professional and the individual patients. Similarly, with help of cloud computing offsite
buildings and treatment facilities like labs, doctors making emergency house calls and ambulances
information, etc can be easily accessed and updated remotely instead of having to wait until they can
access a hospital computer.
• Entertainment Applications : Many people get entertainment from the internet, in that case, cloud
computing is the perfect place for reaching to a varied consumer base. Therefore different types of
entertainment industries reach near the target audience by adopting a multi-cloud strategy. Cloud-based
entertainment provides various entertainment applications such as online music/video, online games and
video conferencing, streaming services, etc and it can reach any device be it TV, mobile, set-top box, or
any other form. It is a new form of entertainment called On-Demand Entertainment (ODE). With respect
to this as a cloud, the market is growing rapidly and it is providing various services day by day. So other
application of cloud computing includes social applications, management application, business
applications, art application, and many more. So in the future cloud computing is going to touch many
more sectors by providing more applications and services.
32
Introduction to virtualization
techniques
• Virtualization is used to create a virtual version of an underlying
service With the help of Virtualization, multiple operating systems
and applications can run on the same machine and its same hardware
at the same time, increasing the utilization and flexibility of hardware.
It was initially developed during the mainframe era.
• It is one of the main cost-effective, hardware-reducing, and energy-
saving techniques used by cloud providers. Virtualization allows
sharing of a single physical instance of a resource or an application
among multiple customers and organizations at one time. It does this
by assigning a logical name to physical storage and providing a pointer
to that physical resource on demand.
33
• Virtualization is a technology that creates virtual representations of
various computing resources, allowing more efficient utilization of
physical hardware.
• Host Machine: The machine on which the virtual machine is going to
be created is known as Host Machine.
• Guest Machine: The virtual machines that are created on the Host
Machine are called Guest Machines.

34
35
Characteristics of virtualization
• Increased Security: The ability to control the execution of a guest program
in a completely transparent manner opens new possibilities for delivering a
secure, controlled execution environment. All the operations of the guest
programs are generally performed against the virtual machine, which then
translates and applies them to the host programs.
• Managed Execution: In particular, sharing, aggregation, emulation, and
isolation are the most relevant features.
• Sharing: Virtualization allows the creation of a separate computing
environment within the same host.
• Aggregation: It is possible to share physical resources among several guests,
but virtualization also allows aggregation, which is the opposite process.
36
Types of Virtualization
• Application Virtualization
• Network Virtualization
• Desktop Virtualization
• Storage Virtualization
• Server Virtualization
• Data virtualization

37
Pros of Virtualization
• Utilization of Hardware Efficiently: With the help of Virtualization Hardware is
Efficiently used by user as well as Cloud Service Provider. In this the need of
Physical Hardware System for the User is decreases and this results in less costly.In
Service Provider point of View, they will utilize the Hardware using Hardware
Virtualization which decrease the Hardware requirement from Vendor side.
• High Availability: One of the main benefit of Virtualization is that it provides
advance features which allow virtual instances to be available all the times.
• Disaster Recovery is efficient and easy: With the help of virtualization Data
Recovery, Backup, Duplication becomes very easy. In traditional method , if
somehow due to some disaster if Server system Damaged then the surety of Data
Recovery is very less. But with the tools of Virtualization real time data backup
recovery and mirroring become easy task and provide surety of zero percent data
loss.
38
• Virtualization saves Energy: Virtualization will help to save Energy
because while moving from physical Servers to Virtual Server’s, the
number of Server’s decreases due to this monthly power and cooling
cost decreases which will Save Money as well.
• Quick and Easy Set up: In traditional methods Setting up physical
system and servers are very time-consuming. Firstly Purchase them in
bulk after that wait for shipment. When Shipment is done then wait
for Setting up and after that again spend time in installing required
software etc. Which will consume very time. But with the help of
virtualization the entire process is done in very less time which results
in productive setup.
39
• Cloud Migration becomes easy: Most of the companies those who
already have spent a lot in the server have a doubt of Shifting to
Cloud. But it is more cost-effective to shift to cloud services because
all the data that is present in their server’s can be easily migrated into
the cloud server and save something from maintenance charge,
power consumption, cooling cost, cost to Server Maintenance
Engineer etc.
• Resource Optimization: Virtualization allows efficient utilization of
physical hardware by running multiple virtual machines (VMs) on a
single physical server. This consolidation leads to cost savings in terms
of hardware, power, cooling, and space
40
Cons of Virtualization
• High Initial Investment: While virtualization reduces costs in the long
run, the initial setup costs for storage and servers can be higher than
a traditional setup.
• Complexity: Managing virtualized environments can be complex,
especially as the number of VMs increases.
• Security Risks: Virtualization introduces additional layers, which may
pose security risks if not properly configured and monitored.

41
• Learning New Infrastructure: As Organization shifted from Servers to
Cloud. They required skilled staff who can work with cloud easily.
Either they hire new IT staff with relevant skill or provide training on
that skill which increase the cost of company.
• Data can be at Risk: Working on virtual instances on shared resources
means that our data is hosted on third party resource which put’s our
data in vulnerable condition. Any hacker can attack on our data or try
to perform unauthorized access. Without Security solution our data is
in threaten situation.

42
Hypervisors
• A hypervisor is a form of virtualization software used in Cloud hosting
to divide and allocate the resources on various pieces of hardware.
• The program which provides partitioning, isolation, or abstraction is
called a virtualization hypervisor.
• The hypervisor is a hardware virtualization technique that allows
multiple guest operating systems (OS) to run on a single host system
at the same time. A hypervisor is sometimes also called a virtual
machine manager(VMM).

43
Types of Hypervisor
TYPE-1 Hypervisor:
• The hypervisor runs directly on the underlying host system.
• It is also known as a “Native Hypervisor” or “Bare metal hypervisor”.
It does not require any base server operating system.
• It has direct access to hardware resources.
• Examples of Type 1 hypervisors include VMware ESXi, Citrix
XenServer, and Microsoft Hyper-V hypervisor.

44
TYPE-2 Hypervisor:
• A Host operating system runs on the underlying host system. It is also known as
‘Hosted Hypervisor”.
• Such kind of hypervisors doesn’t run directly over the underlying hardware rather
they run as an application in a Host system(physical machine).
• Basically, the software is installed on an operating system. Hypervisor asks the
operating system to make hardware calls.
• An example of a Type 2 hypervisor includes VMware Player or Parallels Desktop.
• Hosted hypervisors are often found on endpoints like PCs.
• The type-2 hypervisor is very useful for engineers, and security analysts (for
checking malware, or malicious source code and newly developed applications).
45
Multitenancy
Multitenancy in Cloud computing: Multitenancy is a type of software
architecture where a single software instance can serve multiple
distinct user groups. It means that multiple customers of cloud vendor
are using the same computing resources. As they are sharing the same
computing resources but the data of each Cloud customer is kept
totally separate and secure. It is very important concept of Cloud
Computing.

46
For Example:
• The example of multitenancy is the same as working of Bank. Multiple
people can store money in the one same bank. But every customer asset
is totally different like one customer cannot have access to the other
customer’s money and account and different customers are not aware
about each other’s account balance and details etc.
• Multi-tenancy is an architectural approach enabling a single instance of an
application to be shared among multiple organizations or users, and is
applied only to SaaS (Software as a service). The core principle here is, it is
the single instance of the application which is being shared. Hence, multi-
instance architectures aren’t the same as multi-tenant architectures.
47
Advantages of Multitenancy
• Use of Available resources is maximized by sharing resources.
• Customer’s Cost of Physical Hardware System is reduces.
• It reduce usage of physical devices and thus power consumption and
cooling cost save.
• Save Vendor’s cost as it become difficult for cloud vendor to provide
separate Physical Services to each individual.
• Provides isolation to user while maximizing resource utilization.

48
Disadvantages of Multitenancy
• As data is stored in third party services , this reduces security of our
data and put it into vulnerable condition .
• Unauthorized access will cause damage of data.
• Possibility of competition for system resources.
• It has single point of failure since there is only one instance of
resource, clients face loss of service in such cases.

49
Application programming interfaces
• API full form is an Application Programming Interface that is a collection of
communication protocols and subroutines used by various programs to
communicate between them.
• A programmer can make use of various API tools to make their program easier
and simpler.
• Also, an API facilitates programmers with an efficient way to develop their
software programs.
• Thus api meaning is when an API helps two programs or applications to
communicate with each other by providing them with the necessary tools and
functions.
• It takes the request from the user and sends it to the service provider and then
again sends the result generated from the service provider to the desired user.
50
How do APIs Work?
• The working of an API can be clearly explained with a few simple
steps.
• Think of a client-server architecture where the client sends the
request via a medium to the server and receives the response
through the same medium.
• An API acts as a communication medium between two programs or
systems for functioning.
• The client is the user/customer (who sends the request), the medium
is the application interface programming , and the server is the
backend (where the request is accepted and a response is provided).

51
• Steps followed in the working of APIs –
• The client initiates the requests via the APIs URI (Uniform Resource Identifier)
• The API makes a call to the server after receiving the request
• Then the server sends the response back to the API with the information
• Finally, the API transfers the data to the client

52
• APIs are considered safe in terms of attacks as it includes
authorization credentials and an API gateway to limit access so as to
minimize security threats. To provide additional security layers to the
data, HTTP headers, query string parameters, or cookies are used.
• API’s architectures are:
• REST (Representational State Transfer)
• SOAP (Simple Object Access Protocol)
• Both define a standard communication protocol for the exchange of messages
in XML (Extensible Markup Language).

53
Elasticity
• Elasticity refers to the ability of a cloud to automatically expand or
compress the infrastructural resources on a sudden up and down in
the requirement so that the workload can be managed efficiently.
• This elasticity helps to minimize infrastructural costs.
• This is not applicable for all kinds of environments, it is helpful to
address only those scenarios where the resource requirements
fluctuate up and down suddenly for a specific time interval.
• It is not quite practical to use where persistent resource infrastructure
is required to handle the heavy workload.

54
• Example: Consider an online shopping site whose transaction
workload increases during festive season like Christmas. So for this
specific period of time, the resources need a spike up. In order to
handle this kind of situation, we can go for a Cloud-Elasticity service
rather than Cloud Scalability. As soon as the season goes out, the
deployed resources can then be requested for withdrawal.

55
Scalability
• Cloud scalability is used to handle the growing workload where good
performance is also needed to work efficiently with software or
applications. Scalability is commonly used where the persistent
deployment
• Example: Consider you are the owner of a company whose database
size was small in earlier days but as time passed your business does
grow and the size of your database also increases, so in this case you
just need to request your cloud service vendor to scale up your
database capacity to handle a heavy workload. of resources is
required to handle the workload statically.

56
Problem:
You are tasked with running multiple virtual machines (VMs) on a physical server that
has the following specifications:
CPU: 8 cores
RAM: 64 GB
Disk Space: 1 TB
Each VM has the following requirements:
2 vCPUs
8 GB RAM
100 GB Disk Space
You need to calculate how many VMs can run on this physical server using full
virtualization.
57
Solution:
1. Determine the maximum number of VMs by CPU:
Each VM requires 2 virtual CPUs (vCPUs), and the physical server has 8 CPU
cores.
Number of VMs based on CPUs = Total CPU coresv/CPUs per VM=8/2=4
So, based on CPU requirements, the physical server can run 4 VMs.
2. Determine the maximum number of VMs by RAM:
Each VM requires 8 GB of RAM, and the physical server has 64 GB of RAM.
Number of VMs based on RAM = Total RAM/RAM per VM=64/8=8
So, based on RAM requirements, the physical server can run 8 VMs.
58
3. Determine the maximum number of VMs by Disk Space:
Each VM requires 100 GB of disk space, and the physical server has 1 TB
(1,000 GB) of disk space.
Number of VMs based on disk space =
Total Disk Space/Disk Space per VM=1000/100=10
So, based on disk space, the physical server can run 10 VMs.
4. Determine the overall maximum number of VMs:
The limiting factor here is the CPU, as it can only support 4 VMs (based
on CPU cores). Therefore, the number of VMs that can be supported on
this server is 4.
59
Assignment 1 (Due Next Class)
• How would you apply cloud computing in a business scenario where
the company needs to scale resources on-demand?
• Given a company's fluctuating needs, which type of cloud workload
pattern would be the best choice and why?
• How would virtualization techniques be implemented to maximize
resource efficiency in a data center?
• Analyze the major milestones in the historical development of cloud
computing, and discuss the ongoing challenges the industry faces
today.

60

You might also like