we often make generic references to the
cloud but in reality there are many
different ways to configure your
cloud-based applications in this video
we'll look at some of these cloud models
one type of cloud model is
infrastructure as a service or IaaS you
may see this sometimes referred to as
hardware as a service or H AAS this is a
cloud model that provides you with all
of the hardware that you might need to
run your applications but you're still
responsible for installing those
applications perhaps even installing the
operating system that's going to run on
those computers and you also are in
charge of managing all of that software
and the data although the data is in the
cloud you're the one who's responsible
for the security and the maintenance of
all of that information
one common implementation of
infrastructure as a service is a web
hosting provider you purchase the
hardware from that web hosting provider
but you're responsible for installing
the web hosting software and maintaining
all of your websites
another popular cloud model is software
as a service or SAS software as a
service is sometimes referred to as
on-demand software you log in to a
website and you immediately have access
to this software for example a
third-party SAS provider might provide
you with email distribution or maybe all
of your payroll services are done by
logging in to software as a service
provided by a third party and they
handle all of the rest of the payroll
process with software as a service the
application and the data are all
maintained by the third party provider
this cloud-based provider is going to be
responsible for the maintenance of the
application for keeping all of your data
safe and everything else associated with
that application this is usually a
complete offering there's no development
work that you would have to do you
simply log into the service and it's
available to you
one common software as a service is
Google Mail you log into the Google Mail
front-end and all of the mail services
are available to you you don't have to
provide any programming or any
maintenance of that data Google handles
everything from their end with software
as a service a good middle ground
between infrastructure as a service and
software as a service is platform as a
service
or paas with platform-as-a-service
you're in charge of building your own
application but you don't have to worry
about any other aspect of the
infrastructure you don't worry about the
servers or the software or the data
center you can concentrate on building
the application and have the platform as
a service provider handle every other
part this means that all of your
applications are in the cloud you don't
control the people managing those
applications you don't control the
hardware you're only responsible for
putting together the development process
for the application we often think a
platform as a service as a series of
building blocks instead of you building
an entire application from the ground up
platform as a service it gives you all
of the modules that you need to put
together to build your own application a
good example of this is the platform as
a service offerings available through
salesforce.com salesforce.com is a very
popular software as a service offering
but they realized they could break that
software as a service offering into
different modules and allow you to put
the modules together in a way that makes
sense for your business and so they not
only provide their software as a service
offering but they also provide a
platform as a service offering that
gives you complete customization of your
application there are different
deployment models for cloud based
services one is that you have all of
your own components and you build your
own private cloud you would own all of
the hardware in your own data center and
all of your cloud based services will be
virtualized in an environment that you
control a public cloud deployment model
is one that's available to anybody on
the Internet if you're using Amazon Web
Services or Microsoft Azure then you're
using a public cloud based service if
you're combining these models together
you might have some part of your cloud
based services running in a private data
center and other aspects of your cloud
based service running in a public
providers cloud in those scenarios you
would have a hybrid cloud if you'd like
to share the cost and resources
associated with the cloud you may want
to get a group of organizations together
to share that cost that model is a
community deployment model where many
organizations can create a much larger
cloud and then
share those resources between the
members of the community the cost of
deployment of using an internal cloud or
an external cloud are quite different
with an internal cloud all of the
resources that you're using are yours
and yours alone you're not sharing those
resources with anyone else you also have
to build your own cloud which means you
have to pay for everything up front you
have to purchase all of the hardware and
all of the networking structure in order
to build out that cloud once you
purchase the hardware there's no ongoing
costs except for those associated with
power and maintaining cooling in the
data center with an external cloud
you're sharing resources with everyone
else who's on that public cloud but you
don't have to purchase any of this
hardware there's no large upfront cost
required in order to use the resources
on an external cloud there is of course
a cost to use the cloud and those costs
may be metered where you pay a certain
amount per hour or there may be a large
upfront cost that you use to be able to
take advantage of that external cloud
with metered cloud services there can be
a cost for almost anything you would do
on that service if you upload a file
there's a cost if you download a file
there's a cost associated with that if
you store the file on that cloud service
there's another cost associated with
that so depending on how your
application works you may want to look
to see what type of metered costs will
be associated with using that
application in the cloud with non
metered services you're generally paying
a flat cost over a certain amount of
time so you might have a flat cost to
store files in the cloud and you can
upload or download that file as many
times as you'd like and you pay a flat
fee once we have an application running
in the cloud there are a number of
unique characteristics that we can then
associate with that application for
example if we have an application that
has a lot more use at the end of the
month than the beginning of the month we
can change the number of resources
available for our users for example we
may have an application that is very
busy at the end of the month but is not
very busy at the beginning of the month
so we might want to allocate more
resources available to that application
as the end of the month is approaching
this is called rapid elasticity where we
can
scale up or scale down the application
resources as needed this is all done
behind the scenes and it's invisible to
the end-users all they know is the
application works for them whether it's
the beginning of the month or the end of
the month
another unique characteristic of these
cloud-based services is the ability to
spin up a new server whenever you might
need it this is called on-demand
self-service we can add a new server a
new network or new application by
clicking a few buttons we don't have to
purchase a new server or install it into
the rack instead we can spin up a
virtual system in a matter of seconds
this allows instant resource
provisioning somebody needs to have some
services available we can configure our
cloud-based services to make those
services available in just a few moments
one challenge of deploying applications
is you have to wait for hardware or
software or the network to be available
but with a cloud-based service we have
on-demand self-service we can click a
few buttons and create a new server a
new network or new application from
these resources available in the cloud
this is a process that is near
instantaneous so we can click a few
buttons and have a brand new application
deployed to our users very very quickly
cloud based services also allow us to
take advantage of resource pooling
instead of purchasing many small servers
and having some of those servers sit
idle we can instead purchase a very
large piece of hardware and then
virtualize all those servers inside of
that large hardware that way we're able
to take advantage of idle times with one
server by using those resources with
another server cloud based services also
allow us to measure every aspect of that
application we can see the bandwidth sit
in and out of the application we know
exactly the storage that's being used
for that application we can measure how
many people are using that application
and then we can build based on all of
those different metrics so if you wanted
to know exactly how much it was going to
cost to be able to run a particular
application you can measure every aspect
of it and have a very good idea of how
much that application will cost
you