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.