You are on page 1of 15

Cs paper 3 notes

Cloud delivery models:


Infrastructure as a service (IaaS)

Infrastructure As A Service (IAAS) is means of delivering computing


infrastructure as on-demand services. It is one of the three fundamental
cloud service models. The user purchases servers, software data center
space, or network equipment and rent those resources through a fully
outsourced, on-demand service model. It allows dynamic scaling and the
resources are distributed as a service. It generally includes multiple-user on
a single piece of hardware. 
It totally depends upon the customer to choose its resources wisely and as
per need. Also, it provides billing management too.
Advantages of IaaS
 The resources can be deployed by the provider to a customer’s
environment at any given time.
 Its ability to offer the users to scale the business based on their
requirements.
 The provider has various options when deploying resources
including virtual machines, applications, storage, and networks.
 It has the potential to handle an immense number of users.
 It is easy to expand and saves a lot of money. Companies can
afford the huge costs associated with the implementation of
advanced technologies.
 Cloud provides the architecture.
 Enhanced scalability and quite flexible.
 Dynamic workloads are supported.
Disadvantages of IaaS
 Security issues are there.
 Service and Network delays are quite a issue in IaaS.

Platform as a service (PaaS)


Platform As A Service (PAAS) is a cloud delivery model for applications
composed of services managed by a third party. It provides elastic scaling of
your application which allows developers to build applications and services
over the internet and the deployment models include public, private and
hybrid. 
Basically, it is a service where a third-party provider provides both software
and hardware tools to the cloud computing. The tools which are provided are
used by developers. PAAS is also known as Application PAAS. It helps us to
organize and maintain useful applications and services. It has a well-
equipped management system and is less expensive compared to IAAS.
Advantages of PaaS –
Programmers need not worry about what specific database or

language the application has been programmed in.
 It offers developers the to build applications without the overhead of
the underlying operating system or infrastructure.
 Provides the freedom to developers to focus on the application’s
design while the platform takes care of the language and the
database.
 It is flexible and portable.
 It is quite affordable.
 It manages application development phases in the cloud very
efficiently.
Disadvantages of PaaS
 Data is not secure and is at big risk.
 As data is stored both in local storage and cloud, there are high
chances of data mismatch while integrating the data.

Software as a service (SaaS)


Software As A Service (SAAS) allows users to run existing online
applications and it is a model software that is deployed as a hosting service
and is accessed over Output Rephrased/Re-written Text the internet or
software delivery model during which software and its associated data are
hosted centrally and accessed using their client, usually an online browser
over the web. SAAS services are used for the development and deployment
of modern applications. 
It allows software and its functions to be accessed from anywhere with good
internet connection device and a browser. An application is hosted centrally
and also provides access to multiple users across various locations via the
internet.
Advantages of SaaS
 It is a cloud computing service category providing a wide range of
hosted capabilities and services. These can be used to build and
deploy web-based software applications.
 It provides a lower cost of ownership than on-premises software.
The reason is it does not require the purchase or installation of
hardware or licenses.
 It can be easily accessed through a browser along a thin client.
 No cost is required for initial setup.
 Low maintenance costs.
 Installation time is less, so time is managed properly.
Disadvantages of SaaS
 Low performance.
 It has limited customization options.
 It has security and data concerns.
Cloud deployment models
Public cloud deployment
The public cloud makes it possible for anybody to access systems and
services. The public cloud may be less secure as it is open to everyone. The
public cloud is one in which cloud infrastructure services are provided over
the internet to the general people or major industry groups. The
infrastructure in this cloud model is owned by the entity that delivers the
cloud services, not by the consumer. It is a type of cloud hosting that allows
customers and users to easily access systems and services. This form of
cloud computing is an excellent example of cloud hosting, in which service
providers supply services to a variety of customers. In this arrangement,
storage backup and retrieval services are given for free, as a subscription, or
on a per-user basis. Example: Google App Engine etc.

Benefits of Public Cloud Deployments 

 Easy to manage. The great thing about having a managed service is that there is
very little for you and your team to do on the maintenance front. The setup is taken
care of and there is no need to develop your own tools as this is also accounted for.

 Cost. The way services are billed means that you don't pay for items that you don't
use. You can pay more when you need more resources, and then scale back when
that levels out again.

 Performance and reliability. Up time is the main concern that most businesses
have. If your systems are down then your business suffers. Many of these cloud
providers offer exceptional up time and service availability.

Disadvantages of Public Cloud Deployments

 Less control. You are not in control of the systems that host your business
applications. In the unlikely event that a public cloud platform fails, you do not
have access to ensure continuity as would be the case with a traditional server
room or data center environment.

 Privacy and security. Segmentation needs to be carried out to the highest


standard to ensure that there is no cross contamination between clients that are
using the same hardware on a public cloud.

 Simple Environments. Most organizations have specific requirements for tailor-


