December 28th, 2020 × #hosting#pricing#cloud
Hasty Treat - Hosting + Web Services Pricing Explainer
This episode explains different pricing models for hosting and web services like paying per time used, resources, bandwidth, users, apps, and work performed.
- Paying for time used on serverless functions
- Paying for virtual server resources like CPU, RAM, storage
- Paying per container or "dyno" on Heroku
- Paying for bandwidth or data transfer
- Paying per number of users who can access the platform
- Paying per number of apps hosted
- Paying for image transforms on Cloudinary
Transcript
Announcer
Monday. Monday. Monday.
Announcer
Open wide dev fans. Get ready to stuff your face with JavaScript, CSS, node modules, barbecue tips, get workflows, breakdancing, soft skill, web development, the hastiest, the craziest, the tastiest TS, web development treats coming in hot. Here is Wes, Barracuda, Boss, and Scott
Scott Tolinski
CSF key.
Scott Tolinski
Oh, welcome to Syntax. In this Monday, hasty treat, we're gonna be talking about Hosting and web servicing, web services pricing explained. So, a lot of times we head to a new service and it says, This is gonna cost you 0.3¢ per whose its and whats its, and you might just be like, oh, I don't know what that is. So we're gonna be talking all about the different types of pricing that Different services can charge you what they all mean and how that affects your bottom line. My name is Scott Talinski. I'm a web developer from Denver, Colorado, and with me as Always. It's the West Boss. Hey. I'm excited about the show. It's not gonna be the most fun show ever, but this is something I thrilling.
Wes Bos
It's It's true. You're gonna you're gonna beat your mind as people, but, like, I never I like, especially with, like, things like Heroku, they'd say, like, how many dinos do you need? I'm like, I don't know. What? I would like 1 dinosaur, please, and it's gotta be really cool. Okay? How many Dino Dinos did Dino Dino need? So, like, I pricing sometimes you look at these pricing pages like, I don't know. How much is it gonna be? Yeah. You know? And now that I'm a I don't know. I I understand it a little bit better. I thought let's,
Scott Tolinski
let's let's tell the people how how it works. Yeah. Some of it was, like, with even with AWS. It's just sort of like, well, sign up and see how much it costs after the end of 1st month. Yeah. Yeah. I'm not gonna be using that much So it's not gonna break the bank.
Scott Tolinski
So, let's get into it. The first topic that we had here would be a lot of places charge via the minute or time that you're going to be using something. And this is oftentimes with servers that get spun up for serverless functions because those functions that are are run are only run for that period of time, and then there's that computer interface is able to be used for something else. Right? The classical, most like shared server type of thing, But just different.
Scott Tolinski
And so because of that, you're paying for the amount of time that that function is running and that amount of time that that service is being used Rather than the fact that that service needs to exist 247.
Wes Bos
Yeah. You the these ones for me are at least the probably the easiest to estimate Other than just paying a certain amount per month for a specific amount of resources.
Paying for time used on serverless functions
Wes Bos
And that's just because, like, you can literally run your functions, and then you can do some quick back of the napkin In math, as to, like, how long did that take? Alright. 300 milliseconds or a 100 milliseconds.
Wes Bos
And then how many times will that be hit? Maybe a user will Hit that page a 100 times, a year, and then you have 40 users, and you can pretty quickly do that. This This is pretty popular in serverless space because you are literally paying for time. You're just a couple couple seconds of a server, and then somebody else gets to use that server after you. It's also popular in using graphics. Like, you can you can also do this for graphics cards, AI, machine learning, things like that. You pay by the minute Or by the second for the amount of time that you're using on those servers.
Scott Tolinski
Yeah. And those scale with the amount of load you're putting it under. You're asking it to do A big heavy thing. It's gonna cost you a bigger heavier dollar than if you were doing something that was really light because it's inherently going to take less time.
Scott Tolinski
But in the same way, this one is also kind of the same thing. I mean, they're all facets of the same thing if you think about it. But, in this regard, the next one would be by resources and how many resources, not via time, will you be charged? And This can be the common VPS model that you've seen for a long time, and that stands for virtual private server. Something like DigitalOcean, where you're paying For the price of the virtual private server, and you are paying for the stats on it. You're paying for the resources as in How much CPU can this thing handle? How much RAM does this thing have? How much storage space does this server have? And then as you need more, you can always scale up and many other container based things. So this is how LevelUp Tutorials is hosted. We're hosting Meteor Galaxy, and we pay by the resources. We have auto scaling in case we get hit too hard and can scale up our containers to Use more resources if we need it on all the good things that you you are used to with that sort of flow.
Paying for virtual server resources like CPU, RAM, storage
Wes Bos
Yeah. If you are used to also, like, a DigitalOcean droplet or, What's the other one? Linode is another popular one. Space.
Wes Bos
Rackspace, things like that. You say, alright. I need a gig of RAM, and this was GPU. And Yep. Disk space is Not necessarily a big one anymore because disk space is it's so cheap, but one thing you do wanna look at there is, are they these. Yeah. Because when they do read the file from that disk, it needs to be fast. Right? That was the that's that's how DigitalOcean sort of got onto the scene is that they Started as a SSD first hosting company. Where did you host before DigitalOcean? I was on Media Temple. Me too. Yeah. Yeah. Media Temple was a really big one, and then I had a I had a GoDaddy server for a long, long time. Oh. I still have a Bluehost server.
Wes Bos
I do too. Yeah. That those those, like, GoDaddy Bluehost companies that have just, like, PHP LAMP stack, they like, once they get somebody in there, it's gravy because It's hard to move.
Scott Tolinski
Yeah. And and I think they know that because they Yeah. They pay out a decent amount for referrals. It's not allowed to have all the companies. Yeah. I think, like, with Bluehost, I'll often I used to have affiliate links before I denounced them, and
Wes Bos
they would pay, like, $100 per sign up. And they know that's because somebody that pays is gonna be with them for 8, 10 years or something like that. Yeah. That's what they're banking on. The next one is perdynos.
Paying per container or "dyno" on Heroku
Wes Bos
This is popular with Heroku. And you may you may hear, like I don't know. I think other hosting companies have the similar similar vein. And, Essentially, it's just a virtual Linux server like we're talking about earlier. But then they will give you a specific amount of CPU and memory as well. I'm not sure why they call it a dino and not just what you're getting.
Scott Tolinski
What does the dino even stand for in, Heroku?
Wes Bos
That's a good good question.
Scott Tolinski
Because that's the first time that I had ever heard that that language. And I wonder if it is just like marketing. We need our our you know, AWS is So heavy in that, where everything is the AWS version of whatever it is. Yeah. And and the the cool thing about Heroku and all these other Platforms is that you can just add more dinos,
Wes Bos
and it will just make your app faster because the way that Heroku works is your apps are stateless, And you can just run your app on multiple servers.
Wes Bos
And that's why, like, if you try to use Heroku and you upload an image, you might come back to find out, like, a week later that your images are gone. Yeah. And that's because they don't have any state. They if any files that are uploaded to Heroku will just be be cleaned up. You have to put them somewhere else, like a s 3 bucket or something like that. And that's great because they they will they will launch more versions of your app, and then they'll run it on a load balancer for you. Maybe that's why they have a special name for it. My understanding is it might be that because
Scott Tolinski
Heroku was, like, the 1st big primarily used one To do the container based scaling up and scaling down, I think they just called them Dinos before they were called containers. And then after they got started calling containers, I see in quotes, it says that on on their site, it says a Dyno,
Wes Bos
which is isolated lightweight Linux containers. So It doesn't explain it as being anything other than that. Yeah. One other thing that Heroku has is they have free Dino hours. So that was another weird thing to me.
Wes Bos
When I was coming from a traditional server, you pay for the server, you get a box somewhere, and it's running. And then they would be like, how many hours do you need? And I'd be like, All of them? 24? Yeah. It should always be off 24, please.
Wes Bos
And I never understood it, and now I get it because the way that it works, like I said, is that it very similar to serverless functions is that that box will spin up. It will turn on when people are visiting your website and then when you're no longer using it, it will turn off. And then when somebody hits the website again, it will turn on. And that that's the cold start that you hear often.
Wes Bos
And that's good to know because sometimes if you have you have a website, you can host a 100 websites on there, and you might not get any traffic to them because they're just side projects, things like that. And if they're not getting a whole lot of traffic, then they're not costing Heroku really anything in terms of resources to to run them.
Scott Tolinski
Next is by bandwidth, and bandwidth is the amount of data that is transferred because we often think about, like, data in terms of, like, storage, but we do work in a medium that's primarily on the web. And on the web, one of the biggest things that you you track is how much data is sent, and and that's really what Bandwidth is. As if you have big heavy files and you have to send them, then you're going to be paying more in bandwidth fees because it costs money to send them. ISPs are currently exploiting by data caps, not a bandwidth that is being traveled, is what's going to be the thing that's tracked there.
Paying for bandwidth or data transfer
Scott Tolinski
What what services in your mind do you see as companies offhand do you know that charge by bandwidth? The one that I use is Backblaze BTU, which I use Yes. Do all the downloads
Wes Bos
For my my video courses, and so they have, like, a couple things. Like, I pay to have my video files on their server. So for a a terabyte, it's $5 a month. And then if you're uploading, a terabyte, it's another $5 a month. And if you're deleting, a terabyte. It's another $5 a month. So they they charge you for any time that you they either hold data, you upload it, You download it or you delete it. Or sometimes they refer to as ingress or that you're you're transferring data to them. Like, I think Mux is another one that will charge you for ingress.
Wes Bos
And so that that's another thing to think of because, like, Yeah. It might cost me I'm not saying this specifically for mux, but for one of these platforms, it might cost me, I don't know, $100 a month to do this. But, you know, if I wanted to move over everything, I've got, terabytes and terabytes of data that that to move in, especially, like, if you think about, like, a a hosting platform like Cloudinary.
Wes Bos
Right? Like, I don't know what Cloudinary uses behind the scenes, whether it's Amazon s 3. But, like, let's say they wanted to move from Amazon s 3 To whatever the Azure image hosting version is, then they they would have to calculate. Okay. We've got we've got 70 Terabytes of photos from the last year.
Wes Bos
If we wanted to move those all over, that would that would be a pretty penny just to get it into the server, let alone people requesting these images and downloading. So, that's something that that probably most people listening to this podcast don't have to necessarily think about that. But If you have a large application with lots of user content,
Scott Tolinski
then you would be probably thinking about that. Yeah. And some of these things, you need to take an entire Corson to know how much you're gonna pay for the thing because it is funny that I'm looking at, like, Mux's payment page. And granted, they do a good job of this, but it's For encoding, Mux is $0.5 a minute, so 5¢ a minute to encode.
Scott Tolinski
And then for storage, it's 0.3¢ a minute to store them, and then to stream it, it's 0.13¢ per minute.
Scott Tolinski
So, like, that's 3, like, fractions of a dollar Spread out over 3 different things, and so you might be like, oh, I have no idea how I'm gonna pay for this. Like, what I'm gonna pay for this service? But that's why a lot of these things end up giving you video calculator. So, like, Mugs has a a a really neat video calculator where you could say, alright. My average video is let's say my average video is 10 minutes long. I'm gonna get 25. I'm gonna do 25 monthly uploads, and then the average video view count, I don't know. The default is 75,000, so that's Fine. And then you're gonna be paying $550 a a month to do that. So, like, hey. That that tells you pretty explicitly what that's going to cost, But you have to know that information going into it. You might be able to do some, like, calculations to say, okay. Maybe in the future, this is what it will look like. But at the end of the day, you you do need to have some information about what your traffic should look like to be able to calculate a lot of these. Yeah. Or or even, like, another way to think about it is if you think about, like, what a user would do, like, an average user would use in terms of traffic,
Wes Bos
you can think about that, and then and then you've hopefully, if you have a business, you can figure out what is the user worth to you.
Wes Bos
And then you can say, okay. The like, for me, I know Users are priceless. I cannot put a price on users there.
Wes Bos
Yeah. Like, if a user watches an entire course, I know how much that's gonna cost me, and I know how much I'm making.
Wes Bos
And that allows me to make calculations based on Other things like that based on, like, how much free courses can I offer to stream as well because I have to pay for a bandwidth on that as well? What else do we have here? By database calls. If you've got, like, a database service, they will often charge you either by entries, like how many entries do you wanna store in a database, or How many calls will you be making to that specific database? Again, for me, that's that's really hard to calculate because, like, how many database Calls are you making Yeah. For a specific page? Sometimes it's 6 or 7. If you have joins, that's another call. Right? But in most cases, they're peanuts.
Scott Tolinski
If you have GraphQL, it could end up being 30 calls without you even knowing.
Wes Bos
Yeah. Yeah. It's true. Like, you can sometimes forget about the database underneath GraphQL.
Wes Bos
What else? Users? This is more of a SaaS thing, but it can bleed into hosting. How many users are able to log in to your platform and manage Your specific app or whatever, and sometimes you have to be on a specific tier in order to get either features or amount of users that can access specific things.
Paying per number of users who can access the platform
Scott Tolinski
Yeah. And GitHub works that way, and then, yeah, I would call GitHub, yeah, certainly a SaaS, but it is like a web service.
Scott Tolinski
We use it for our entire pipeline.
Scott Tolinski
And so we have to pay for more minutes in our pipeline, but we also have to pay per user for our API. Although, I don't know how many of the features we would lose if we just went to the the free Private account thing that you can do now because we have a team of a few people. So I don't know. Maybe you should look at that, but doesn't Netlify also charge by, seeds. I I thought they did, but I'm looking at their because I feel like we had to pay for additional seeds in our account to get team support.
Wes Bos
Yeah. There you get 1 team member on their free one.
Wes Bos
And then on your your the pro account, it's $19 per member per month.
Wes Bos
So if you want more people to be able to manage your application or see logs and things like that, then you could pay for that. I don't think that, like, every team member would need would need that, though, just because You get most of the the info about a build will be put into a GitHub comment on, on a pull request, something like that. Yeah. Yeah.
Wes Bos
So that that that's kinda interesting one as well.
Wes Bos
The the way kind of around that I see a lot of people do that is they just share the login And especially with something like Firefox?
Scott Tolinski
I was gonna say with, like, 1 password because that's what we do. We just share Yeah. Not not of all of our services, granted we're paying for a lot of team services, But we do share services to some with 1 password, and then it makes it really nice because you have a team shared 1 password thing, and everybody's got passwords, and you get autofill and whatever. Yeah. I mean, easy. One little thing that I use is Firefox containers or container tabs. Oh, I haven't used these. Yeah. And it's awesome because I can just open up a container tab for something else and just go to youtube.com.
Wes Bos
And I'm still I'm just signed in to YouTube.com as, the one that I'm sharing with everybody. And I don't have to, like, log in and log out Or open up the incognito tab and log in, so you get all the benefits of that. And I think in Chrome, you have to open an entire 2nd browser, but Firefox allows you to have container tabs, so just that 1 tab will be and that you have your own cookies and your own sign in, stuff like that. That's that's I really like that. This is sort of unrelated, but kind of related. Did you see that, like, I saw a screenshot of, like, Chrome grouped tabs. Have you seen this? I get it. It's a gray? Yeah. Do we have that in your Chrome? I have it. Every time I open Chrome, I'm I'm not a I'm not using Chrome as my daily driver, but every time I use it, I'm like, what is this gray line? And then I finally figured out that's what it was. I haven't opened actual Chrome in a while, and I know Brave is, like, kind of different, like, because I don't have those things in Brave here. So I I wonder if we're gonna get container container Windows in Chrome. You can turn it off, but I don't particularly like it. Although, I don't know. Maybe I'm, Yeah. I wonder if it is coming to to Chrome because they're they're doing that. It sort of seemed like a preface to me, but I'm pulling that out of Nowhere. So that's where most of our information comes from.
Paying per number of apps hosted
Wes Bos
Next, we have here is by apps. How many apps can you host? DigitalOcean's app platform does this now where, instead of paying for resources, although you can you can increase the resources on a specific app.
Wes Bos
It's by app. So in like, for me, I can grab a DigitalOcean droplet.
Wes Bos
And if you wanna run all of the Nginx stuff yourself, all of the certification the certs yourself, all of the renewing of the certs, If you wanna run that all yourself, you can run as many apps as you want on a single digital ocean droplet. And, like, if if they get too popular, then it will slow down. Right? But DigitalOcean's app platform is by the app. So you pay for $5 for every single app that you have. And if, like, for me, I have back end and front end on one of the apps I was working on, and in that case, it would be $10. And that's just the price you pay, I think, for All of the ease and benefits that come along with that type of thing.
Scott Tolinski
It really bummed me out that you can't use Cloudflare with
Wes Bos
DigitalOcean's app platform. Yeah. Yeah. That's really fun. Show on the DigitalOcean app platform because it is awesome. But, yeah, they They're so ingrained with what they do. You just can't use Cloudflare.
Wes Bos
And for a lot of people, both for security standpoint and for just, like, the the stats that they give you,
Scott Tolinski
They don't let you do that. Also, the amount of like, if you already have something that exists on a platform that's using Cloudflare, you might have some things that are pretty Not necessarily tightly integrated in, but, like, some things that you might be relying on then. Like, the DNS stuff in Cloudflare is way better than a lot of other DNS providers.
Scott Tolinski
Like, you can do neater things with, like, different types of alias records that aren't necessarily, like, real types of records or maybe even, like we have redirects Set up all the way at the Cloudflare level, and that to me would be a bummer to to lose, because I looked at I looked into this ad platform, and it's pretty sick other than that.
Wes Bos
Yeah. It seems like, like, I don't Netlify says if you use Cloudflare with Netlify, you lose some of the I forgot what it is. You lose some of the the edge Benefits. Magic. Because they don't have control over the DNS. So in order to make it as good as possible I think Vercel does this too.
Wes Bos
But in I think in both cases, you can. Knowing that you're giving up some of their edge benefits, then you You can use it. And with DigitalOcean, it just says not not gonna work. I bet they'll change that, though, because that's a huge a huge thing for people.
Scott Tolinski
I was gonna say, also by apps and a different sort of way to look at this. They're like, Heroku had a thing where you could add app. Apps to your app, neither to your dino. Do you remember? Like, you can, like, one click add on services to your your app. Oh, yeah. I'm using the word app in a totally way here. Like like a database or Yeah. What? Yeah. You could pop in, like, an m and I always thought that was kind of interesting, but I always got confused with, like,
Wes Bos
Where is this thing? Like, is this the ownership of my app? Like I think it's just a tight integration with other It's just a tight integration. Prisma did this too, where you could, like, Quickly create a database on another service. Yeah. And I really like that because, like, it's still on this other service, which you like to use, but you don't have to, like, Sign up and API keys and users and all that stuff. You can just do it away from 1 dashboard. I don't think that that was Anything other than that. Although, I'm I'm not I haven't been a huge Heroku user.
Wes Bos
I've done lots of demo apps on Heroku, but I've never hosted a production app on Heroku.
Scott Tolinski
Hosted LevelUp on Heroku for, like, maybe a couple years. I only moved it to Meteor Galaxy because I wanted to help support Meteor Development Group, and The it costs the same. Like, I wasn't I wasn't it wasn't any more or less expensive, but it's like, okay. Heroku has their money. You know, media developer group could Could not necessarily could use the money, but maybe that, you know, that money could go back into the development of the platform that I'm using rather than some other service. You know? Last one we have here is just by work. The one that pops out here is, Cloudinary. They they do both bandwidth, obviously, because they're images. CSF. But then they also give you a certain number of transforms. So if you need to resize an image or convert from JPEG to PNG,
Paying for image transforms on Cloudinary
Wes Bos
That's a transform. I mean, you do that once. You have, like, scott.png.
Wes Bos
You wanna turn it to a JPEG. You transform it. And then the next person that requests got that JPEG, you don't do the transform again unless you're changing something about it, width or the height or the quality or something like that. Yeah.
Wes Bos
And that's kinda cool because you think about, like, Resources on their end. But my favorite way, just looking at all of these different ways, my favorite way that that is done is When you can just, like, tell me how much it's gonna be a month and just hope that me as a user doesn't cost you more money Then you're you're bringing in. Right? Like, because sometimes I look at these pricing pages, and I'm just like, I have no clue what This means to me obviously, it means a lot to you because you're trying to calculate how much a user will cost in terms of how many resources they're using and Transforms and all that stuff. But I, as a user, just wanna know how much is it gonna be per month,
Scott Tolinski
generally for the the type of app that I wanna run on. It's it's obviously a hard thing to do, but that's that's my big big fan when something just costs a certain amount. You don't have to Be a rocket scientist to figure out how much it costs. Right. You you're you got the chalkboard out. You got all your equations. You're doing the math. I actually really I I love a good a good calculator in that regard, and I think to shout out Mux once more, Mux's calculator is very good for what it is. It tells you Exactly. I mean, they give you sliders. They make it really easy. It it, like, feels very helpful. Like, they're trying to help you make that decision. And when when I first talked to the Mux folks, they said they launched the calculator so that people would realize how cheap Mux was not so that they could see how much they were gonna be paying. I mean, obviously, it is, but, like, that seemed like to be the message was, like, that people think we're too expensive, and we want you to easily see that we are not too expensive. And I thought that was a really neat way to put it.
Scott Tolinski
That's another service that's hard to calculate because they do the transition transforms Sort of like Cloudinary does. Right? Where, like, if you ask for a 10 80 p version, it's transcoding chunks of that on the fly. It's pretty cool. The last 1 I'm just looking at here is, what does Cloudflare Workers cost? Because that's kinda serverless functions, but it's also, like, edge functions. It's its own
Wes Bos
sort of
Scott Tolinski
thing. We should have an episode about, like, what are some projects that you could use, like, EdgeWorkers for, essentially That would be fun. A little bit more generally.
Wes Bos
I like it. And they are 50¢ per 1000000 requests per month with a minimum charge of $5 a month.
Wes Bos
So 50¢ per 1000000 requests seems seems cheap.
Wes Bos
But, like, again, requests, not visits because, like, somebody who visits your website might have 20 requests. You got double CSS files. You got 6 versions of jQuery, 18 plugins.
Wes Bos
You got, that every one of those is a request. Right? Yep. But and and also, they only have up to 50 milliseconds of CPU time. So if you're doing anything That takes more than 50 milliseconds, and it won't fit into a a worker. And and that's because the workers sit in front of your website from being loaded, I believe.
Wes Bos
So cool. I I I might be wrong on that, but I I've used it a few times. I thought that was interesting to see how they they price theirs.
Scott Tolinski
Yeah.
Scott Tolinski
This has been very illuminating. And, again, if you have a good calculator, good pricing calculator, share it with us on Twitter. I wanna see some of these pricing calculators. They're very to be. Those also kinda make for fun, little, easy JavaScript projects too if you look at some of those pricing calculators and say, oh, this would be some simple math and some form inputs might be Something neat to, try to experiment with and make something fun. Yeah. Totally agree. I've I've been working on a mortgage calculator because a lot of the mortgage calculators out there are either They sell your soul to Yeah. Privacy people because and then you get ads for
Wes Bos
mortgages all the time. Or they are not Canadian mortgages are a bit different than American mortgages, so the the math is not exactly the same. So I've been trying to, like, make my own with, like, no trackers.
Wes Bos
And, I I like working on calculators. It's fun.
Scott Tolinski
So in Canadian math, do you use a for a variable rather than x?
Wes Bos
CSF. Yeah. It's pretty good joke. Right? A big old a, and we and we report them out in loonies.
Scott Tolinski
Yep. Okay. Yeah. So So you could just have, like, a a pond full of geese, and every time you slide it, more geese get added to the pond. Yeah. Exactly. And there's no There's no wondering if you'll lose your house if you break your leg.
Scott Tolinski
Yes. There's right. It's yes. That that come that's a little bit more on the the bleak side of things, but, yes,
Wes Bos
I'll stick we'll stick with the geese. Yeah. Lots of geese in this this one.
Wes Bos
Yeah. Alright. This I thought this was gonna be a 10 minute episode. Was like, oh, Scott. We'll just do a quick one explaining the differences, and it turned a little tasty. So,
Scott Tolinski
let's wrap it up. Wrap it up. Well, thank you so much for watching, and we will see you on Wednesday.
Scott Tolinski
Peace.
Scott Tolinski
Peace.
Announcer
Head
Wes Bos
Drop a review if you like this
Scott Tolinski
show.