Cloud Computing
UNIT-I
UNIT – I:
Cloud Computing Foundation: Introduction to Cloud Computing – Move to Cloud Computing –
Types of Cloud – Working of Cloud Computing.
What Is 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.
Operations that can be performed with Cloud Computing are,
Storage, backup, and recovery of data
Delivery of software on demand
Development of new applications and services
Streaming videos and audio
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.
After Client Server computing, Distributed Computing was come 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 has certain limitations.
So in order to remove limitations faced in distributed system, cloud computing was
emerged.
The Evolution And Emergence Of Modern Cloud Computing.
1950s. Companies started using large mainframe computers, but due to the expense, not
every organization could afford to purchase one. So, during the late 1950s and early
1960s, a process called time sharing was developed to make more efficient use of
expensive processor time on the central mainframe.
1960s. In 1969 American computer scientist J.C.R. Licklider helped create the Advanced
Research Projects Agency Network, the so-called precursor to the internet. Licklider's
goal was to connect computers across the globe in a way that would let users access
programs and information from any location.
1970s. Cloud computing began to take a more tangible shape with the introduction of the
first VMs, letting users run more than one computing system within a single physical
setup. The functionality of these VMs led to the concept of virtualization, which had a
major influence on the progress of cloud computing.
1980s. In the 1970s and 1980s, Microsoft, Apple and IBM developed technologies that
enhanced the cloud environment and advanced the use of cloud server and server hosting.
1990s. In 1999, Salesforce became the first company to deliver business applications
from a website.
2000s. In 2006, Amazon launched AWS, providing services like computing and storage
in the cloud. And Microsoft and Google, also launched their own cloud offerings to
compete with AWS.
2010s. Microsoft launched Azure in 2010 and Office 365 in 2011. Also, the Docker
container technology was first released in this decade. Microservices and serverless
platforms were also introduced in this timeframe when the Google App Engine was
launched in 2008, followed by AWS Lambda in 2015.
2020 and beyond. The growth of serverless computing is anticipated to continue
and edge computing will become more and more significant in the upcoming years. Edge
computing devices are expected to improve and become more interconnected as AI
and machine learning technologies advance.
Characteristics of cloud computing
Cloud computing has been around for several decades and today's cloud computing
infrastructure demonstrates an array of characteristics that have brought meaningful benefits to
businesses of all sizes.
Self-service provisioning. End users can spin up compute resources for almost any type of
workload on demand. An end user can provision computing capabilities, such as server time
and network storage, eliminating the traditional need for IT administrators to provision and
manage compute resources.
Elasticity. Companies can freely scale up as computing needs increase and scale down as
demands decrease. This eliminates the need for massive investments in local infrastructure,
which might not remain active.
Pay per use. Compute resources are measured at a granular level, letting users pay only for
the resources and workloads they use.
Workload resilience. CSPs often deploy redundant resources to ensure resilient storage and
to keep users' important workloads running -- often across multiple global regions.
Migration flexibility. Organizations can move certain workloads to or from the cloud or to
different cloud platforms automatically.
Broad network access. A user can access cloud data or upload data to the cloud from
anywhere with an internet connection using any device.
Multi-tenancy and resource pooling. Multi-tenancy lets several customers share the same
physical infrastructures or the same applications, yet still retain privacy and security over
their own data. With resource pooling, cloud providers service numerous customers from the
same physical resources. The resource pools of the cloud providers should be large and
flexible enough so they can service the requirements of multiple customers.
Security. Security is integral in cloud computing and most providers prioritize the
application and maintenance of security measures to ensure confidentiality, integrity and
availability of data being hosted on their platforms. Along with strong security features,
providers also offer various compliance certifications to ensure that their services adhere to
industry standards and regulations.
Benefits of cloud computing
Cloud computing provides a variety of benefits for modern business, including the following:
Cost management
Using cloud infrastructure can reduce capital costs, as organizations don't have to
spend massive amounts of money buying and maintaining equipment, investing in
hardware, facilities or utilities, or building large data centers to accommodate
their growing businesses. In addition, companies don't need large IT teams to
handle cloud data center operations because they can rely on the expertise of their
cloud providers' teams. Cloud computing also cuts costs related to downtime.
Since downtime rarely happens in cloud computing, companies don't have to
spend time and money to fix issues that might be related to downtime.
Data and workload mobility
Storing information in the cloud means users can access it from anywhere with
any device with just an internet connection. That means users don't have to carry
around USB drives, an external hard drive or multiple CDs to access their data.
They can access corporate data via smartphones and other mobile devices, letting
remote employees stay current with co-workers and customers. End users can
easily process, store, retrieve and recover resources in the cloud. In addition,
cloud vendors provide all the upgrades and updates automatically, saving time
and effort.
Business continuity and disaster recovery
All organizations worry about data loss. Storing data in the cloud guarantees that
users can always access their data even if their devices, such as laptops or
smartphones, are inoperable. With cloud-based services, organizations can
quickly recover their data in the event of natural disasters or power outages. This
benefits BCDR and helps ensure that workloads and data are available even if the
business suffers damage or disruption.
Speed and agility
Cloud computing facilitates rapid deployment of applications and services, letting
developers swiftly provision resources and test new ideas. This eliminates the
need for time-consuming hardware procurement processes, thereby accelerating
time to market.
Environmental sustainability
By maximizing resource utilization, cloud computing can help to promote
environmental sustainability. Cloud providers can save energy costs and reduce
their carbon footprint by consolidating workloads onto shared infrastructure.
These providers often operate large-scale data centers designed for energy
efficiency.
Disadvantages of cloud computing
Despite the clear upsides to relying on cloud services, cloud computing has its own challenges
for IT professionals:
Cloud security
Security is often considered the greatest challenge organizations face with cloud
computing. When relying on the cloud, organizations risk data breaches, hacking
of APIs and interfaces, compromised credentials and authentication issues.
Furthermore, there's a lack of transparency regarding how and where sensitive
information entrusted to the cloud provider is handled. Security demands careful
attention to cloud configurations and business policy and practice.
Unpredictable costs
Pay-as-you-go subscription plans for cloud use, along with scaling resources to
accommodate fluctuating workload demands, can make it difficult to define and
predict final costs. Cloud costs are also frequently interdependent, with one cloud
service often using one or more other cloud services -- all of which appear in the
recurring monthly bill. This can create additional unplanned cloud costs.
Lack of expertise
With cloud-supporting technologies rapidly advancing, organizations are
struggling to keep up with the growing demand for tools and employees with the
proper skills and knowledge needed to architect, deploy and manage workloads
and data in a cloud.
IT governance difficulties
The emphasis on do-it-yourself in cloud computing can make IT governance
difficult, as there's no control over provisioning, deprovisioning and management
of infrastructure operations. This can make it challenging for organizations to
properly manage risks and security, IT compliance and data quality.
Compliance with industry laws
When transferring data from on-premises local storage into cloud storage, it can
be difficult to manage compliance with industry regulations through a third party.
It's important to know where data and workloads are actually hosted to maintain
regulatory compliance and proper business governance.
Management of multiple clouds
Every cloud is different, so multi-cloud deployments can disjoint efforts to
address more general cloud computing challenges.
Cloud performance
Performance -- such as latency -- is largely beyond the control of the organization
contracting cloud services with a provider. Network and provider outages can
interfere with productivity and disrupt business processes if organizations aren't
prepared with contingency plans.
Cloud migration
The process of moving applications and other data to the cloud often causes
complications. Migration projects frequently take longer than anticipated and go
over budget. The issue of workload and data repatriation -- moving from the cloud
back to a local data center -- is often overlooked until unforeseen costs or
performance problems arise.
Vendor lock-in
Often, switching between cloud providers can cause significant issues. This
includes technical incompatibilities, legal and regulatory limitations and
substantial costs incurred from sizable data migrations.
Examples of cloud computing
Cloud computing has evolved and diversified into a wide array of offerings and capabilities
designed to suit almost any conceivable business need. Examples of cloud computing
capabilities and diversity include the following:
Google Docs, Microsoft 365. Users can access Google Docs and Microsoft 365 via
the internet. Users can be more productive because they can access work
presentations and spreadsheets stored in the cloud anytime from anywhere on any
device.
Email, Calendar, Skype, WhatsApp. Emails, calendars, Skype and WhatsApp take
advantage of the cloud's ability to provide users with access to data remotely so they
can examine their data on any device, whenever and wherever they want.
Zoom. Zoom is a cloud-based software platform for video and audio conferencing
that records meetings and saves them to the cloud, letting users access them
anywhere and at any time. Another common communication and collaboration
platform is Microsoft Teams.
AWS Lambda. Lambda lets developers run code for applications or back-end
services without having to provision or manage servers. The pay-as-you-go model
constantly scales with an organization to accommodate real-time changes in data
usage and data storage. Other examples of major cloud providers that also
support serverless computing capabilities include Google Cloud Functions
and Microsoft Azure Functions.
Salesforce. Salesforce is a cloud-centric customer relationship management platform
designed to assist businesses in overseeing their sales, marketing and customer
service operations.
Types of cloud computing services
Cloud Computing includes the cloud types such as Infrastructure as a Service ( IaaS ), Platform
as a Service ( PaaS ), and Software as a Service ( SaaS ).
In general, Cloud Computing services are widely classified into 4 types. They are as follows:
Infrastructure as a service (IaaS)
IaaS providers, such as Amazon Web Services (AWS), supply a virtual server instance and
storage, as well as application programming interfaces (APIs) that let users migrate workloads to
a virtual machine (VM). Users have an allocated storage capacity and can start, stop, access and
configure the VM and storage as desired. IaaS providers offer small, medium, large, extra-large
and memory- or compute-optimized instances, in addition to enabling customization of instances
for various workload needs. The IaaS cloud model is closest to a remote data center for business
users.
Platform as a service (PaaS)
In the PaaS model, cloud providers host development tools on their infrastructures. Users access
these tools over the internet using APIs, web portals or gateway software. PaaS is used for
general software development and many PaaS providers host the software after it's developed.
Examples of PaaS products include Salesforce Lightning, AWS Elastic Beanstalk and Google
App Engine.
Software as a service (SaaS)
SaaS is a distribution model that delivers software applications over the internet; these
applications are often called web services. Users can access SaaS applications and services from
any location using a computer or mobile device that has internet access. In the SaaS model, users
gain access to application software and databases. An example of a SaaS application is Microsoft
365 for productivity and email services.
Function as a service (FaaS)
FaaS, also known as serverless computing, lets users run code in the cloud without having to
worry about the underlying infrastructure. Users can create and deploy functions that respond to
events or triggers. FaaS abstracts server and infrastructure management, letting developers
concentrate solely on code creation.
Difference Between IaaS, PaaS, SaaS And Serverless
The following are the differences between IaaS, PaaS, SaaS and Serverless:
Serverless
Aspect IaaS PaaS SaaS Computing
It is used for
It provides It provides the
fully It provides an
virtualized platform for
Infrastructure developed abstracted server
computing application
software management
resources development
applications
Users manage Platform
Vendor fully
virtual provider Developers focus
manages and
Management machines, manages only on writing
maintains the
storage, underlying code
software
networking infrastructure
Limited Focuses on code,
High level of Minimal
Customization customization less on
customization customization
options infrastructure
Flexibility High Moderate Low High
Scalable at Scalable at Automatically
Scalable at
Scalability infrastructure application scales based on
user level
level level demand
AWS
Amazon Web Google App Salesforce,
Lambda, Azure
Examples Services(AWS), Engine, Google
Functions, Google
Microsoft Azure Heroku Workspace
Cloud Functions
Cloud computing deployment models
There is several cloud computing deployment methods, including the following:
Private cloud
A business's data center delivers private cloud services to internal users. With a private cloud, an
organization builds and maintains its own underlying cloud infrastructure. This model offers the
versatility and convenience of the cloud, while preserving the management, control and security
common to local data centers. Internal users might be billed for services through IT chargeback.
Examples: VMware vCloud Suite, OpenStack, Cisco Secure Cloud, Dell Cloud Solutions, HP
Helion Eucalyptus.
Advantages Of Private Cloud
Customer information protection: In the private cloud security concerns are less since
customer data and other sensitive information do not flow out of private infrastructure.
Infrastructure ensuring SLAs: Private cloud provides specific operations such as
appropriate clustering, data replication, system monitoring, and maintenance, disaster
recovery, and other uptime services.
Compliance with standard procedures and operations: Specific procedures have to be
put in place when deploying and executing applications according to third-party
compliance standards. This is not possible in the case of the public cloud.
Disadvantages Of Private Cloud
The restricted area of operations: Private cloud is accessible within a particular area. So
the area of accessibility is restricted.
Expertise requires: In the private cloud security concerns are less since customer data
and other sensitive information do not flow out of private infrastructure. Hence skilled
people are required to manage & operate cloud services.
Public cloud
In the public cloud model, a third-party cloud service provider (CSP) delivers the cloud service
over the internet. Public cloud services are sold on demand, typically by the minute or hour,
though long-term commitments are available for many services. Customers only pay for the
central processing unit cycles, storage or bandwidth they consume. Examples of public CSPs
include AWS, Google Cloud Platform (GCP), IBM, Microsoft Azure, Oracle and Tencent Cloud.
Hybrid cloud
A hybrid cloud is a combination of public cloud services and an on-premises private cloud, with
orchestration and automation between the two. Companies can run mission-critical workloads or
sensitive applications on the private cloud and use the public cloud to handle workload bursts or
spikes in demand. The goal of a hybrid cloud is to create a unified, automated, scalable
environment that takes advantage of all that a public cloud infrastructure can provide, while still
maintaining control over mission-critical data.
Multi-cloud
Organizations are increasingly embracing a multi-cloud model, or the use of multiple IaaS
providers. This lets applications migrate between different cloud providers or operate
concurrently across two or more cloud providers.
Organizations adopt multi-cloud for various reasons, including to help them minimize the risk of
a cloud service outage or take advantage of more competitive pricing from a particular provider.
It also helps organizations avoid vendor lock-in, letting them switch from one provider to
another if needed.
However, multi-cloud deployment and application development can be a challenge because of
the differences between cloud providers' services and APIs. Multi-cloud deployments should
become easier as cloud providers work toward standardization and convergence of their services
and APIs. Industry initiatives such as Open Cloud Computing Interface aim to promote
interoperability and simplify multi-cloud deployments.
Community cloud
A community cloud, which several organizations share, supports a particular community that has
the same concerns, mission, policy, security requirements and compliance considerations. A
community cloud is either managed by these organizations or a third-party vendor and can be on
or off premises.
[Link]
[Link]
[Link]
[Link]