Cloud Computing Unit-1
Cloud Computing Unit-1
Unit-1
Cloud Computing
• Cloud computing refers to the delivery of computing services—such as
servers, storage, databases, networking, software, and analytics—over
the internet ("the cloud").
• Cloud Computing means storing and accessing the data and programs on
remote servers that are hosted on the internet instead of the computer’s
hard drive or local server.
• Cloud computing is also referred to as Internet-based computing, it is a
technology where the resource is provided as a service through the
Internet to the user.
• The data that is stored can be files, images, documents, or any other
storable document.
• A definition proposed by the U.S. National Institute of Standards and
Technology (NIST):
• 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.
• The following are some of the Operations that can be performed with
Cloud Computing
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
Hosting blogs and websites
Analysis of data
Origins of Cloud Computing
• Mainframe computing in the 1950s and the internet explosion in the 1990s
came together to give rise to cloud computing.
• Since businesses like Amazon, Google, and Salesforce started providing
web-based services in the early 2000s. The term “cloud computing” has
gained popularity.
• Scalability, adaptability, and cost-effectiveness are to be facilitated by the
concept’s on-demand internet-based access to computational resources.
• These days, cloud computing is pervasive, driving a wide range of services
across markets and transforming the processing, storage, and retrieval of
data.
History of Cloud Computing
• Before Computing was come into existence, client Server Architecture was
used where all the data and control of client resides in Server side. If a
single user want to access some data, firstly user need to connect to the
server and after that user will get appropriate access. But it has many
disadvantages.
• So, After Client Server computing, Distributed Computing came into
existence, in this type of computing all computers are networked together
with the help of this, user can share their resources when needed. It also
has certain limitations.
• So in order to remove limitations faced in distributed system, cloud
computing was emerged.
Evolution of Cloud Computing
• The phrase “Cloud Computing” was first introduced in the 1950s to
describe internet-related services, and it evolved from distributed
computing to the modern technology known as cloud computing.
• Cloud services include those provided by Amazon, Google, and Microsoft.
Cloud computing allows users to access a wide range of services stored in
the cloud or on the Internet. Cloud computing services include computer
resources, data storage, apps, servers, development tools, and
networking protocols.
Distributed Computing
• Distributed System is a composition of multiple independent systems but
all of them are depicted as a single entity to the users.
• The purpose of distributed systems is to share resources and also use them
effectively and efficiently.
• Distributed systems possess characteristics such as scalability, concurrency,
continuous availability, heterogeneity, and independence in failures.
• But the main problem with this system was that all the systems were
required to be present at the same geographical location.
• Thus to solve this problem, distributed computing led to three more types
of computing and they were-Mainframe computing, cluster computing,
and grid computing.
Mainframe Computing
• Mainframes which first came into existence in 1951 are highly powerful and
reliable computing machines.
• These are responsible for handling large data such as massive input-output
operations.
• Even today these are used for bulk processing tasks such as online
transactions etc.
• After distributed computing, these increased the processing capabilities of
the system.
• But these were very expensive. To reduce this cost, cluster computing came
as an alternative to mainframe technology.
Cluster Computing
• In 1980s, cluster computing came as an alternative to mainframe computing.
• A computer cluster is a set of computers that work together so that they can
be viewed as a single system.
• Each machine in the cluster was connected to each other by a network with
high bandwidth.
• These were way cheaper than those mainframe systems. These were equally
capable of high computations. Also, new nodes could easily be added to the
cluster if it was required.
• Thus, the problem of the cost was solved to some extent but the problem
related to geographical restrictions still pertained.
• To solve this, the concept of grid computing was introduced.
Grid Computing
• In 1990s, the concept of grid computing was introduced.
• It means that different systems were placed at entirely different
geographical locations and these all were connected via the internet.
These systems belonged to different organizations and thus the grid
consisted of heterogeneous nodes.
• Although it solved some problems but new problems emerged as the
distance between the nodes increased. The main problem which was
encountered was the low availability of high bandwidth connectivity and
with it other network associated issues.
• Thus cloud computing is often referred to as “Successor of grid
computing”.
Virtualization
• Virtualization was introduced nearly 40 years back.
• Virtualization is the process of creating a virtual version of something like
computer hardware.
• It refers to the process of creating a virtual layer over the hardware which
allows the user to run multiple instances simultaneously on the hardware.
• It is a key technology used in cloud computing. It is the base on which
major cloud computing services such as Amazon EC2, VMware vCloud, etc
work on.
• Hardware virtualization is still one of the most common types of
virtualization.
Web 2.0
• Web 2.0 is the interface through which the cloud computing services
interact with the clients.
• It is because of Web 2.0 that we have interactive and dynamic web pages.
It also increases flexibility among web pages.
• Popular examples of web 2.0 include Google Maps, Facebook, Twitter, etc.
Needless to say, social media is possible because of this technology only.
• It gained major popularity in 2004.
Service Orientation
• A service orientation acts as a reference model for cloud computing.
• It supports low-cost, flexible, and evolvable applications.
• Two important concepts were introduced in this computing model. These
were Quality of Service (QoS) which also includes the SLA (Service Level
Agreement) and Software as a Service (SaaS).
Utility Computing
• Utility Computing is a computing model that defines service provisioning
techniques for services such as compute services along with other major
services such as storage, infrastructure etc. which are provisioned on a
pay-per-use basis.
Cloud Computing
• Cloud Computing means storing and accessing the data and programs on
remote servers that are hosted on the internet instead of the computer’s
hard drive or local server.
• Cloud computing is also referred to as Internet-based computing, it is a
technology where the resource is provided as a service through the
Internet to the user.
• The data that is stored can be files, images, documents, or any other
storable document.
Cloud
• "The cloud" refers to servers that are accessed over the Internet, and the
software and databases that run on those servers.
• Cloud servers are in data centres all over the world.
• By using cloud computing, users and companies do not have to manage
physical servers themselves or run software applications on their own
machines.
Services of Internet in Cloud
Computing
• In cloud computing, the internet plays a crucial role in delivering various services
and functionalities. These services are generally categorized into several key areas
that leverage internet connectivity to provide scalable and flexible computing
resources.
• Here’s an overview of the primary internet-based services in cloud computing:
Cloud Storage Services
Compute Services
Database Services
Networking Services
Security and Identity Services
Application Services
Analytics and Big Data Services
Cloud Storage Services
• Object Storage: Stores data as objects, including metadata and a unique
identifier. It’s ideal for storing unstructured data such as backups,
archives, and media files.
• Examples: Amazon S3, Google Cloud Storage, Microsoft Azure Blob Storage.
• Block Storage: Provides raw storage volumes that can be attached to
virtual machines or instances. It’s suitable for applications requiring low-
latency data access, such as databases.
• Examples: Amazon EBS, Google Persistent Disk, Microsoft Azure Disk Storage.
• File Storage: Offers a hierarchical file system interface, allowing file-based
access to data. It’s used for applications that need shared access to files.
• Examples: Amazon EFS, Google Cloud Filestore, Microsoft Azure Files.
Compute Services
• Virtual Machines (VMs): Provide virtualized computing resources that can
run operating systems and applications just like physical servers.
• Examples: Amazon EC2, Google Compute Engine, Microsoft Azure Virtual Machines.
• Containers: Lightweight, portable units that encapsulate applications and
their dependencies, allowing them to run consistently across different
environments.
• Examples: Google Kubernetes Engine (GKE), Amazon ECS, Microsoft Azure
Kubernetes Service (AKS).
• Serverless Computing: Serverless computing is a method of
providing backend services on an as-used basis. Servers are
still used, but a company that gets backend services from a
serverless vendor is charged based on usage, not a fixed
amount of bandwidth or number of servers.
• Examples: AWS Lambda, Google Cloud Functions, Microsoft Azure Functions.
Database Services
• Relational Databases: Managed databases that support SQL for
structured data and transactional operations.
• Examples: Amazon RDS, Google Cloud SQL, Microsoft Azure SQL Database.
• NoSQL Databases: Non-relational databases designed for unstructured
data, providing flexible schemas and horizontal scalability.
• Examples: Amazon DynamoDB, Google Cloud Firestore, Microsoft Azure Cosmos
DB.
• Data Warehousing: Solutions for storing and analyzing large volumes of
structured data, optimized for complex queries and business intelligence.
• Examples: Amazon Redshift, Google BigQuery, Microsoft Azure Synapse Analytics.
Networking Services
• Virtual Private Cloud (VPC): Allows users to create isolated network
environments within the cloud.
• Examples: Amazon VPC, Google VPC, Microsoft Azure Virtual Network.
• Content Delivery Network (CDN): Distributes content across a network of
servers to reduce latency and improve load times for users around the
globe.
• Examples: Amazon CloudFront, Google Cloud CDN, Microsoft Azure CDN.
• Load Balancing: Distributes incoming traffic across multiple servers or
instances to ensure high availability and reliability.
• Examples: AWS Elastic Load Balancing (ELB), Google Cloud Load Balancing,
Microsoft Azure Load Balancer.
Security and Identity Services
• Identity and Access Management (IAM): Manages user identities and
permissions to control access to cloud resources.
• Examples: AWS IAM, Google Cloud IAM, Microsoft Azure Active Directory.
• Encryption Services: Provides encryption for data at rest and in transit to
enhance security and compliance.
• Examples: AWS Key Management Service (KMS), Google Cloud Key Management,
Microsoft Azure Key Vault.
• Security Monitoring and Incident Management: Tools for monitoring
security events, managing incidents, and responding to threats.
• Examples: AWS CloudTrail, Google Cloud Security Command Center, Microsoft
Azure Security Center.
Application Services
• Application Hosting: Provides platforms for deploying and managing
applications without managing underlying infrastructure.
• Examples: Google App Engine, Microsoft Azure App Service, AWS Elastic
Beanstalk.
• Development and Testing Tools: Tools and environments for developing,
testing, and deploying applications.
• Examples: AWS CodeBuild, Google Cloud Build, Microsoft Azure DevOps.
• Machine Learning and AI Services: Provides tools and frameworks for
building and deploying machine learning models and artificial intelligence
applications.
• Examples: AWS SageMaker, Google Cloud AI Platform, Microsoft Azure Machine
Learning.
Analytics and Big Data Services
• Data Processing: Services for processing and analyzing large datasets,
often in real-time or batch modes.
• Examples: Google Dataflow, AWS Glue, Microsoft Azure Data Factory.
• Business Intelligence: Tools for visualizing and analyzing business data to
generate insights and reports.
• Examples: Google Data Studio, AWS QuickSight, Microsoft Power BI.
Characteristics of Cloud
Computing
There are many characteristics of Cloud Computing here are few of them :
• 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 quickly and on a need basis.
• 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.
• 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.
• 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.
Advantages of Cloud Computing
• Cost Savings: Cost saving is one of the biggest Cloud Computing benefits. It
helps you to save substantial capital cost as it does not need any physical
hardware investments. Also, you do not need trained personnel to
maintain the hardware. The buying and managing of equipment is done by
the cloud service provider.
• Strategic edge: Cloud computing offers a competitive edge over your
competitors. It is one of the best advantages of Cloud services that helps
you to access the latest applications any time without spending your time
and money on installations.
• High Speed: Cloud computing allows you to deploy your service quickly in
fewer clicks. This faster deployment allows you to get the resources
required for your system within fewer minutes.
• Back-up and restore data: Once the data is stored in a Cloud, it is easier to
get the back-up and recovery of that, which is otherwise very time taking
process on-premise.
• Automatic Software Integration: In the cloud, software integration is
something that occurs automatically. Therefore, you don’t need to take
additional efforts to customize and integrate your applications as per your
preferences.
• Reliability: Reliability is one of the biggest benefits of Cloud hosting. You
can always get instantly updated about the changes.
• Mobility: Employees who are working on the premises or at the remote
locations can easily access all the services. All they need is an Internet
connectivity.
• Unlimited storage capacity: The cloud offers almost limitless storage
capacity. At any time you can quickly expand your storage capacity with
very nominal monthly fees.
• Collaboration: The cloud computing platform helps employees who are
located in different geographies to collaborate in a highly convenient and
secure manner.
• Quick Deployment: Last but not least, cloud computing gives you the
advantage of rapid deployment. So, when you decide to use the cloud,
your entire system can be fully functional in very few minutes. Although,
the amount of time taken depends on what kind of technologies are used
in your business.
Disadvantages of Cloud
Computing
• Performance Can Vary: When you are working in a cloud environment,
your application is running on the server which simultaneously provides
resources to other businesses. Any greedy behavior or DDOS attack on
your tenant could affect the performance of your shared resource.
• Technical Issues: Cloud technology is always prone to an outage and other
technical issues. Even, the best cloud service provider companies may
face this type of trouble despite maintaining high standards of
maintenance.
• Security Threat in the Cloud: Another drawback while working with cloud
computing services is security risk. Before adopting cloud technology, you
should be well aware of the fact that you will be sharing all your
company’s sensitive information to a third-party cloud computing service
provider. Hackers might access this information.
• Downtime: Downtime should also be considered while working with
cloud computing. That’s because your cloud provider may face power
loss, low internet connectivity, service maintenance, etc.
• Internet Connectivity: Good Internet connectivity is a must in cloud
computing. You can’t access cloud without an internet connection.
Moreover, you don’t have any other way to gather data from the cloud.
• Lower Bandwidth: Many cloud storage service providers limit bandwidth
usage of their users. So, in case if your organization surpasses the given
allowance, the additional charges could be significantly costly.
• Lacks of Support: Cloud Computing companies fail to provide proper
support to the customers. Moreover, they want their user to depend on
FAQs or online help, which can be a tedious job for nontechnical persons.
On-Demand Self Service in
Cloud Computing
• Cloud computing provides resources on demand, i.e. when the consumer
wants it. This is made possible by selfservice and automation.
• Self-service means that the consumer performs all the actions needed to
acquire the service himself, instead of going through an IT department.
• The consumer’s request is then automatically processed by the cloud
infrastructure, without human intervention on the provider’s side.
• To make this possible, a cloud provider must obviously have the
infrastructure in place to automatically handle consumers’ requests.
Most likely, this infrastructure will be virtualized, so different consumers
can use the same pooled hardware.
• On-demand self-service computing implies a high level of planning. For
instance, a cloud consumer can request a new virtual machine at any
time, and expects to have it working in a couple of minutes.
• The underlying hardware, however, might take 90 days to get delivered to
the provider. It is therefore necessary to monitor trends in resource
usage and plan for future situations well in advance.
• The cloud provider can’t assume much specialized knowledge on the
consumer’s part. They know, for instance, how much RAM is going to be
needed for a given use case. No such knowledge can be assumed on the
part of a cloud service consumer. This means that the user interface (UI)
to the cloud service must not ask such questions. Instead, the cloud
provider must put a lot of thought into providing an understandable UI
with good defaults, and translate that into technical details, like the IT
specialist used to do.
Components of Cloud
Computing
• Storage: Various types of storage solutions including block storage, object
storage, and file storage (e.g., AWS S3, Google Cloud Storage).
• Networking: Virtual networks, load balancers, VPNs, and content delivery
networks (CDNs) to manage and optimize data traffic.
• Database Services: Managed database services for relational (e.g., AWS
RDS, Google Cloud SQL) and NoSQL databases (e.g., AWS DynamoDB,
Google Cloud Firestore).
• Compute: Virtual machines, containers, serverless computing (e.g., AWS
Lambda, Google Cloud Functions).
• Security and Identity Management: Tools and services for managing user
identities, access control, and ensuring security (e.g., AWS IAM, Azure
Active Directory).
Vision of Cloud Computing
Types of Cloud
Public clouds
Private/enterprise clouds
Hybrid clouds
Public Cloud
• A Public Cloud is Cloud Computing in which the infrastructure and
services are owned and operated by a third-party provider and made
available to the public over the internet.
• The public can access and use shared resources, such as servers, storage,
and applications and the main thing is you pay for what you used. .
Examples of public cloud providers – are Amazon Web Services (AWS),
Microsoft Azure, and Google Cloud Platform (GCP).
Private Cloud
• A Private Cloud is a cloud computing environment in which the
infrastructure and services are owned and operated by a single
organization, for example, a company or government, and it is accessed
by only authorized users within that organization.
• Private Cloud organizations have their own data center. private cloud
provides a higher level of security. Examples – HPE, Dell, VMware, etc.
Hybrid Cloud
• A hybrid cloud is a combination of both public and private cloud
environments that allows organizations to take advantage of the benefits
of both types of clouds.
• It manages traffic levels during peak usage periods It can provide greater
flexibility, scalability, and cost-effectiveness than using a single cloud
environment. Examples – IBM, DataCore Software, Rackspace, Threat
Stack, Infinidat, etc.
Cloud Computing Reference
Models
Cloud Computing Stack
Cloud Service Layers
Cloud Service Models
IAAS
• The capability provided to the consumer is to provision processing, storage, networks,
and other fundamental computing resources where the consumer is able to deploy and
run arbitrary software, which can include operating systems and applications.
• The consumer does not manage or control the underlying cloud infrastructure but has
control over operating systems, storage, and deployed applications; and possibly
limited control of select networking components (e.g., host firewalls)
• Infrastructure as a Service
Offering virtualized resources (computation, storage, and communication) on
demand is known as Infrastructure as a Service (IaaS).
• A cloud infrastructure enables on-demand provisioning of servers running several
choices of operating systems and a customized software stack. Infrastructure services
are considered to be the bottom layer of cloud computing systems.
• Amazon Web Services mainly offers IaaS.
PAAS
• PaaS vendors offer a development environment to application developers.
• The provider typically develops toolkit and standards for development and channels for
distribution and payment.
• In the PaaS models, cloud providers deliver a computing platform, typically including operating
system, programming-language execution environment, database, and web server.
• Application developers can develop and run their software solutions on a cloud platform without
the cost and complexity of buying and managing the underlying hardware and software layers.
• A cloud platform offers an environment on which developers create and deploy applications and
do not necessarily need to know how many processors or how much memory that applications
will be using. In addition, multiple programming models and specialized services (e.g., data
access, authentication, and payments) are offered as building blocks to new applications.
• Google App Engine, an example of Platform as a Service, offers a scalable environment for
developing and hosting Web applications, which should be written in specific programming
languages such as Python or Java, and use the services‘ own proprietary structured object data
store.
SAAS
• The capability provided to the consumer is to use the provider’s applications
running on a cloud infrastructure.
• The applications are accessible from various client devices through either a
thin client interface, such as a web browser (e.g., web-based email), or a
program interface.
• The consumer does not manage or control the underlying cloud infrastructure
including network, servers, operating systems, storage, or even individual
application capabilities, with the possible exception of limited user-specific
application configuration settings.
• Applications reside on the top of the cloud stack. Services provided by this
layer can be accessed by end users through Web portals. Therefore,
consumers are increasingly shifting from locally installed computer programs
to on-line software services that offer the same functionally.
• This model of delivering applications, known as Software as a Service
(SaaS), alleviates the burden of software maintenance for customers and
simplifies development and testing for providers.
• Salesforce.com, which relies on the SaaS model, offers business
productivity applications (CRM) that reside completely on their servers,
allowing costumers to customize and access applications on demand.
Cloud Service Models Examples
Cloud Service Models
Comparison