Unit 5 Updates Notes
Unit 5 Updates Notes
Cloud computing is the delivery of different services through the Internet. These
resources include tools and applications like data storage, servers, databases,
networking, and software.
Rather than keeping files on a proprietary hard drive or local storage device, cloud-
based storage makes it possible to save them to a remote database. As long as an
electronic device has access to the web, it has access to the data and the software
programs to run it.
Cloud computing is a popular option for people and businesses for a number of
reasons including cost savings, increased productivity, speed and efficiency,
performance, and security.
Cloud computing is the on-demand delivery of IT resources over the Internet with
pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data
centers and servers, you can access technology services, such as computing power,
storage, and databases, on an as-needed basis from a cloud provider like Amazon
Web Services (AWS).
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 as needed 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.
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.
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.
Public Cloud
Private Cloud
Hybrid Cloud
Community Cloud
Multi cloud
Community
Factors Public Cloud Private Cloud Cloud Hybrid Cloud
Scalability
and High High Fixed High
Flexibility
Data
Low High High High
Security
Characteristics of IaaS
Characteristics of PaaS
Advantages of PaaS
• PaaS is simple and very much convenient for the user as it can be accessed
via a web browser.
• PaaS has the capabilities to efficiently manage the lifecycle.
Disadvantages of PaaS
• PaaS has limited control over infrastructure as they have less control over
the environment and are not able to make some customizations.
• PaaS has a high dependence on the provider.
Characteristics of SaaS
Advantages of SaaS
• SaaS can access app data from anywhere on the Internet.
• SaaS provides easy access to features and services.
Disadvantages of SaaS
• SaaS solutions have limited customization, which means they have some
restrictions within the platform.
• SaaS has little control over the data of the user.
• SaaS are generally cloud-based, they require a stable internet connection
for proper working.
It provides a virtual data It provides virtual platforms It provides web software and
center to store information and tools to create, test, and apps to complete business
and create platforms for app deploy apps. tasks.
development, testing, and
deployment.
It provides access to It provides runtime It provides software as a
resources such as virtual environments and deployment service to the end-users.
machines, virtual storage, tools for applications.
etc.
Challenges of Cloud
2. Cost Management
Even as almost all cloud service providers have a “Pay As You Go” model, which
reduces the overall cost of the resources being used, there are times when there are
huge costs incurred to the enterprise using cloud computing. When there is under
optimization of the resources, let’s say that the servers are not being used to their
full potential, add up to the hidden costs. If there is a degraded application
performance or sudden spikes or overages in the usage, it adds up to the overall
cost. Unused resources are one of the other main reasons why the costs go up. If
you turn on the services or an instance of cloud and forget to turn it off during the
weekend or when there is no current use of it, it will increase the cost without even
using the resources.
3. Multi-Cloud Environments
Due to an increase in the options available to the companies, enterprises not only
use a single cloud but depend on multiple cloud service providers. Most of these
companies use hybrid cloud tactics and close to 84% are dependent on multiple
clouds. This often ends up being hindered and difficult to manage for the
infrastructure team. The process most of the time ends up being highly complex
for the IT team due to the differences between multiple cloud providers.
4. Performance Challenges
When an organization uses a specific cloud service provider and wants to switch
to another cloud-based solution, it often turns up to be a tedious procedure since
applications written for one cloud with the application stack are required to be re-
written for the other cloud. There is a lack of flexibility from switching from one
cloud to another due to the complexities involved. Handling data movement,
setting up the security from scratch and network also add up to the issues
encountered when changing cloud solutions, thereby reducing flexibility.
Since cloud computing deals with provisioning resources in real-time, it deals with
enormous amounts of data transfer to and from the servers. This is only made
possible due to the availability of the high-speed network. Although these data and
resources are exchanged over the network, this can prove to be highly vulnerable
in case of limited bandwidth or cases when there is a sudden outage. Even when
the enterprises can cut their hardware costs, they need to ensure that the internet
bandwidth is high as well there are zero network outages, or else it can result in a
potential business loss. It is therefore a major challenge for smaller enterprises that
have to maintain network bandwidth that comes with a high cost.
Due to the complex nature and the high demand for research working with the
cloud often ends up being a highly tedious task. It requires immense knowledge
and wide expertise on the subject. Although there are a lot of professionals in the
field they need to constantly update themselves. Cloud computing is a highly paid
job due to the extensive gap between demand and supply. There are a lot of
vacancies but very few talented cloud engineers, developers, and professionals.
Therefore, there is a need for upskilling so these professionals can actively
understand, manage and develop cloud-based applications with minimum issues
and maximum reliability.
Virtualization
Virtualization is a technique how to separate a service from the underlying
physical delivery of that service. It is the process of creating a virtual version of
something like computer hardware. It was initially developed during the mainframe
era. It involves using specialized software to create a virtual or software-created
version of a computing resource rather than the actual version of the same resource.
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.
In other words, one of the main cost-effective, hardware-reducing, and energy-
saving techniques used by cloud providers is Virtualization. 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.
The term virtualization is often synonymous with hardware virtualization, which
plays a fundamental role in efficiently delivering Infrastructure-as-a-Service (IaaS)
solutions for cloud computing. Moreover, virtualization technologies provide a
virtual environment for not only executing applications but also for storage,
memory, and networking.
Types of Virtualization
Levels of virtualization
1) Instruction Set Architecture Level (ISA)
ISA virtualization can work through ISA emulation. This is used to run many legacy
codes written for a different hardware configuration. These codes run on any virtual
machine using the ISA. With this, a binary code that originally needed some
additional layers to run is now capable of running on the x86 machines. It can also
be tweaked to run on the x64 machine. With ISA, it is possible to make the virtual
machine hardware agnostic.
For the basic emulation, an interpreter is needed, which interprets the source code
and then converts it into a hardware format that can be read. This then allows
processing. This is one of the five implementation levels of virtualization in Cloud
Computing..
True to its name HAL lets the virtualization perform at the level of the hardware.
This makes use of a hypervisor which is used for functioning. The virtual machine
is formed at this level, which manages the hardware using the virtualization process.
It allows the virtualization of each of the hardware components, which could be the
input-output device, the memory, the processor, etc.
Multiple users will not be able to use the same hardware and also use multiple
virtualization instances at the very same time. This is mostly used in the cloud-based
infrastructure.
At the level of the operating system, the virtualization model is capable of creating
a layer that is abstract between the operating system and the application. This is an
isolated container on the operating system and the physical server, which uses the
software and hardware. Each of these then functions in the form of a server.
When there are several users and no one wants to share the hardware, then this is
where the virtualization level is used. Every user will get his virtual environment
using a dedicated virtual hardware resource. In this way, there is no question of any
conflict.
4) Library Level
The operating system is cumbersome, and this is when the applications use the API
from the libraries at a user level. These APIs are documented well, and this is why
the library virtualization level is preferred in these scenarios. API hooks make it
possible as it controls the link of communication from the application to the system.
5) Application Level
It lets the high-level language programs compiled to be used at the application level
of the virtual machine run seamlessly.
Load balancing
Disadvantages:
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.
It is totally different from what you have read above in Cloud Elasticity. Scalability
is used to fulfill the static needs while elasticity is used to fulfill the dynamic need
of the organization. Scalability is a similar kind of service provided by the cloud
where the customers have to pay-per-use. So, in conclusion, we can say that
Scalability is useful where the workload remains high and increases statically.
Difference Between Cloud Elasticity and Scalability:
Cloud Replication refers to the process of replicating data from on-premises storage
to the cloud, or from one cloud instance to another. Traditional data replication
involves replicating data across different physical servers on the company’s local
network
Cloud monitoring
Cloud monitoring is a method of reviewing, observing, and managing the
operational workflow in a cloud-based IT infrastructure. Manual or automated
management techniques confirm the availability and performance of websites,
servers, applications, and other cloud infrastructure. This continuous evaluation of
resource levels, server response times, and speed predicts possible vulnerability to
future issues before they arise.
Types of cloud monitoring
The cloud has numerous moving components, and for top performance, it’s critical
to safeguard that everything comes together seamlessly. This need has led to a
variety of monitoring techniques to fit the type of outcome that a user wants. The
main types of cloud monitoring are:
Database monitoring
• Because most cloud applications rely on databases, this technique reviews
processes, queries, availability, and consumption of cloud database resources.
This technique can also track queries and data integrity, monitoring
connections to show real-time usage data. For security purposes, access
requests can be tracked as well. For example, an uptime detector can alert if
there’s database instability and can help improve resolution response time
from the precise moment that a database goes down.
Website monitoring
• A website is a set of files that is stored locally, which, in turn, sends those files
to other computers over a network. This monitoring technique tracks
processes, traffic, availability, and resource utilization of cloud-hosted sites.
Virtual network monitoring
• This monitoring type creates software versions of network technology such as
firewalls, routers, and load balancers. Because they’re designed with software,
these integrated tools can give you a wealth of data about their operation. If
one virtual router is endlessly overcome with traffic, for example, the network
adjusts to compensate. Therefore, instead of swapping hardware,
virtualization infrastructure quickly adjusts to optimize the flow of data.
Cloud storage monitoring
• This technique tracks multiple analytics simultaneously, monitoring storage
resources and processes that are provisioned to virtual machines, services,
databases, and applications. This technique is often used to host
infrastructure-as-a-service (IaaS) and software-as-a-service (SaaS) solutions.
For these applications, you can configure monitoring to track performance
metrics, processes, users, databases, and available storage. It provides data to
help you focus on useful features or to fix bugs that disrupt functionality.
Virtual machine monitoring
• This technique is a simulation of a computer within a computer; that is,
virtualization infrastructure and virtual machines. It’s usually scaled out in
IaaS as a virtual server that hosts several virtual desktops. A monitoring
application can track the users, traffic, and status of each machine. You get
the benefits of traditional IT infrastructure monitoring with the added benefit
of cloud monitoring solutions.
Compute Service
Compute as a Service (CaaS) is a consumption-based (pay-per-use) infrastructure
model that provides on-demand processing resources for general and specific
workloads. CaaS lets enterprises simplify and scale compute operations to eliminate
overprovisioning and add flexibility for new or unexpected demands.
CaaS is a cloud-based solution that relies on virtual and physical processing power.
Physical processing takes place in private, on-premises servers, while virtual
processing occurs in the cloud. Compute resources can include general, high-speed
graphics processing (GPU) for machine learning and artificial intelligence or high-
performance computing (HPC) for raw processing power. The exact infrastructure
configuration will vary from enterprise to enterprise, depending on their precise
needs, and this infrastructure can scale up or down over time. Providers may offer
this service as a flat-rate subscription or on a fluid consumption-based model so
customers are charged only for the compute they use.
Storage as a Service (STaaS) is the practice of using public cloud storage resources
to store your data. Using STaaS is more cost efficient than building private storage
infrastructure, especially when you can match data types to cloud storage offerings.
• Block storage breaks data into segmented pieces and distributes them to the
storage environment wherever it is most efficient for the platform to do so.
This simulates the same functionality as writing data to a standard hard disk
drive or solid-state drive. Data remains available for quick access, but it is
also costly to maintain and works best for warm or hot data storage.
• File storage lists data in a navigable hierarchy, usually a file directory. This
is most like the file storage system that you would find on a PC or in cloud
storage apps like Microsoft OneDrive. Because it is designed for humans to
navigate, file storage is ideal anytime you need to collaborate on a project with
other people or businesses. Whether the data is hot or cold doesn’t matter as
much. However, file storage does not scale well. The more files you add, the
more complex the system becomes and the more difficult it is to navigate.
• Object-based storage organizes data by adding meta information to it,
making it easy to recognize and retrieve at any time. This type of cloud storage
scales up in the most cost-efficient manner, because you can keep adding to
it. It is typically the least expensive type of STaaS and best suited for massive
amounts of cold media or data files.
Application Services
• Cloud App Services are a wide range of specific application services for
applications deployed in cloud-based resources. Services such as load
balancing, application firewalling and service discovery can be achieved for
applications running in private, public, hybrid or multi-cloud environments.