Matthew Boyer


PaaS: an introduction and comparison

PaaS: an introduction and comparison

Matthew Boyer's photo
Matthew Boyer
·Dec 2, 2021·

4 min read

PaaS or Platform-as-a-Service is a service type where companies rent out servers to businesses or individuals to do anything they want within reason. Some big names you may have heard of are Google Cloud Platform (GCP), Microsoft Azure (Azure), Amazon Web Services (AWS), and Oracle Cloud Infrastructure (OCI). Most people use these services for running programs, hosting websites or game servers, or just proxying, and they can cost anywhere from one to two dollars per month to tens of thousands of dollars. But, for hobbyists, there isn't a reason to spend that much, if any.

The biggest difference between servers and PaaS is you pay upfront, then just for electricity for servers, while you pay a monthly fee for VMs or bare metal machines. These rarely run Windows and instead run a server OS like Windows Server or just Linux. Let's say you want to run a Minecraft server. You can run the server.jar file on your computer, but then you can't shut it down due to wanting the server to stay up. With PaaS, you are just running that server on an off-site machine.

Comparing different PaaS services comes down to cost and specs. All PaaS services do the same thing when it comes to instances, but when you want to add different types of services, then you have to start comparing. Example: Oracle Cloud has a free 4 vCPU 24GB limit on Ampere instances that can be split into up to 4 instances. But AWS has a set EC2 instance type with up to 750 hours/mo of runtime, just enough for 31 days. Other services like DigitalOcean don't have a free tier, but you can get some credits from places like the GitHub Student Developer Pack.

SSH clients like Termius and PuTTY are required for connecting to that instance. This allows you to use the command line for that instance. Since you can control the entire machine entirely via the command line, that's also the reason why your computer won't start without a keyboard plugged in.

I'll be comparing GCP, Azure, AWS, and OCI. Despite having others mentioned earlier, but I won't be comparing them. Price for the instances themselves also won't be evaluated for the sake of conciseness.

Let's start with GCP. GCP has some features that others can't offer, like the fact that you can directly release to the Chrome Web Store and Workspace Addons. Storage costs roughly the same as the others, costing $0.02/GB for storage and $0.12/GB for download. GCP is required for using a sign-in with Google integration in your app or game but can also provide hosting. The free tier doesn't support any instances, but it does support APIs and app publishing.

Azure also doesn't have a free tier and also doesn't offer anything no other providers do. Storage costs $0.017/GB for storage and $0.04+/gb for download. Azure isn't required for publishing an app to the Microsoft Store or Xbox Store, that's a different service. Setting up services is very easy on Azure, much faster than any of the others here, and is easy to scale up.

AWS, while not being required for anything Amazon-related, does have a feature no others in this list do. That would be a cloud-based IDE. This is just an EC2 instance with an IDE installed, but as you can't open windows in an SSH client, that's pretty nice. I used it for a school project because I wasn't allowed to install WebStorm. Storage costs $0.021/GB for storage and $0.05+/gb for download. AWS does have a free tier, and this includes 750 hours runtime for EC2 instances monthly, enough for 1 instance to run 24/7 and have ~30 hours leftover in any given month.

OCI has by far the most generous free tier with $300 in credits to spend within your first month, 2 Micro-sized VMs, and up to 4 Ampere Flex instances with a maximum of 4 vCPUs and 24GB of RAM. These are SSH-able, but don't have cool presets like AWS's Cloud9 IDE.

Like picking an IDE, picking a PaaS provider should fit your budget and features. Oracle's free tier is incredibly generous, and it would be fine for most, especially for hobbyists, GCP would be needed for creating an extension, AWS is best for Chromebook users, and Azure is best for flexibility.

Get GCP, Azure, AWS, and OCI

I am always open to article suggestions, just join the BiteSizedCode Discord server.

Share this