Cloud computing
UNIT-1
Cloud Computing
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal management effort or. service provider interaction.
Cloud computing is a type of computing that relies on shared computing resources rather than having local
servers or personal devices to handle applications
“Cloud computing is the use of computing resources (hardware and software) that are delivered as a service
over a network (typically the Internet). The name comes from the common use of a cloud-shaped symbol as an
abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts remote
services with a user's data, software and computation.”
Basic Concepts
There are certain services and models working behind the scene making the cloud computing feasible and
accessible to end users. Following are the working models for cloud computing:
Deployment Models
Service Models
(i)Deployment Models:Deployment models define the type of access to the cloud, i.e., how the cloud is located?
Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.
Public Cloud-:The public cloud allows systems and services to be easily accessible to the general public.
Public cloud may be less secure because of its openness.
Private Cloud-:The private cloud allows systems and services to be accessible within an organization. It is
more secured because of its private nature.
Community Cloud-:The community cloud allows systems and services to be accessible by a group of
organizations.
Hybrid Cloud-:The hybrid cloud is a mixture of public and private cloud, in which the critical activities are
performed using private cloud while the non-critical activities are performed using public cloud.
Cloud Computing Technologies
A list of cloud computing technologies are given below -
o Virtualization
o Service-Oriented Architecture (SOA)
o Grid Computing
o Utility Computing
Virtualization-:
Virtualization is the process of creating a virtual environment to run multiple applications and operating
systems on the same server. The virtual environment can be anything, such as a single instance or a combination
of many operating systems, storage devices, network application servers, and other environments.
The concept of Virtualization in cloud computing increases the use of virtual machines. A virtual machine is a
software computer or software program that not only works as a physical computer but can also function as a
physical machine and perform tasks such as running applications or programs as per the user's demand.
Types of Virtualization
A list of types of Virtualization is given below -
i. Hardware virtualization
ii. Server virtualization
iii. Storage virtualization
iv. Operating system virtualization
v. Data Virtualization
Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) allows organizations to access on-demand cloud-based computing
solutions according to the change of business needs. It can work without or with cloud computing. The
advantages of using SOA is that it is easy to maintain, platform independent, and highly scalable.
Service Provider and Service consumer are the two major roles within SOA.
Applications of Service-Oriented Architecture
There are the following applications of Service-Oriented Architecture -
o It is used in the healthcare industry.
o It is used to create many mobile applications and games.
o In the air force, SOA infrastructure is used to deploy situational awareness systems.
The service-oriented architecture is shown below:
Grid Computing
Grid computing is also known as distributed computing. It is a processor architecture that combines various
different computing resources from multiple locations to achieve a common goal. In grid computing, the grid is
connected by parallel nodes to form a computer cluster. These computer clusters are in different sizes and can
run on any operating system.
Grid computing contains the following three types of machines -
1. Control Node: It is a group of server which administrates the whole network.
2. Provider: It is a computer which contributes its resources in the network resource pool.
3. User: It is a computer which uses the resources on the network.
Mainly, grid computing is used in the ATMs, back-end infrastructures, and marketing research.
Utility Computing
Utility computing is the most trending IT service model. It provides on-demand computing resources
(computation, storage, and programming services via API) and infrastructure based on the pay per use method.
It minimizes the associated costs and maximizes the efficient use of resources. The advantage of utility
computing is that it reduced the IT cost, provides greater flexibility, and easier to manage.
Large organizations such as Google and Amazon established their own utility services for computing storage
and application.
Cloud Computing Grid Computing
Cloud Computing follows client-server computing Grid computing follows a distributed computing architecture.
architecture.
Scalability is high. Scalability is normal.
Cloud Computing is more flexible than grid Grid Computing is less flexible than cloud computing.
computing.
Cloud operates as a centralized management Grid operates as a decentralized management system.
system.
In cloud computing, cloud servers are owned by In Grid computing, grids are owned and managed by the
infrastructure providers. organization.
Cloud computing uses services like Iaas, PaaS, and Grid computing uses systems like distributed computing,
SaaS. distributed information, and distributed pervasive.
Cloud Computing is Service-oriented. Grid Computing is Application-oriented.
It is accessible through standard web protocols. It is accessible through grid middleware.
History of Cloud Computing
The concept of Cloud Computing came into existence in the year 1950 with implementation of mainframe
computers, accessible via thin/static clients. Since then, cloud computing has been evolved from static clients
to dynamic ones and from software to services. The following diagram explains the evolution of cloud
computing:
Vision of Cloud Computing :
1. Cloud computing provides the facility to provision virtual hardware, runtime environment and services to a
person having money.
2. These all things can be used as long as they are needed by the user.
3. 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.
4. 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.
5. 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.
6. The existence of such market will enable the automation of discovery process and its integration into its
existing software systems.
7. Due to the existence of a global platform for trading cloud services will also help service providers to
potentially increase their revenue.
8. A cloud provider can also become a consumer of a competition service in order to fulfill its promises to
customers.
9. 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.
10. 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.
11. A cloud provider can also be a buyer of a competitive service to fulfill its promises to customers.
Benefits
Cloud Computing has numerous advantages. Some of them are listed below -
One can access applications as utilities, over the Internet.
One can manipulate and configure the applications online at any time.
It does not require to install a software to access or manipulate cloud application.
Cloud Computing offers online development and deployment tools, programming runtime environment
through PaaS model.
Cloud resources are available over the network in a manner that provide platform independent access to
any type of clients.
Cloud Computing offers on-demand self-service. The resources can be used without interaction with
cloud service provider.
Cloud Computing is highly cost effective because it operates at high efficiency with optimum
utilization. It just requires an Internet connection
Cloud Computing offers load balancing that makes it more reliable.
Risks related to Cloud Computing
Although cloud Computing is a promising innovation with various benefits in the world of computing, it comes
with risks. Some of them are discussed below:
Security and Privacy
It is the biggest concern about cloud computing. Since data management and infrastructure management in
cloud is provided by third-party, it is always a risk to handover the sensitive information to cloud service
providers.
Although the cloud computing vendors ensure highly secured password protected accounts, any sign of securit y
breach may result in loss of customers and businesses.
Lock In
It is very difficult for the customers to switch from one Cloud Service Provider (CSP) to another. It results in
dependency on a particular CSP for service.
Isolation Failure
This risk involves the failure of isolation mechanism that separates storage, memory, and routing between the
different tenants.
Management Interface Compromise
In case of public cloud provider, the customer management interfaces are accessible through the Internet.
Insecure or Incomplete Data Deletion
It is possible that the data requested for deletion may not get deleted. It happens because either of the following
reasons
Extra copies of data are stored but are not available at the time of deletion
Disk that stores data of multiple tenants is destroyed.
Characteristics of Cloud Computing
There are four key characteristics of cloud computing. They are shown in the following diagram:
On Demand Self Service
Cloud Computing allows the users to use web services and resources on demand. One can logon to
a website at any time and use them.
Broad Network Access
Since cloud computing is completely web based, it can be accessed from anywhere and at any time.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share single physical instance of
hardware, database and basic infrastructure.
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of resources means the ability
of resources to deal with increasing or decreasing demand.
The resources being used by customers at any given point of time are automatically monitored.
Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service. Resource optimization,
billing, and capacity planning etc. depend on it.
Before deploying applications to cloud, it is necessary to consider your business requirements. Following are
the issues one must consider:
Data Security and Privacy Requirement
Budget Requirements
Type of cloud - public, private or hybrid
Data backup requirements
Training requirements
Dashboard and reporting requirements
Client access requirements
Data export requirements
To meet all of these requirements, it is necessary to have well-compiled planning. In this tutorial, we will
discuss the various planning phases that must be practised by an enterprise before migrating the entire business
to cloud. Each of these planning phases are described in the following diagram:
Cloud Computing Challenges
Cloud computing, an emergent technology, has placed many challenges in different aspects of data and
information handling. Some of these are shown in the following diagram:
Security and Privacy
Security and Privacy of information is the biggest challenge to cloud computing. Security and privacy issues
can be overcome by employing encryption, security hardware and security applications.
Portability
This is another challenge to cloud computing that applications should easily be migrated from one cloud
provider to another. There must not be vendor lock-in. However, it is not yet made possible because each of the
cloud provider uses different standard languages for their platforms.
Interoperability
It means the application on one platform should be able to incorporate services from the other platforms. It is
made possible via web services, but developing such web services is very complex.
Computing Performance
Data intensive applications on cloud requires high network bandwidth, which results in high cost. Low
bandwidth does not meet the desired computing performance of cloud application.
Reliability and Availability
It is necessary for cloud systems to be reliable and robust because most of the businesses are now becoming
dependent on services provided by third-party.
Cloud Migration Strategies
There are seven cloud migration strategies: rehosting, redeployment, repackaging, refactoring, repurchasing,
retiring, and retaining. These were originally called the “5 Rs” by Gartner, and later expanded to “7 Rs”.
Organizations looking to migrate to the cloud should consider which migration strategy best answers their
needs. The following is a brief description of each:
1. Refactor/Re-architect. Transform an application by altering its architecture and leveraging cloud-
native features to enhance agility, performance, and scalability. This usually involves porting the
operating system and database.
2. Replatform (Lift and Reshape). Transfer an application to the cloud, incorporating some
optimization to benefit from cloud capabilities.
3. Repurchase (Drop and Shop). Transition to another product, often by adopting a SaaS model instead
of a traditional licensing approach.
4. Rehost (Lift and Shift). Migrate an application to the cloud without implementing changes to utilize
cloud features.
5. Relocate (Hypervisor-Level Lift and Shift). Shift infrastructure to the cloud without the need for
new hardware, application rewrites, or adjustments to current operations. Technologies like VMware
Cloud enable this migration approach.
6. Retain (Revisit). Maintain applications in their original environment. This can include applications
that need significant refactoring, which can be deferred to a future time, or legacy applications that
remain in place due to a lack of business justification for migration.
7. Retire. Discontinue or eliminate applications that are no longer required in the source environment.
Ethical issues in cloud computing
Cloud computing is based on a paradigm shift with profound implications on computing ethics. The main
elements of this shift are:
1. the control is relinquished to third party services;
2. the data is stored on multiple sites administered by several organizations; and
3. multiple services interoperate across the network.
Unauthorized access, data corruption, infrastructure failure, or unavailability are some of the risks related to
relinquishing the control to third party services; moreover, it is difficult to identify the source of the problem
and the entity causing it. Systems can span the boundaries of multiple organizations and cross the security
borders, a process called de-parameterization. As a result of de-parameterization “not only the border of the
organizations IT infrastructure blurs, also the border of the accountability becomes less clear”.
The complex structure of cloud services can make it difficult to determine who is responsible in case something
undesirable happens. In a complex chain of events or systems, many entities contribute to an action with
undesirable consequences, some of them have the opportunity to prevent these consequences, and therefore no
one can be held responsible, the so-called “problem of many hands.”
Ubiquitous and unlimited data sharing and storage among organizations test the self-determination of
information, the right or ability of individuals to exercise personal control over the collection, use and
disclosure of their personal data by others; this tests the confidence and trust in today’s evolving information
society. Identity fraud and theft are made possible by the unauthorized access to personal data in circulation and
by new forms of dissemination through social networks and they could also pose a danger to cloud computing.
The question of what can be done proactively about ethics of cloud computing does not have easy answers as
many undesirable phenomena in cloud computing will only appear in time. But the need for rules and
regulations for the governance of cloud computing are obvious. The term governance means the manner in
which something is governed or regulated, the method of management, the system of regulations. Explicit
attention to ethics must be paid by governmental organizations providing research funding; private companies
are less constraint by ethics oversight and governance arrangements are more conducive to profit generation.
Accountability is a necessary ingredient of cloud computing; adequate information about how data is handled
within the cloud and about allocation of responsibility are key elements to enforcing ethics rules in cloud
computing. Recorded evidence allows us to assign responsibility; but there can be tension between privacy and
accountability and it is important to establish what is being recorded, and who has access to the records.
Unwanted dependency on a cloud service provider, the so-called vendor lock-in, is a serious concern and the
current standardization efforts at NIST attempt to address this problem. Another concern for the users is a future
with only a handful of companies which dominate the market and dictate prices and policies
Evaluating the business impact and economics
Evaluating the business impact and economics of cloud computing involves considering various factors that
contribute to its value proposition. Here are key aspects for assessment:
1. Cost Savings:
Capital Expenditure (CapEx) vs. Operating Expenditure (OpEx): Cloud computing often shifts
CapEx to OpEx, reducing upfront investments in physical infrastructure.
Pay-as-You-Go Model: Paying for actual resource usage allows for cost efficiency and scalability.
2. Scalability and Flexibility:
On-Demand Resources: Cloud enables businesses to scale resources up or down based on demand,
providing flexibility and agility.
Global Reach: Cloud services allow businesses to expand globally without extensive physical
infrastructure.
3. Innovation and Speed to Market:
Rapid Deployment: Cloud facilitates quicker application development and deployment, accelerating
time-to-market.
Access to Advanced Technologies: Cloud providers offer a range of services, including AI, ML, and
big data, fostering innovation.
4. Operational Efficiency:
Automation: Cloud platforms automate various tasks, reducing manual intervention and enhancing
operational efficiency.
Focus on Core Competencies: Organizations can concentrate on their core business activities while
offloading infrastructure management to cloud providers.
5. Security and Compliance:
Robust Security Measures: Leading cloud providers invest in advanced security technologies and
compliance frameworks.
Data Encryption and Access Controls: Cloud services provide features to secure data and control
access, addressing security concerns.
6. Disaster Recovery and Business Continuity:
Redundancy and Backup: Cloud services often include built-in redundancy and backup, enhancing
resilience against disasters.
Geographically Distributed Data Centers: Cloud providers may have data centers in multiple
locations, improving business continuity.
7. Total Cost of Ownership (TCO):
Comparative Analysis: Evaluate the overall TCO by considering hardware, software, maintenance, and
operational costs in both cloud and traditional on-premises scenarios.
8. Vendor Lock-In and Interoperability:
Consideration of Vendor Lock-In: Assess the potential challenges of migrating away from a specific
cloud provider.
Interoperability: Ensure compatibility with existing systems and the ability to integrate with other
services.
9. Environmental Impact:
Sustainability Practices: Evaluate a cloud provider's commitment to environmental sustainability,
considering energy-efficient data centers and carbon offset initiatives.
10. Monitoring and Optimization:
Cost Monitoring: Regularly monitor and optimize resource usage to ensure cost-effectiveness.
Usage Analytics: Utilize analytics tools to understand resource consumption patterns and make informed
decisions.
11. User Experience and Collaboration:
Accessibility: Cloud services enable users to access applications and data from anywhere, fostering
collaboration.
User Experience Improvement: Evaluate how cloud solutions enhance user experience and productivity.
12. Regulatory and Legal Considerations:
Compliance: Ensure cloud services comply with industry regulations and legal requirements relevant to the
organization.
Data Residency: Consider data residency requirements and how they align with cloud provider offerings.
13. Training and Skill Development:
Skills Readiness: Assess the organization's readiness and capability to leverage cloud technologies.
Training Opportunities: Explore training programs to upskill employees in cloud-related technologies.
14. Feedback and User Satisfaction:
User Feedback: Gather feedback from end-users regarding their experience with cloud services.
Service Level Agreements (SLAs): Review SLAs to ensure they meet business needs and expectations.
By carefully considering these factors, businesses can conduct a comprehensive evaluation of the impact and
economics of adopting cloud computing. This evaluation is essential for making informed decisions that align
with organizational goals and objectives.
Future of cloud computing-:
As we rapidly approach the end of 2022, it is time to start looking ahead to the future of cloud computing
from 2025 to 2030. Here are some predictions for what we can expect to see in the future of cloud
computing:
1. The continued rise of hybrid and multi-cloud: As businesses become more comfortable with using
multiple cloud providers, we will see a continued increase in the use of hybrid and multi-cloud
strategies. This will allow organizations to more easily take advantage of the best features and services
of each provider.
2. The growth of edge computing: With the continued expansion of the Internet of Things, there will be
an increasing need for processing power at the edge of the network. This will lead to more adoption of
edge computing architectures, which can provide lower latency and higher performance than traditional
centralized cloud models.
3. More AI and machine learning: Cloud providers will continue to invest heavily in artificial
intelligence and machine learning technologies. This will allow them to offer more advanced features
and services, such as automatic scaling and self-healing systems.
4. Greater focus on security: As cloud usage continues to grow, so too will the importance placed on
security. We can expect to see more investment in security technologies, as well as stricter controls on
who has access to data and how it can be used.
5. Continued price wars: With so many providers competing for market share, we can expect to see
continued price wars in the cloud computing space. It will benefit consumers as prices for services
continue to drop.
6. Increased regulation: As cloud services become more ubiquitous, we can expect to see increased
regulation around data privacy, security, and other issues. This will help ensure that users' rights are
protected and that providers are held accountable for their actions.
Network support for cloud computing-:
Network support is a crucial component for the success of cloud computing. It involves the infrastructure, technologies, and services
that facilitate communication, data transfer, and connectivity within and between cloud environments. Here are key elements of network
support for cloud computing:
1. High-Speed and Reliable Internet Connectivity:
Cloud computing relies on internet connectivity for users to access cloud services. High-speed and reliable internet
connections are essential to ensure optimal performance.
2. Virtual Private Networks (VPNs):
VPNs provide secure, encrypted connections over the internet, enabling users to access cloud resources securely. They are
especially important for remote users and organizations with distributed teams.
3. Software-Defined Networking (SDN):
SDN allows for programmable and centralized control of the network, enabling more efficient management of resources,
dynamic allocation, and improved adaptability to changing workloads.
4. Network Function Virtualization (NFV):
NFV virtualizes traditional network functions, such as firewalls and load balancers. This enhances flexibility, scalability, and cost-
effectiveness in deploying and managing network services in the cloud.
5. Load Balancing:
Load balancers distribute incoming network traffic across multiple servers, ensuring efficient utilization of resources, preventing
overload on specific servers, and improving overall system performance.
6. Content Delivery Networks (CDNs):
CDNs optimize content delivery by distributing content across multiple servers located in different geographic locations. This
reduces latency, accelerates content delivery, and enhances the user experience.
7. Security Protocols and Encryption:
Robust security protocols and encryption mechanisms are essential to protect data during transmission over the network. This
is particularly crucial in cloud environments where sensitive information is often processed and stored.
8. Zero Trust Networking:
Zero Trust networking principles involve continuous authentication and verification, ensuring that trust is never assumed, even
within the confines of a corporate network. This approach enhances security in cloud environments.
9. Network Monitoring and Analytics:
Comprehensive monitoring tools provide visibility into network performance, bandwidth usage, and potential issues. Analytics
help in diagnosing problems, optimizing resource allocation, and ensuring compliance with service level agreements.
10. Inter-Cloud Connectivity:
As organizations adopt multi-cloud strategies, network support must facilitate seamless connectivity and data transfer between
different cloud providers. This may involve direct connections or dedicated network links.
11. Hybrid Cloud Networking:
For organizations with hybrid cloud architectures (combining on-premises infrastructure with public and private clouds),
networking solutions must enable smooth integration and communication between different environments.
12. Network Resilience and Redundancy:
Redundant network configurations and failover mechanisms ensure high availability and resilience, minimizing downtime and
ensuring continuous access to cloud resources.
13. Quality of Service (QoS):
QoS mechanisms prioritize network traffic based on specific criteria, ensuring that critical applications receive the necessary
bandwidth and resources for optimal performance.
14. Network Slicing (5G):
With the advent of 5G, network slicing allows the creation of virtualized, isolated network segments tailored to specific
applications or use cases, ensuring optimal performance and efficiency.