Instructor: 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-tendency 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 de-provision access 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 are 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-prem 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,
you 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 customized 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 are 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.