made services. Many cloud platforms offer only simple functionality with little to
no customization opportunities.

Private cloud deployment


The private cloud deployment model is the exact opposite of the public cloud
deployment model. It’s a one-on-one environment for a single user
(customer). There is no need to share your hardware with anyone else. The
distinction between private and public clouds is in how you handle all of the
hardware. It is also called the “internal cloud” & it refers to the ability to
access systems and services within a given border or organization. The
cloud platform is implemented in a cloud-based secure environment that is
protected by powerful firewalls and under the supervision of an
organization’s IT department. The private cloud gives greater flexibility of
control over cloud resources.

Benefits of Private Cloud Deployments

 Increased control. Less people will have access to the administration and
configuration of the back end infrastructure that powers your private cloud, which
gives you more control.

 Customization. If there is a business case for a new feature, you can have it
developed and deployed in house, giving you more options than a publicly
available cloud.

 Highly secure. You can incorporate as many security services as you want in order
to secure your cloud. Two-Factor Authentication is far more secure when
combined with security best practices such as complex passwords and mandatory
password changes.

Disadvantages of Private Cloud Deployments

 Learning curve. To take advantage of being able to customize your private cloud,
you need the right technical skills. Developers, cyber security experts, and DevOps
professionals are all roles that you need to fill in order to effectively develop a
solution on your private cloud.

 Cost. All but the largest companies in the world can afford to set up their own
private cloud infrastructure. The hardware costs alone are prohibitively expensive
for most companies. There's also the costs of keeping skilled staff and other
infrastructure costs. This is a cloud deployment method that is aimed at large
organizations and not SMBs.

Community Cloud Deployment


A community cloud is basically a multi-tenant hosting platform that usually
involves similar industries and complimentary businesses with shared goals all
using the same hardware. By sharing the infrastructure between multiple
companies, community cloud installations are able to save their members
money. Data is still segmented and kept private, except in areas where shared
access is agreed upon and configured.

Benefits of Community Cloud Deployments

 Cost Savings. As we touched on before, the main benefit of using this kind of setup
is that there are cost savings. This is because all of the users that access the
community cloud will share the costs to create an equitable experience.

 Security between tenants. If the security policies are aligned and if everyone
follows the same standards then the community cloud model is very secure.

 Enhanced collaboration. When there is a shared goal then having everyone on the


same platform creates more opportunities to work together towards the same
objectives.

Disadvantages of Community Cloud Deployments

 Technical requirements. A community cloud has to agree upon a set of standards


and then coordinate across that cloud. This means that each stakeholder must
have their own technical resources available to enforce the policies.

 Data isolation. Security and segmentation is difficult to maintain.

 Rarity. This model is not widely used, yet, so there are not too many resources
available for people to learn from or well known examples.

Hybrid Cloud Deployment


Benefits of Hybrid Cloud Deployments

 Flexibility. One of the best features of this cloud type is that it is very flexible. You
can pick the best parts of each cloud type and integrate it into your solution.
 Scalability. You are not limited to any one platform, or its limitations. This means
that you can scale with the demand of your users.

Disadvantages of Hybrid Cloud Deployments

Cost. If you are using a hybrid cloud, you can fall into the trap of spending too much.
Hybrid clouds are not inherently more expensive than any of the other types that we have
looked at. But there is certainly a risk of spending too much if you are not careful about
selecting the right services.

Data silos. If you are using a combination of public and private services, you have to make
sure that all of your data has been properly separated. This can increase the security,
compliance and auditing requirements of your business.
Machine Learning Paradigms
 Supervised Learning
It is defined by its use of labelled datasets to train algorithms that to classify data or predict
outcomes accurately.

Supervised learning, as the name indicates, has the presence of a


supervisor as a teacher. Basically supervised learning is when we teach or
train the machine using data that is well labelled. Which means some data is
already tagged with the correct answer. After that, the machine is provided
with a new set of examples(data) so that the supervised learning algorithm
analyses the training data(set of training examples) and produces a correct
outcome from labelled data.

Supervised learning is classified into two categories of algorithms: 


 Classification: A classification problem is when the output variable
is a category, such as “Red” or “blue” , “disease” or “no disease”.
 Regression: A regression problem is when the output variable is a
real value, such as “dollars” or “weight”.

Advantages:-
 Supervised learning allows collecting data and produces data
output from previous experiences.
 Helps to optimize performance criteria with the help of experience.
 Supervised machine learning helps to solve various types of real-
world computation problems.
Disadvantages:-
 Classifying big data can be challenging.
 Training for supervised learning needs a lot of computation time.
So, it requires a lot of time.
Unsupervised Learning
Unsupervised learning, also known as unsupervised machine learning, uses machine learning
algorithms to analyze and cluster unlabeled datasets. These algorithms discover hidden
patterns or data groupings without the need for human intervention.

