Once your organization has determined
that using the cloud is the right solution for them,
the next decision is whether to host it onsite
or to contract it as a hosted solution from a third party.
When hosting a solution onsite,
this is often referred to as on-premise.
While using on-premise solutions
are great from a security standpoint,
they are extremely costly,
and you're going to have to have an entire team of people
working to support those solutions.
Now, if you decide to use an on-premise solution,
that means you're going to need to procure all the hardware,
the software, and all the personnel necessary,
to run your organization's cloud solution.
In addition to this,
you're also going to need to have a facility
for that data center,
which can hold all the equipment
and provide adequate space, power,
and cooling for it to work properly.
Because of this, many organizations instead decide
to use a hosted solution.
With a hosted environment,
a third party service provider
is going to provide you with all the hardware and facilities
needed to maintain your cloud solution.
This is often done in a multi-tenancy environment
with multiple organizations
having their cloud solutions hosted
within a single third party provider's facility.
For example, Amazon, Microsoft, and Google,
all provide hosted solutions for organizations to utilize.
Consider the example of Amazon Web Services, or AWS.
This multi-tenancy solution
utilizes the same physical hardware,
located at the same physical facility,
to support a large number of diverse organizations.
Of course, there are logical separations in place
to keep your data secure,
and from being exposed to other organizations
within the hosted platform.
But if you have information
that you want to remain strictly confidential,
you are much better off using an on-premise solution
where you can control all the physical and logical access
to those servers.
When using a multi-tenancy solution,
residual data from your organization
may be exposed to another tenant,
as the server elasticity expands upward or downward
to provision and deprovision excess server capacity,
since you're utilizing the same shared resources
as everybody else.
If you decide to use a hosting provider,
it's really important to understand
their authentication and authorization mechanisms
to ensure that they have adequate protections in place
to meet your requirements.
Also, you should inquire about the redundancy
and fault tolerance measures
to ensure that they're up to the level
that you're going to require.
Another concern with hosted providers is their location.
Where exactly is your data going to be stored in the world?
Based on that location,
what laws are going to affect your organization and its data?
These are things you have to understand
when choosing a hosted service provider
for your organization.
Now that you've made the decision
on whether or not to use an on-premise
or hosted service provider,
the last decision is going to revolve around
what type of service you want to purchase.
Now, there are three main cloud service models
to choose from.
These are software as a service, or SaaS,
platform as a service, or PaaS,
and infrastructure as a service, or IaaS.
Now under software as a service,
the service provider is going to give your organization
a complete solution.
This includes the hardware,
such as networking, storage,
servers and virtualization,
as well as the operating system,
the middleware, the runtime,
the data processing,
and the application or software
that's needed for the service
to be delivered to your end user.
For example, if your organization is using Office 365
from Microsoft, or Docs and Sheets by Google Workspace,
these are considered a software as a service solution,
and it allows your end users to access their email,
their documents, their spreadsheets,
and more, all directly within their web browser.
Another good example of software as a service
is TurboTax and QuickBooks Online.
These provide tax filing and bookkeeping software
that you can access online using just your web browser,
and they're going to handle all the software,
all the hardware, and all the data storage requirements,
on your behalf.
Sometimes though, you're going to have to build
a customized application or piece of software
to meet your specific service needs.
In this case, you might only need the service provider
to give you the hardware,
including the networking, storage,
servers and virtualization,
as well as the operating system,
middleware, and runtime applications.
But, unlike a software as a service solution,
you're going to be responsible for creating
the actual application code
and handling the data processing
between your client and your servers.
Now, with platform as a service,
you're going to get the benefits of using the cloud,
including shared resources, metered utilization,
rapid elasticity, high availability,
and file synchronization.
But you also have the ability
to customize your own development
to meet your business needs.
Under this model, the third party vendor
is going to provide your organization
with the hardware and operating system software
that's needed for a specific service to operate,
but they're not going to give you the code or the application
that is closest to the end user.
For example, if your company is developing
a new web application,
they might have a development platform
that's provided by a third party cloud provider.
At my company, Dion Training,
as we're filming this,
we're actually in the process
of developing our own learning management system
from the ground up,
but we don't want to have to deal with
all the underlying hardware, networking,
storage, and operating system layers.
So we chose platform as a service
as our solution through Amazon Web Services,
because they're going to handle everything
from the database downward in our tech stack.
And my team and I are only responsible
for the software code that our end users,
our students, are going to interact with,
and then processing the data
as our students go through our courses.
Now, this is platform as a service at work,
because Amazon is giving us the servers,
the operating system configurations,
and even the databases,
and then we're able to build
whatever we want on top of them,
to provide our final application or software
to our end users, which is our students.
The final type of cloud service model we need to cover
is known as IaaS, or infrastructure as a service.
Now, infrastructure as a service
is a means of provisioning IT resources,
such as servers, load balancers,
and storage area network components, when needed.
With infrastructure as a service,
you're going to get the benefits
of dynamic allocation of additional resources,
which is known as elasticity,
but you don't have to deal with the headache
of a long-term commitment
of buying and running all of that hardware yourself.
For example, you might contract for a new
cloud-based web server to host your company's website on.
If you're using Amazon Web Services, or AWS,
we would call this EC2,
which is the elastic cloud compute,
and you're going to be able to select
the right amount of resources for your EC2 instance.
Maybe you decided you wanted four CPUs,
16 gigabytes of memory, 500 gigabytes of storage,
or whatever it is.
Then AWS is going to assign those hardware resources
to you to use,
and you can then install the operating system,
the middleware, and the runtime to that resource.
Now, sometimes the lines can get a bit blurry, though.
According to the official CompTIA textbook
and documentation,
infrastructure as a service is focused on the hardware only,
including the virtual machines, storage,
and networking portions of that hardware.
That being said though, most providers,
like Amazon, Microsoft Azure,
and Google Cloud,
will have you select the operating system
you want to have installed on your compute instance
when you choose what resources you want,
and they're going to assign them to you.
For example, Amazon's EC2 instances
can be spun up automatically
with the Linux Amazon machine image already installed,
and this contains the basic Linux operating system,
ready for you to completely customize to meet your needs.
The reason I bring this up
is because when you're dealing with something
that is mostly hardware,
just because it has the operating system installed,
I would not consider that to be a platform as a service
on the exam, and instead,
you would still choose infrastructure as a service.
Now, to get to the platform as a service level,
it really should include all of the middleware
and the runtime as well.
This includes things like the database functionality,
the web server, such as Apache or Nginx,
and other server software and middleware
that you're going to need to be able to provide those services.
Now for the exam, they're usually going to be pretty clear
when something is infrastructure as a service
or software as a service,
but for platform as a service,
it can be a bit trickier.
So I'm going to give you a little bit of a hint here
that you should use on the exam.
If you see things that are
more than infrastructure as a service,
you probably want to choose platform as a service
as your answer.
If you see things that are less than software as a service,
you would then again choose platform as a service,
because really you have the two ends of the spectrum,
with infrastructure as a service
all the way on the left side,
and software as a service, all the way on the right,
and platform as a service somewhere in the middle.
So in summary, for infrastructure as a service,
remember, it provides you with everything you need
to run a server.
This includes power, space, cooling,
the network, firewalls,
physical servers, the virtualization layer,
and sometimes the operating system.
Now with platform as a service,
we're going to add in the operating system,
and what I like to refer to as the infrastructure software.
Now, this infrastructure software
is really your middleware and runtime environment,
and that means we're talking about things like
an Apache web server, a MySQL database,
programming languages, and things like that.
Now, when we deal with software as a service,
we're dealing with a hosted application piece of software
that's added on top of the infrastructure
and platform portions we just discussed.
So as you can see,
software as a service is much closer to your end user
than either platform as a service
or infrastructure as a service.
So as an IT professional,
it's really important that you're able to determine
which type of "as a service"
is right for your organization,
based on its requirements.
And that's what we covered in this lesson,
talking about software as a service,
platform as a service, and infrastructure as a service.