CC (Notes)
CC (Notes)
Introduction
Evolution of Cloud Computing
Before emerging the cloud computing, there was Client/Server computing which is
basically a centralized storage in which all the software applications, all the data and all
the controls are resided on the server side.
If a single user wants to access specific data or run a program, he/she need to connect
to the server and then gain appropriate access, and then he/she can do his/her business.
Then after, distributed computing came into picture, where all the computers are
networked together and share their resources when needed.
On the basis of above computing, there was emerged of cloud computing concepts that
later implemented.
At around in 1961, John MacCharty suggested in a speech at MIT that computing can be
sold like a utility, just like a water or electricity. It was a brilliant idea, but like all brilliant
ideas, it was ahead if its time, as for the next few decades, despite interest in the model,
the technology simply was not ready for it.
In 1999, Salesforce.com started delivering of applications to users using a simple website. The
applications were delivered to enterprises over the Internet, and this way the dream of computing
sold as utility were true.
In 2002, Amazon started Amazon Web Services, providing services like storage, computation and
even human intelligence.
In 2009, Google Apps also started to provide cloud computing enterprise applications.
In 2009, Microsoft launched Windows Azure, and companies like Oracle and HP have all
joined the game. This proves that today, cloud computing has become mainstream.
Cloud Computing Architecture
cloud computing technology is used by both small and large organizations to store the
information in cloud and access it from anywhere at anytime using the internet
connection.
o Front End
o Back End
Front End
The front end is used by the client. It contains client-side interfaces and applications that
are required to access the cloud computing platforms. The front end includes web
servers (including Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and
mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that are
required to provide cloud computing services. It includes a huge amount of data
storage, security mechanism, virtual machines, deploying models, servers, traffic control
mechanisms, etc.
Once the data is stored in the cloud, it is easier to get back-up and restore that data
using the cloud.
2) Improved collaboration
3) Excellent accessibility
Cloud allows us to quickly and easily access store information anywhere, anytime in the
whole world, using an internet connection. An internet cloud infrastructure increases
organization productivity and efficiency by ensuring that our data is always accessible.
Cloud computing reduces both hardware and software maintenance costs for
organizations.
5) Mobility
Cloud computing allows us to easily access all cloud data via mobile.
Cloud computing offers Application Programming Interfaces (APIs) to the users for
access services on the cloud and pays the charges as per the usage of service.
Cloud offers us a huge amount of storing capacity for storing our important data such
as documents, images, audio, video, etc. in one place.
8) Data security
Data security is one of the biggest advantages of cloud computing. Cloud offers many
advanced features related to security and ensures that data is securely stored and
handled.
Disadvantages of Cloud Computing
A list of the disadvantage of cloud computing is given below -
1) Internet Connectivity
As you know, in cloud computing, every data (image, audio, video, etc.) is stored on the
cloud, and we access these data through the cloud by using the internet connection. If
you do not have good internet connectivity, you cannot access these data. However, we
have no any other way to access data from the cloud.
2) Vendor lock-in
Vendor lock-in is the biggest disadvantage of cloud computing. Organizations may face
problems when transferring their services from one vendor to another. As different
vendors provide different platforms, that can cause difficulty moving from one cloud to
another.
3) Limited Control
4) Security
Although cloud service providers implement the best security standards to store
important information. But, before adopting cloud technology, you should be aware
that you will be sending all your organization's sensitive information to a third party, i.e.,
a cloud computing service provider. While sending the data on the cloud, there may be
a chance that your organization's information is hacked by Hackers.
But, there may be an alternative for executives like you. So, instead of installing a suite
of software for each computer, you just need to load one application. That application
will allow the employees to log-in into a Web-based service which hosts all the
programs for the user that is required for his/her job. Remote servers owned by another
company and that will run everything from e-mail to word processing to complex data
analysis programs. It is called cloud computing, and it could change the entire computer
industry.
In a cloud computing system, there is a significant workload shift. Local computers have
no longer to do all the heavy lifting when it comes to run applications. But cloud
computing can handle that much heavy load easily and automatically. Hardware and
software demands on the user's side decrease. The only thing the user's computer
requires to be able to run is the cloud computing interface software of the system,
which can be as simple as a Web browser and the cloud's network takes care of the rest.
Cloud Computing Applications
Cloud service providers provide various applications in the field of art, business, data
storage and backup services, education, entertainment, management, social networking,
etc.
The most widely used cloud computing applications are given below -
1. Art Applications
Cloud computing offers various art applications for quickly and easily design attractive
cards, booklets, and images. Some most commonly used cloud art applications are
given below:
3.3M
448
Moo is one of the best cloud art applications. It is used for designing and printing
business cards, postcards, and mini cards.
ii. Vistaprint
Vistaprint allows us to easily design various printed marketing products such as business
cards, Postcards, Booklets, and wedding invitations cards.
Adobe creative cloud is made for designers, artists, filmmakers, and other creative
professionals. It is a suite of apps which includes PhotoShop image editing
programming, Illustrator, InDesign, TypeKit, Dreamweaver, XD, and Audition.
2. Business Applications
Business applications are based on cloud service providers. Today, every organization
requires the cloud business application to grow their business. It also ensures that
business applications are 24*7 available to users.
i. MailChimp
iii. Salesforce
Salesforce platform provides tools for sales, service, marketing, e-commerce, and more.
It also provides a cloud development platform.
iv. Chatter
Chatter helps us to share important information about the organization in real time.
v. Bitrix24
Paypal offers the simplest and easiest online payment mode using a secure internet
account. Paypal accepts the payment through debit cards, credit cards, and also from
Paypal account holders.
vii. Slack
Slack stands for Searchable Log of all Conversation and Knowledge. It provides
a user-friendly interface that helps us to create public and private channels for
communication.
viii. Quickbooks
A list of data storage and backup applications in the cloud are given below -
i. Box.com
ii. Mozy
Mozy provides powerful online backup solutions for our personal and business data. It
schedules automatically back up for each day at a specific time.
iii. Joukuu
Joukuu provides the simplest way to share and track cloud-based backup files. Many
users use joukuu to search files, folders, and collaborate on documents.
Google G Suite is one of the best cloud storage and backup application. It includes
Google Calendar, Docs, Forms, Google+, Hangouts, as well as cloud storage and tools
for managing cloud apps. The most popular app in the Google G Suite is Gmail. Gmail
offers free email services to users.
4. Education Applications
Cloud computing in the education sector becomes very popular. It offers various online
distance learning platforms and student information portals to the students. The
advantage of using cloud in the field of education is that it offers strong virtual
classroom environments, Ease of accessibility, secure data storage, scalability, greater
reach for the students, and minimal hardware requirements for the applications.
Google Apps for Education is the most widely used platform for free web-based email,
calendar, documents, and collaborative study.
It allows educators to quickly implement the latest technology solutions into the
classroom and make it available to their students.
5. Entertainment Applications
Entertainment industries use a multi-cloud strategy to interact with the target
audience. Cloud computing offers various entertainment applications such as online
games and video conferencing.
i. Online games
Today, cloud gaming becomes one of the most important entertainment media. It offers
various online games that run remotely from the cloud. The best cloud gaming services
are Shaow, GeForce Now, Vortex, Project xCloud, and PlayStation Now.
Video conferencing apps provides a simple and instant connected experience. It allows
us to communicate with our business partners, friends, and relatives using a cloud-
based video conferencing. The benefits of using video conferencing are that it reduces
cost, increases efficiency, and removes interoperability.
6. Management Applications
Cloud computing offers various cloud management tools which help admins to manage
all types of cloud activities, such as resource deployment, data integration, and disaster
recovery. These management tools also provide administrative control over the
platforms, applications, and infrastructure.
i. Toggl
Toggl helps users to track allocated time period for a particular project.
ii. Evernote
Evernote allows you to sync and save your recorded notes, typed notes, and other notes
in one convenient place. It is available for both free as well as a paid version.
It uses platforms like Windows, macOS, Android, iOS, Browser, and Unix.
iii. Outright
Outright is used by management users for the purpose of accounts. It helps to track
income, expenses, profits, and losses in real-time environment.
iv. GoToMeeting
GoToMeeting provides Video Conferencing and online meeting apps, which allows
you to start a meeting with your business partners from anytime, anywhere using
mobile phones or tablets. Using GoToMeeting app, you can perform the tasks related to
the management such as join meetings in seconds, view presentations on the shared
screen, get alerts for upcoming meetings, etc.
7. Social Applications
Social cloud applications allow a large number of users to connect with each other using
social networking applications such as Facebook, Twitter, Linkedln, etc.
i. Facebook
Facebook is a social networking website which allows active users to share files,
photos, videos, status, more to their friends, relatives, and business partners using the
cloud storage system. On Facebook, we will always get notifications when our friends
like and comment on the posts.
ii. Twitter
iii. Yammer
Yammer is the best team collaboration tool that allows a team of employees to chat,
share images, documents, and videos.
iv. LinkedIn
Some most common Security Risks of Cloud Computing are given below-
Data Loss
Data loss is the most common cloud security risks of cloud computing. It is also known
as data leakage. Data loss is the process in which data is being deleted, corrupted, and
unreadable by a user, software, or application. In a cloud computing environment, data
loss occurs when our sensitive data is somebody else's hands, one or more data
elements can not be utilized by the data owner, hard disk is not working properly, and
software is not updated.
Data Breach
Data Breach is the process in which the confidential data is viewed, accessed, or stolen
by the third party without any authorization, so organization's data is hacked by the
hackers.
Vendor lock-in
Vendor lock-in is the of the biggest security risks in cloud computing. Organizations
may face problems when transferring their services from one vendor to another. As
different vendors provide different platforms, that can cause difficulty moving one cloud
to another.
Account hijacking
Account hijacking is a serious security risk in cloud computing. It is the process in which
individual user's or organization's cloud account (bank account, e-mail account, and
social media account) is stolen by hackers. The hackers use the stolen account to
perform unauthorized activities.
Chapter 2
Characteristics of IaaS
There are the following characteristics of IaaS -
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Characteristics of PaaS
There are the following characteristics of PaaS -
Characteristics of SaaS
There are the following characteristics of SaaS -
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.
In traditional hosting services, IT infrastructure was rented out for a specific period of
time, with pre-determined hardware configuration. The client paid for the configuration
and time, regardless of the actual use. With the help of the IaaS cloud computing
platform layer, clients can dynamically scale the configuration to meet changing
requirements and are billed only for the services actually used.
IaaS cloud computing platform layer eliminates the need for every organization to
maintain the IT infrastructure.
IaaS is offered in three models: public, private, and hybrid cloud. The private cloud
implies that the infrastructure resides at the customer-premise. In the case of public
cloud, it is located at the cloud computing platform vendor's data center, and the hybrid
cloud is a combination of the two in which the customer selects the best of both public
cloud or private cloud.
1. Compute: Computing as a Service includes virtual central processing units and virtual
main memory for the Vms that is provisioned to the end- users.
2. Storage: IaaS provider provides back-end storage for storing files.
3. Network: Network as a Service (NaaS) provides networking components such as routers,
switches, and bridges for the Vms.
4. Load balancers: It provides load balancing capability at the infrastructure layer.
Advantages of IaaS cloud computing layer
There are the following advantages of IaaS computing layer -
1. Shared infrastructure
3. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use basis. The users are
required to pay for what they have used.
IaaS providers focus on the organization's core business rather than on IT infrastructure.
5. On-demand scalability
On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not
worry about to upgrade software and troubleshoot the issues related to hardware
components.
Security is one of the biggest issues in IaaS. Most of the IaaS providers are not able to
provide 100% security.
Although IaaS service providers maintain the software, but they do not upgrade the
software for some organizations.
3. Interoperability issues
It is difficult to migrate VM from one IaaS provider to the other, so the customers might
face problem related to vendor lock-in.
IaaS cloud computing platform may not eliminate the need for an in-house IT
department. It will be needed to monitor or control the IaaS setup. IT salary expenditure
might not reduce significantly, but other IT expenses can be reduced.
Breakdowns at the IaaS cloud computing platform vendor's can bring your business to
the halt stage. Assess the IaaS cloud computing platform vendor's stability and finances.
Make sure that SLAs (i.e., Service Level Agreement) provide backups for data, hardware,
network, and application failures. Image portability and third-party support is a plus
point.
The IaaS cloud computing platform vendor can get access to your sensitive data. So,
engage with credible companies or organizations. Study their security policies and
precautions.
Top Iaas Providers who are providing IaaS cloud computing
platform
Amazon Web Elastic, Elastic Compute The cloud computing platform pioneer,
Services Cloud (EC2) Amazon offers auto scaling, cloud
MapReduce, Route 53, monitoring, and load balancing features
Virtual Private Cloud, as part of its portfolio.
etc.
1. Programming languages
PaaS providers provide various programming languages for the developers to develop
the applications. Some popular programming languages provided by PaaS providers are
Java, PHP, Ruby, Perl, and Go.
2. Application frameworks
PaaS providers provide application frameworks to easily understand the application
development. Some popular application frameworks provided by PaaS providers are
Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend.
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and
Redis to communicate with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy
the applications.
Advantages of PaaS
There are the following advantages of PaaS -
1) Simplified Development
2) Lower risk
No need for up-front investment in hardware and software. Developers only need a PC
and an internet connection to start building applications.
Some PaaS vendors also provide already defined business functionality so that users can
avoid building everything from very scratch and hence can directly start the projects
only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can get the
ideas to share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes to
the applications.
One has to write the applications according to the platform provided by the PaaS
vendor, so the migration of an application to another PaaS vendor would be a problem.
2) Data Privacy
Corporate data, whether it can be critical or not, will be private, so if it is not located
within the walls of the company, there can be a risk in terms of privacy of data.
It may happen that some applications are local, and some are in the cloud. So there will
be chances of increased complexity when we want to use data which in the cloud with
the local data.
Providers Services
Google App Engine App Identity, URL Fetch, Cloud storage client library, Logservice
(GAE)
Business Services - SaaS Provider provides various business services to start-up the
business. The SaaS business services include ERP (Enterprise Resource
Planning), CRM (Customer Relationship Management), billing, and sales.
Social Networks - As we all know, social networking sites are used by the general
public, so social networking service providers use SaaS for their convenience and handle
the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail
services, many e-mail providers offering their services using SaaS.
Advantages of SaaS cloud computing layer
1) SaaS is easy to buy
Unlike traditional software, which is sold as a licensed based with an up-front cost (and
often an optional ongoing support fee), SaaS providers are generally pricing the
applications using a subscription fee, most commonly a monthly or annually fee.
2. One to Many
SaaS services are offered as a one-to-many model means a single instance of the
application is shared by multiple users.
Software as a service removes the need for installation, set-up, and daily maintenance
for the organizations. The initial set-up cost for SaaS is typically less than the enterprise
software. SaaS vendors are pricing their applications based on some usage parameters,
such as a number of users using the application. So SaaS does easy to monitor and
automatic updates.
All users will have the same version of the software and typically access it through the
web browser. SaaS reduces IT support costs by outsourcing hardware and software
maintenance and support to the IaaS provider.
6. Multidevice support
SaaS services can be accessed from any device such as desktops, laptops, tablets,
phones, and thin clients.
7. API Integration
SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation
SaaS services are accessed directly from the service provider using the internet
connection, so do not need to require any software installation.
Actually, data is stored in the cloud, so security may be an issue for some users.
However, cloud computing is not more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-
user, there is a possibility that there may be greater latency when interacting with the
application compared to local deployment. Therefore, the SaaS model is not suitable for
applications whose demand response time is in milliseconds.
3) Total Dependency on Internet
Switching SaaS vendors involves the difficult and slow task of transferring the very large
data files over the internet and then converting and importing them into another SaaS
also.
The below table shows some popular SaaS providers and services that are provided by
them –
Provider Services
Though the answer to which cloud model is an ideal fit for a business depends on your
organization's computing and business needs. Choosing the right one from the various
types of cloud service deployment models is essential. It would ensure your business is
equipped with the performance, scalability, privacy, security, compliance & cost-
effectiveness it requires. It is important to learn and explore what different deployment
types can offer - around what particular problems it can solve.
Read on as we cover the various cloud computing deployment and service models to
help discover the best choice for your business.
3.1M
381
Difference between JDK, JRE, and JVM
Public Cloud
The name says it all. It is accessible to the public. Public deployment models in the cloud
are perfect for organizations with growing and fluctuating demands. It also makes a
great choice for companies with low-security concerns. Thus, you pay a cloud service
provider for networking services, compute virtualization & storage available on the
public internet. It is also a great delivery model for the teams with development and
testing. Its configuration and deployment are quick and easy, making it an ideal choice
for test environments.
o Data Security and Privacy Concerns - Since it is accessible to all, it does not fully
protect against cyber-attacks and could lead to vulnerabilities.
o Reliability Issues - Since the same server network is open to a wide range of
users, it can lead to malfunction and outages
o Service/License Limitation - While there are many resources you can exchange
with tenants, there is a usage cap.
Private Cloud
Now that you understand what the public cloud could offer you, of course, you are keen
to know what a private cloud can do. Companies that look for cost efficiency and
greater control over data & resources will find the private cloud a more suitable choice.
It means that it will be integrated with your data center and managed by your IT team.
Alternatively, you can also choose to host it externally. The private cloud offers bigger
opportunities that help meet specific organizations' requirements when it comes to
customization. It's also a wise choice for mission-critical processes that may have
frequently changing requirements.
o Data Privacy - It is ideal for storing corporate data where only authorized
personnel gets access
o Security - Segmentation of resources within the same Infrastructure can help with
better access and higher levels of security.
o Supports Legacy Systems - This model supports legacy systems that cannot
access the public cloud.
Limitations of Private Cloud
o Higher Cost - With the benefits you get, the investment will also be larger than
the public cloud. Here, you will pay for software, hardware, and resources for staff
and training.
o Fixed Scalability - The hardware you choose will accordingly help you scale in a
certain direction
o High Maintenance - Since it is managed in-house, the maintenance costs also
increase.
Community Cloud
The community cloud operates in a way that is similar to the public cloud. There's just
one difference - it allows access to only a specific set of users who share common
objectives and use cases. This type of deployment model of cloud computing is
managed and hosted internally or by a third-party vendor. However, you can also
choose a combination of all three.
o Smaller Investment - A community cloud is much cheaper than the private &
public cloud and provides great performance
o Setup Benefits - The protocols and configuration of a community cloud must
align with industry standards, allowing customers to work much more efficiently.
Hybrid Cloud
As the name suggests, a hybrid cloud is a combination of two or more cloud
architectures. While each model in the hybrid cloud functions differently, it is all part of
the same architecture. Further, as part of this deployment of the cloud computing
model, the internal or external providers can offer resources.
Let's understand the hybrid model better. A company with critical data will prefer
storing on a private cloud, while less sensitive data can be stored on a public cloud. The
hybrid cloud is also frequently used for 'cloud bursting'. It means, supposes an
organization runs an application on-premises, but due to heavy load, it can burst into
the public cloud.
Benefits of Hybrid Cloud
o Cost-Effectiveness - The overall cost of a hybrid solution decreases since it
majorly uses the public cloud to store data.
o Security - Since data is properly segmented, the chances of data theft from
attackers are significantly reduced.
o Flexibility - With higher levels of flexibility, businesses can create custom
solutions that fit their exact requirements
o Ease of Use - How savvy and trained are your resources? Do you have the time
and the money to put them through training?
o Cost - How much are you willing to spend on a deployment model? How much
can you pay upfront on subscription, maintenance, updates, and more?
o Scalability - What is your current activity status? Does your system run into high
demand?
o Compliance - Are there any specific laws or regulations in your country that can
impact the implementation? What are the industry standards that you must
adhere to?
o Privacy - Have you set strict privacy rules for the data you gather?
Each cloud deployment model has a unique offering and can immensely add value to
your business. For small to medium-sized businesses, a public cloud is an ideal model to
start with. And as your requirements change, you can switch over to a different
deployment model. An effective strategy can be designed depending on your needs
using the cloud mentioned above deployment models.
The Infrastructure as a Service (IAAS) means the hiring & utilizing of the Physical
Infrastructure of IT (network, storage, and servers) from a third-party provider. The IT
resources are hosted on external servers, and users can access them via an internet
connection.
The Benefits
For Who?
This cloud computing service model is ideal for large accounts, enterprises, or
organizations to build and manage their own IT platforms. However, they want the
flexibility to amend their Infrastructure according to their needs.
The Benefits
o Focus on development: Mastering the installation and development of software
applications.
o Time saving and flexibility: no need to manage the implementation of the
platform, instant production.
o Data security: You control the distribution, protection, and backup of your
business data.
For Who?
It is ideal for companies wanting to maintain control over their business applications.
However, they wish to get rid of constraints to manage the hardware infrastructure and
software environment.
The Benefits
o You are entirely free from the infrastructure management and aligning software
environment: no installation or software maintenance.
o You benefit from automatic updates with the guarantee that all users have the
same software version.
o It enables easy and quicker testing of new software solutions.
For Who?
SAAS model accounts for 60% of sales of cloud solutions. Hence, it is applicable and
preferred by most companies.
Chapter 3
Service Level Agreements are based on the usage model. Frequently, cloud
providers charge their pay-as-per-use resources at a premium and deploy
standards Service Level Agreements only for that purpose. Clients can also
subscribe at different levels that guarantees access to a particular amount of
purchased resources. The Service Level Agreements (SLAs) attached to a
subscription many times offer various terms and conditions. If client requires
access to a particular level of resources, then the client need to subscribe to a
service. A usage model may not deliver that level of access under peak load
condition.
SLA Lifecycle
Steps in SLA Lifecycle
Advantages of SLA
Disadvantages of SLA
1. Complexity: SLAs can be complex to create and maintain, and may require
significant resources to implement and enforce.
2. Rigidity: SLAs can be rigid and may not be flexible enough to accommodate
changing business needs or service requirements.
3. Limited service options: SLAs can limit the service options available to the
customer, as the service provider may only be able to offer the specific
services outlined in the agreement.
4. Misaligned incentives: SLAs may misalign incentives between the
service provider and the customer, as the provider may focus on meeting
the agreed-upon service levels rather than on providing the best service
possible.
5. Limited liability: SLAs are not legal binding contracts and often limited
the liability of the service provider in case of service failure.
Chapter 4
Virtualization Concepts
Overviews of Virtualization
Virtualization is the "creation of a virtual (rather than actual) version of something, such
as a server, a desktop, a storage device, an operating system or network resources".
The machine on which the virtual machine is going to create is known as Host
Machine and that virtual machine is referred as a Guest Machine
Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and
other hardware resources.
Hardware virtualization is mainly done for the server platforms, because controlling
virtual machines is much easier than controlling a physical server.
Usage:
Operating System Virtualization is mainly used for testing the applications on different
platforms of OS.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly
installed on the Server system is known as server virtualization.
Usage:
Server virtualization is done because a single physical server can be divided into multiple
servers on the demand basis and for balancing the load.
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple
network storage devices so that it looks like a single storage device.
Usage:
The main usage of Virtualization Technology is to provide the applications with the
standard versions to their cloud users, suppose if the next version of that application is
released, then cloud provider has to provide the latest version to their cloud users and
practically it is possible because it is more expensive.
Conclusion
Mainly Virtualization means, running multiple operating systems on a single machine
but sharing all the hardware resources. And it helps us to provide the pool of IT
resources so that we can share these IT resources in order get benefits in the business.
Cloud Hypervisor
The key is to enable hypervisor virtualization. In its simplest form, a hypervisor is
specialized firmware or software, or both, installed on a single hardware that will allow
you to host multiple virtual machines. This allows physical hardware to be shared across
multiple virtual machines. The computer on which the hypervisor runs one or more
virtual machines is called the host machine.
Virtual machines are called guest machines. The hypervisor allows the physical host
machine to run various guest machines. It helps to get maximum benefit from
computing resources such as memory, network bandwidth and CPU cycles.
Advantages of Hypervisor
Although virtual machines operate on the same physical hardware, they are isolated
from each other. It also denotes that if one virtual machine undergoes a crash, error, or
malware attack, it does not affect other virtual machines.
2.5M
308
Exception Handling in Java - Javatpoint
Another advantage is that virtual machines are very mobile because they do not depend
on the underlying hardware. Since they are not connected to physical hardware,
switching between local or remote virtualized servers becomes much easier than with
traditional applications.
Type I Hypervisor
A Type I hypervisor operates directly on the host's hardware to monitor the hardware
and guest virtual machines, and is referred to as bare metal. Typically, they do not
require the installation of software ahead of time.
Instead, you can install it directly on the hardware. This type of hypervisor is powerful
and requires a lot of expertise to function well. In addition, Type I hypervisors are more
complex and have few hardware requirements to run adequately. Because of this it is
mostly chosen by IT operations and data center computing.
Examples of Type I hypervisors include Oracle VM Server for Xen, SPARC, Oracle VM
Server for x86, Microsoft Hyper-V, and VMware's ESX/ESXi.
Type II Hypervisor
It is also called a hosted hypervisor because it is installed on an existing operating
system, and they are not more capable of running more complex virtual tasks. People
use it for basic development, testing and simulation.
If a security flaw is found inside the host OS, it can potentially compromise all running
virtual machines. This is why Type II hypervisors cannot be used for data center
computing, and they are designed for end-user systems where security is less of a
concern. For example, developers can use a Type II hypervisor to launch virtual machines
to test software products prior to their release.
Cloud computing uses it the most as it allows multiple guest operating systems (also
known as virtual machines or VMs) to run simultaneously on a single host system.
Administrators can use the resources efficiently by dividing computing resources (RAM,
CPU, etc.) between multiple VMs.
The mid-2000s saw another significant leap forward as Unix, Linux and others
experimented with virtualization. With advances in processing power, companies built
powerful machines capable of handling multiple workloads. In 2005, CPU vendors began
offering hardware virtualization for their x86-based products, making hypervisors
mainstream.
Therefore, even when one VM crashes, others can continue to work without affecting
performance. This allows administrators to move VMs between servers, which is a useful
capability for workload balancing. Teams seamlessly migrate VMs from one machine to
another, and they can use this feature for fail-overs. In addition, a hypervisor is useful for
running and testing programs in different operating systems.
However, the most important use of hypervisors is consolidating servers on the cloud,
and data centers require server consolidation to reduce server sprawl. Virtualization
practices and hypervisors have become popular because they are highly effective in
solving the problem of underutilized servers.
In addition, VMs may still require IT support related to provisioning, de-provisioning and
auditing as per individual security and compliance mandates. Troubleshooting often
involves skimming through multiple product support pages. As organizations grow, the
lack of access to proper documentation and technical support can make the
implementation and management of hypervisors difficult. Eventually, controlling virtual
machine spread becomes a significant challenge.
Different groups within an organization often deploy the same workload to different
clouds, increasing inefficiency and complicating data management. IT administrators
must employ virtualization management tools to address the above challenges and
manage their resources efficiently.
Virtualization management tools provide a holistic view of the availability of all VMs,
their states (running, stopped, etc.), and host servers. These tools also help in
performing basic maintenance, provisioning, de-provisioning and migration of VMs.
Cloud Security
Security In Cloud Computing : Cloud computing which is one of the most
demanding technology of the current time, starting from small to large
organizations have started using cloud computing services. Where there are
different types of cloud deployment models are available and cloud services are
provided as per requirement like that internally and externally security is
maintained to keep the cloud system safe. Cloud computing security or cloud
security is an important concern which refers to the act of protecting cloud
environments, data, information and applications against unauthorized access,
DDOS attacks, malwares, hackers and other similar attacks. Community Cloud
: These allow to a limited set of organizations or employees to access a shared
cloud computing service environment.
Planning of security in Cloud Computing :
As security is a major concern in cloud implementation, so an organization have
to plan for security based on some factors like below represents the three main
factors
on which planning of cloud security depends.
Resources that can be moved to the cloud and test its sensitivity risk are
picked.
The type of cloud is to be considered.
The risk in the deployment of the cloud depends on the types of cloud and
service models.
Types of Cloud Computing Security Controls :
There are 4 types of cloud computing security controls i.e.
1. Deterrent Controls : Deterrent controls are designed to block nefarious
attacks on a cloud system. These come in handy when there are insider
attackers.
2. Preventive Controls : Preventive controls make the system resilient to
attacks by eliminating vulnerabilities in it.
3. Detective Controls : It identifies and reacts to security threats and control.
Some examples of detective control software are Intrusion detection
software and network security monitoring tools.
Cloud computing is a widely well-discussed topic today with interest from all
fields, be it research, academia, or the IT industry. It has seen suddenly
started to be a hot topic in international conferences and other opportunities
throughout the whole world. The spike in job opportunities is attributed to
huge amounts of data being processed and stored on the servers. The cloud
paradigm revolves around convenience and easy the provision of a huge
pool of shared computing resources.
The rapid development of the cloud has led to more flexibility, cost-
cutting, and scalability of products but also faces an enormous amount of
privacy and security challenges. Since it is a relatively new concept and is
evolving day by day, there are undiscovered security issues that creep up
and need to be taken care of as soon as discovered. Here we discuss the
top 7 privacy challenges encountered in cloud computing:
1.Data Confidentiality Issues
Data loss or data theft is one of the major security challenges that the cloud
providers face. If a cloud vendor has reported data loss or data theft of critical
or sensitive material data in the past, more than sixty percent of the users would
decline to use the cloud services provided by the vendor. Outages of the cloud
services are very frequently visible even from firms such as Dropbox, Microsoft,
Amazon, etc., which in turn results in an absence of trust in these services
during a critical time. Also, it is quite easy for an attacker to gain access to
multiple storage units even if a single one is compromised.
5. Transparency Issues
7. Managerial Issues
There are not only technical aspects of cloud privacy challenges but also non-
technical and managerial ones. Even on implementing a technical solution to a
problem or a product and not managing it properly is eventually bound to
introduce
vulnerabilities. Some examples are lack of control, security and privacy
management for virtualization, developing comprehensive service level
agreements, going through cloud service vendors and user negotiations, etc.
Chapter 6
Cloud Storage
Cloud Storage enables organizations to store, access, and maintain data so that they do
not need to own and operate their own data centers, moving expenses from a capital
expenditure model to operational. Cloud Storage is scalable, allowing organizations to
expand or reduce their data footprint depending on need.
Google Cloud provides a variety of scalable options for organizations to store their
data in the cloud.
How does Cloud Storage work?
Cloud Storage uses remote servers to save data, such as files, business data, videos, or
images. Users upload data to servers via an internet connection, where it is saved on a
virtual machine on a physical server. To maintain availability and provide
redundancy, cloud providers will often spread data to multiple virtual machines in
data centers located across the world. If storage needs increase, the cloud provider
will spin up more virtual machines to handle the load. Users can access data in Cloud
Storage through an internet connection and software such as web portal, browser, or
mobile app via an application programming interface (API).
Public
Public Cloud Storage is a model where an organization stores data in a service
provider’s data centers that are also utilized by other companies. Data in public Cloud
Storage is spread across multiple regions and is often offered on a subscription or pay-
as-you-go basis. Public Cloud Storage is considered to be “elastic” which means that
the data stored can be scaled up or down depending on the needs of the organization.
Public cloud providers typically make data available from any device such as a
smartphone or web portal.
Private
Private Cloud Storage is a model where an organization utilizes its own servers and
data centers to store data within their own network. Alternatively, organizations can
deal with cloud service providers to provide dedicated servers and private connections
that are not shared by any other organization. Private clouds are typically utilized by
organizations that require more control over their data and have stringent compliance
and security requirements.
Hybrid
A hybrid cloud model is a mix of private and public cloud storage models. A hybrid
cloud storage model allows organizations to decide which data it wants to store in
which cloud. Sensitive data and data that must meet strict compliance requirements
may be stored in a private cloud while less sensitive data is stored in the public cloud.
A hybrid cloud storage model typically has a layer of orchestration to integrate
between the two clouds. A hybrid cloud offers flexibility and allows organizations to
still scale up with the public cloud if need arises.
Multicloud
A multicloud storage model is when an organization sets up more than one cloud
model from more than one cloud service provider (public or private). Organizations
might choose a multicloud model if one cloud vendor offers certain proprietary apps,
an organization requires data to be stored in a specific country, various teams are
trained on different clouds, or the organization needs to serve different requirements
that are not stated in the servicers’ Service Level Agreements. A multicloud model
offers organizations flexibility and redundancy.
Elasticity
Cloud Storage is elastic and scalable, meaning that it can be scaled up (more storage
added) or down (less storage needed) depending on the organization’s needs.
Flexibility
Cloud Storage offers organizations flexibility on how to store and access data, deploy
and budget resources, and architect their IT infrastructure.
Security
Most cloud providers offer robust security, including physical security at data centers
and cutting edge security at the software and application levels. The best cloud
providers offer zero trust architecture, identity and access management,
and encryption.
Sustainability
One of the greatest costs when operating on-premises data centers is the overhead of
energy consumption. The best cloud providers operate on sustainable energy through
renewable resources.
Redundancy
Certain industries such as finance and healthcare have stringent requirements about
how data is stored and accessed. Some public cloud providers offer tools to maintain
compliance with applicable rules and regulations.
Latency
Traffic to and from the cloud can be delayed because of network traffic congestion or
slow internet connections.
Control
Storing data in public clouds relinquishes some control over access and management
of that data, entrusting that the cloud service provider will always be able to make that
data available and maintain its systems and security.
Outages
SAN
SAN is an abbreviation of the Storage Area Network. Storage Area Network is a
dedicated, specialized, and high-speed network which provides block-level data storage.
It delivers the shared pool of storage devices to more than one server.
The main aim of SAN is to transfer the data between the server and storage device. It
also allows for transferring the data between the storage systems.
Storage Area networks are mainly used for accessing storage devices such as tape
libraries and disk-based devices from the servers.
It is a dedicated network which is not accessible through the LAN. It consists of hosts,
switches, and storage devices which are interconnected using the topologies, protocols,
and technologies.
Protocols of SAN
Following are the most common protocols of SAN (Storage Area Network):
ISCSI
It stands for Internet SCSI or Internet Small Computer System Interface. It is the second-
largest block or SAN protocol. It puts the SCSI commands inside an ethernet frame and
then transports them over an Internet protocol (IP) ethernet.
FCoE
FCoE stands for "Fibre Channel Over Internet". It is a protocol which is similar to the
iSCSI. It puts the Fibre channel inside the ethernet datagram and then transports over an
IP Ethernet network.
NVMe
NVMe stands for Non-Volatile Memory Express. It is also a protocol of SAN, which
access the flash storage by the PCI Express bus.
1. SAN stands for Storage Area Network. 1. NAS is an abbreviation of Network Attached Storage.
2. It uses the fibre channel for connecting the 2. It is a hardware device which attaches to LAN through an
several data storage devices. ethernet connection.
5. In this, data is identified by the disk block. 5. In NAS (Network Attached Storage), both file name and
byte offset are used for identifying the data.
6. Storage Area Network is more complex than 6. Network Attached Storage is less complex than the
the Network Attached Storage. Storage Area Network.
7. It is more costly than the Network Attached 7. Its cost is less than the SAN.
Storage.
8. It depends on the Local Area Network and 8. It does not depend on the Local Area Network but uses
requires the TCP/IP network. the high-speed fibre channel network.
9. ISCSI, FCoE, FCP, and Fc-NVMe are the 9. AFP, NFS, and SMB are the protocols used in NAS.
protocols used in SAN.
10. In SAN, block by block technique is used for 10. Files in NAS are used for backup and recovery.
backup and recovery.
11. It works easily with the virtualization 11. NAS is a file storage device that does not work with the
technique. virtualization technique.
12. The file system is managed and controlled 12. The file system is managed by the head unit in NAS.
by the servers in SAN.
SAN DAS
1. SAN is a short form of Storage Area 1. DAS is a short form of Direct Attached
Network. Storage.
2. It uses block by block copying 2. It uses sectors for backup and recovery.
technique for backup and recovery.
3. This storage Device is complex than 3. This storage device is simple, not
the DAS device. complex.
5. The cost of this storage device is 5. Its cost is low as compared to SAN.
higher than the DAS device.
6. The capacity of SAN is more than the 7. The capacity of DAS is only 109 bytes.
1012 bytes.
7. This storage device allows users to 7. This storage device does not allow users
share the files on different OS. to share the files on different OS.
8. It uses Internet Protocol and Fibre 8. It uses IDE/SCSI for the transmission of
Channel for transmission of data. data.
Advantages of SAN
Following are the advantages or benefits of a Storage Area Network (SAN):
o It is more scalable.
o Security is also a main advantage of SAN. If users want to secure their data, then SAN is a
good option to use. Users can easily implement various security measures on SAN.
o Storage devices can be easily added or removed from the network. If users need more
storage, then they simply add the devices.
o The cost of this storage network is low as compared to others.
o Another big advantage of using the SAN (Storage Area Network) is better disk utilization.
Ch7 Scheduling in Cloud Computing
Tasks scheduling algorithms are defined as the mechanism used to select the resources
to execute tasks to get less waiting and execution time.
In the cloud computing environment there are two levels of scheduling algorithms:
First level: in host level where a set of policies to distribute VMs in host.
Second level: in VM level where a set of policies to distribute tasks to VM.
Tasks scheduling algorithms are defined as a set of rules and policies used to assign
tasks to the suitable resources (CPU, memory, and bandwidth) to get the highest level
possible of performance and resources utilization.
Immediate scheduling: when new tasks arrive, they are scheduled to VMs
directly.
Batch scheduling: tasks are grouped into a batch before being sent; this type is
also called mapping events.
Static scheduling: is considered very simple compared to dynamic scheduling;
it is based on prior information of the global state of the system. It does not
take into account the current state of VMs and then divides all traffic
equivalently among all VMs in a similar manner such as round robin (RR) and
random scheduling algorithms.
Dynamic scheduling: takes into account the current state of VMs and does not
require prior information of the global state of the system and distribute the
tasks according to the capacity of all available VMs [4, 5, 6].
Preemptive scheduling: each task is interrupted during execution and can be
moved to another resource to complete execution [6].
The task scheduling system in cloud computing passes through three levels [7].
The first task level: is a set of tasks (Cloudlets) that is sent by cloud users,
which are required for execution.
The second scheduling level: is responsible for mapping tasks to suitable
resources to get highest resource utilization with minimum makespan. The
makespan is the overall completion time for all tasks from the beginning to the
end [7].
The third VMs level: is a set of (VMs) which are used to execute the tasks as
in Figure 2.
The first step is discovering and filtering all the VMs that are presented in the
system and collecting status information related to them by using a datacenter
broker [8].
In the second step a suitable VM is selected based on task properties [8].
3.1 FCFS
FCFS: the order of tasks in task list is based on their arriving time then assigned to
VMs [3].
3.1.1 Advantages
3.1.3 Assumptions
Some of the assumptions must be taken into account when scheduling tasks to VMs in
the cloud computing environment.
Number of tasks should be more than the number of VMs, which means that
each VM must execute more than one task.
Each task is assigned to only one VM resource.
Lengths of tasks varying from small, medium, and large.
Tasks are not interrupted once their executions start.
VMs are independent in terms of resources and control.
The available VMs are of exclusive usage and cannot be shared among
different tasks. It means that the VMs cannot consider other tasks until the
completion of the current tasks is in progress [3].