Unsupervised learning is the training of a machine using information that is


neither classified nor labelled and allowing the algorithm to act on that
information without guidance. Here the task of the machine is to group
unsorted information according to similarities, patterns, and differences
without any prior training of data. 
Unsupervised learning is classified into two categories of algorithms: 
 Clustering: A clustering problem is where you want to discover the
inherent groupings in the data, such as grouping customers by
purchasing behavior.
 Association: An association rule learning problem is where you
want to discover rules that describe large portions of your data,
such as people that buy X also tend to buy 
Reinforcement Learning
Reinforcement Learning is a feedback-based Machine learning technique in
which an agent learns to behave in an environment by performing the actions
and seeing the results of actions. For each good action, the agent gets
positive feedback, and for each bad action, the agent gets negative feedback
or penalty.

In Reinforcement Learning, the agent learns automatically using feedbacks


without any labeled data, unlike supervised learning.

 Reinforcement learning is similar to supervised learning, except that the


model receives its rewards in real-time.

 The algorithm is given a goal as well as a range of actions the program to


achieve that goal.

 Every action is given a score, given on how close it comes to achieving the
goal of the algorithm. This is dictated by a mathematical function and pushes
the algorithm to try different approaches until the maximum score is
achieved.
Collaborative filtering
In Collaborative Filtering, we tend to find similar users and recommend what
similar users like. In this type of recommendation system, we don’t use the
features of the item to recommend it, rather we classify the users into the
clusters of similar types, and recommend each user according to the
preference of its cluster. 

User-Based Collaborative Filtering is a technique used to predict the items


that a user might like on the basis of ratings given to that item by other users
who have similar taste with that of the target user. Many websites use
collaborative filtering for building their recommendation system.

Item based Collaborative Filtering- Here, we explore the relationship


between the pair of items (the user who bought Y, also bought Z). We find
the missing rating with the help of the ratings given to the other items by the
user.

Advantages

>No domain knowledge necessary


We don't need domain knowledge because the embeddings are automatically
learned.

>serendipity
The model can help users discover new interests. In isolation, the ML system may
not know the user is interested in a given item, but the model might still recommend
it because similar users are interested in that item.

>Great starting point


To some extent, the system needs only the feedback matrix to train a matrix
factorization model. In particular, the system doesn't need contextual features. In
practice, this can be used as one of multiple candidate generators.

Disadvantages

>Cannot handle fresh items


The prediction of the model for a given (user, item) pair is the dot product of
the corresponding embeddings. So, if an item is not seen during training, the
system can't create an embedding for it and can't query the model with this
item. This issue is often called the cold-start problem.

>Hard to include side features or query


Side features are any features beyond the query or item ID. For movie
recommendations, the side features might include country or age. Including
available side features improves the quality of the model. Although it may not be
easy to include side features in WALS, a generalization of WALS makes this possible.

difference between content-based filtering and Item-based collaborative filtering

In simple terms Item Based collaboration deals with the other user actions on the item
you are looking at or buying. This type of filtering happens generally simultaneously and
the attributes of the product doesn't have the importance in recommending . For ex- I
am buying a ceiling Fan and then the system starts recommending me to buy a light
(this is because many people who buy ceiling fans are also buying lights and not because
light and ceiling fan are related , this information is generally extracted from the
transcript of users )

Whereas when we talk about content based filtering , generally the pre-defined
attributes of the products are matched and similar products will be recommended . For
Ex- When a user buys a Cannon D450 Camera the system starts recommending lenses,
other similar model camera (These recommendations are based on the fact that only
those products related to the main item in some attributes like model or compatible lens
etc . , and also these details about the product are taken from the stored data)
Content-based filtering

Content-based Filtering is a Machine Learning technique that uses similarities in features to


make decisions. This technique is often used in recommender systems, which are algorithms
designed to advertise or recommend things to users based on knowledge accumulated
about the user.

This method revolves completely around comparing user interests to product features. The
products that have the most overlapping features with user interests are what’s
recommended.

Pros and Cons

This model is easily scalable due to low amounts of data. Moreover, since,
unlike other models, this does not need to compare with other users’ data,
it can offer niche results specific to the current user.

However, this model requires a fair amount of domain knowledge from the
people attributing features to products. So, its accuracy is largely dependent
on that knowledge being accurate. Moreover, content-based filtering
depends greatly on previously known user interests. Therefore, it is limited
in that it’s unable to expand on known user interests.
Cost function

F-measure
Hyperparameter
K-nearest neighbour (k-NN) algorithm

Matrix factorization
Mean absolute error (MAE)

Overfitting
Popularity bias
Precision
Recall
Reinforcement learning
Right to anonymity
Right to privacy
Root-mean-square error (RMSE)

Stochastic gradient descent

Behavioural data
Training data

You might also like