Hi, I'm Tessa Rodes and I'm a designer on IBM Cloud
and today we're going to talk about Platform as a Service (PaaS),
and it's hard to define Platform as a Service without talking about its neighbors,
Infrastructure as a Service (IaaS),
and Software as a Service (SaaS).
So, let's start with the foundation here with IaaS.
IaaS is a set of compute, networking,
and storage resources that have been virtualized by a vendor
so that a user can access and configure them any way they want.
In design we have a concept of talking about users called personas,
and the persona for IaaS is a System Admin,
or an IT Admin.
Let's jump up to the top with Software as a Service, that's the easy one.
Software as a Service is just software
that you don't have to install on your machine
and you don't have to manually update
and so the user for Software as a Service could be anyone.
In fact, if you're watching this on YouTube right now
then you're a user of Software as a Service.
It's usually charged on a subscription model rather than a one-time license fee.
And that brings us to Platform as a Service,
PaaS takes advantage of all the virtualized resources from IaaS and
then just obstructs them away so the user doesn't have to worry about
managing any of those virtualized resources. The user for PaaS is not a
System Admin usually, it's usually a Dev. In IBM we call this Dev "Jane", that's the
name of our persona. And so this whole metaphor, the pyramid metaphor, is meant
to indicate that as you move down you're increasing complexity in terms of your
knowledge and and management of infrastructure resources and you're
increasing the ease of use. Another metaphor I use when I'm talking to the
designers on my team about PaaS is having to do with a car.
So, in this metaphor IaaS is like leasing a car. So, if you've got leased a car
you probably did a lot of research and you care about the specs of the car and
the performance, you care about the color of the car, what
kind of car it is. You're the one driving and you're paying for it. You're also paying
for the gas and any tolls or maintenance. With Platform as a Service
in this metaphor that's more like renting a car. So, say you're on vacation
and you just got out off the Airport and you're going to pick up your rental car,
you don't really care what color it is, you don't even care about the specs
of it, but you're still driving and you're paying for the gas and any tolls
you go through. Software as a Service is again the easiest one. That one's more
like getting a taxi, or an Uber. So, with the taxi or Uber you don't care at all
about what kind of car it is, what color it is, and in fact you're not even the
one driving or paying for gas or any tolls because that's baked into the
price. So, let's think about what that means in terms of cloud computing and
what the vendor provides and what the developer, or "Jane", provides. So, the
vendor provides servers, storage, networking, virtualization, middleware, the
operating system, and the runtime. All that leaves for the developer to provide
is their data and applications. So, this is and this is the vendor, cloud vendor.
So, there are some pros and cons with that just like with leasing, renting, or
getting a taxi. The pros for using Platform as a Service
are generally assumed that it's quite fast and easy to get an app up and
running which is great. It's easy to create and delete the resources which is
important for say you're running a proof-of-concept app for a conference
and you want to spin it up right before the conference and then delete it right
after, you're not paying for the whole month and it's easy to spin it up and
delete it. Also,
that really results in some cost benefits. Another cost benefit of
Platform as a Service is that you don't have to pay for a full time system or
IT admin to run this app, they can focus on something else. And another Pro
is that a lot of providers of Platform as a Service have been building
out some tools on their platform. So, you can use DevOps tools, collaboration tools,
and there's a lot of API marketplaces that have been coming out which is great
because you can just take those services and plug them into your app, again still
without having to worry about any of this. There are some Cons to using
Platform as a Service. This big one is lack of control but some people will
still say that that is a Pro because although some people like to pull all
the levers and push all the buttons having to do with fine-tuning their
infrastructure, a lot of people don't want to have to worry about that, nor do
they have the understanding or ability to do that. Another Con is the vendor
lock-in, it's a little bit hard to migrate your app unless you're using an
open-source framework like Cloud Foundry, it's a little hard to migrate
Platform as a Service app from one cloud to another. So make sure you trust and
like your cloud provider before you choose it. And then finally the
performance at scale can be an issue.
Performance at scale, so say Jane the developer had a Platform as a Service
proof of concept app from that conference, and then she released it to
10,000 people the next day. It definitely won't have the same in and out
performance as if it was running on a dedicated bare metal server for example.
So, that's a consideration to have. So, I hope that helps you understand the
benefits and the reasons for choosing Platform as a Service. Thanks for
watching. If you have questions please drop us a line below. If you want to see
more videos like this in the future please like and subscribe and don't
forget you can always get started on cloud at no cost by signing up for a
free IBM Cloud account.