Several factors will add into the price you pay for a server on Amazon Web Services. We spoke to CGNET Senior Technical Advisor Ken Novak about how to sort them out.
CGNET: What does AWS charge for?
Ken Novak: We’re talking here about the Amazon Web Services suite. They’ve got about 30 or 40 different categories of things they provide but for most folks who are thinking of hosting with Amazon it breaks down to machines that you’re running there.
It’s as though you were installing a server in a data center. And they break down the charges, kind of like a normal data center would. There’s the machine that you’re configuring. It’s actually a virtual machine in the sense that it’s a pile of software that’s running somewhere in a whole cluster of physical machines. But anyway, it looks like a machine in that it’s got a certain amount of processing power, a certain amount RAM memory and some kind of operating system preloaded on it.
So one class of charges is this bundle where they probably got about 30 kinds of virtual machines. Then they charge you for the storage, how much disc is attached to that virtual machine. You could also have storage that does not attach to a personal machine. There might be a machine image, a backup that was taken, or something on one of their database services. Then they have network charges, like when you get an IP number or you use a certain amount of capacity getting data in and out of the data center. And finally they have a whole bunch of special services involving monitoring systems, specialized databases, specialized analytic services and so forth.
CGNET: To start with a simple example, let’s say I wanted to host a web site. How would I be charged for something like that?
Ken Novak: That’s a classic situation: where there’s a virtual machine, where you’ve chosen some base of software and some amount of memory that you need, and some amount of speed capacity you need on that virtual machine. They’ll also charge for storage for whatever disc space is used in that machine, and whatever backups you keep. And normally in a web site you’ll often have a database of some kind. Maybe you’ll run your own database software; maybe you could run Amazon’s database software. And finally there will be network traffic in and out of the machine.
You might also pay for a couple of extras like static IP numbers, or maybe a domain name server, if you don’t’ have one already. So those are the categories of charges. As a result the bill you’ll have at the end of the month will have about six or seven different items. Also, they charge everything by the hour or by the gigabyte, so nothing’s done on a per month basis. It’s quite common that, that if you sign up for an account and you’re not running anything that month that your charges will be literally zero. It all depends on how many hours you’re running the stuff. Most times, if you’re running a web site, after the first month or two you’ll just be running it 24/7, which is 720 hours a month.
CGNET: That still sounds really iffy with a lot of maybes and perhapses. How do I actually figure out what it’s going to cost?
Ken Novak: There are some rules of thumb to go by, and there are some basic prices to work with. Luckily, maybe 80 or 90 percent of the costs wind up being that first charge, the virtual machine that you’re running at Amazon. That, for the smallest machine, might be 10 cents an hour which turns into $7.00 a month. But more typically people are running machines that have a higher capacity so it’s more typically $70.00 to $200.00 a month. That’s by far the biggest part.
There are a lot of other smaller items that have to do with the storage charges and the network charges. But for something like an ordinary web site they get pretty small. I also have some rules of thumb that I often use, first starting with the network charges. You’ll probably want a static IP number. You can get away without one, but you might as well get one of those. That’s about $4.00 a month. When you transfer data in and out of the virtual machine, it’s rare that you’ll use more than 10 gigabytes per month of traffic.
We’ve got a bunch of machines we host here. I went looking through them and, while there are a couple that have a lot of traffic they are ones that have very large databases or geographic information systems where average users will move 100 megabytes every time they log in, or where someone’s transferring a bunch of video files. You know those will have a lot of traffic but almost all other web sites come in under 10 gigs a month. I think the median for us was under four.
So with whatever kind of overhead or other kinds of issues you can imagine, you’re still bound to have less than 20 gigs a month of traffic. At Amazon prices that’s only a couple of bucks a month. Even though that looks like it’s an unbounded cost, in fact, it’s very rare that it’s significant at all.
The storage charges are also fairly small. It’s proportional to the amount of space you use. Let’s say you’ve got a 60-gigabyte hard drive on your machine: that’ll wind up being under $6.00 a month. If you add some additional storage for backups, maybe you double it.
You still need to figure it out, because some people do have much bigger storage requirements, but in typical cases it will still be pretty small compared to the virtual machine.
CGNET: So, if you want to actually come up with a figure for hosting my web site on Amazon, the CPU is going to cost me maybe 10 bucks a month and the bandwidth is maybe gonna be a couple of bucks a month and the storage is gonna be maybe 12 bucks a month. That’s $24. What else?
Ken Novak: The $10 CPU, as I said, is the absolute smallest that you can get. A more typical one that you’re actually going to use in production is going to be more. That’s the number one thing you have to look up on the Amazon web site.
CGNET: How do you figure out how much CPU you need for a web site?
Ken Novak: It’s generally not the CPU that’s the issue but the amount of RAM. And you’ll know when you first build the site, or your developer will know. There’s a certain amount of RAM that’s recommended for whatever software you’re using, whether it’s Drupal on Linux or whatever sort of system you’re running under Windows. It might be as little as a gigabyte or as much as eight gigabytes. That’ll be the big thing that’ll influence the price. Amazon has a standard price list and you look up the cost per hour and then just multiply that out to see what that component of the price will be.
Amazon also provides bundles that include commercial software, so you can get a bundle which just has open source software. Then you’re just paying for the CPU and the RAM and the open source software essentially is free. If, on the other hand you’re running Windows or Red Hat Linux or Oracle, those cost a little bit more per hour. That little bit more is going to pay Microsoft or Oracle or Red Hat for the license to their software.
It turns out that there are probably about 20 or 30 kinds of virtual machines, and you’re going to want to pick the right one for your application, based on what software you need and how much RAM you need. It’s possible you’ll need something that has more CPU but, in our previous example of the web site, that’s usually not an issue.
CGNET: So I need to get an estimate from my web developer or web designer, in the simple case of a Website, to find out how much memory I need. Then I can figure that I’ve got about $12.00 a month for disc and a couple of bucks a month for bandwidth. And that’s what I need to know to get it done.
Ken Novak: Right. And one of the good things about just getting started with Amazon is that at the beginning when you’re first developing your web site or your application, whatever it is, you’ll only pay by the hour for the time that you actually use it. So if a technical guy wants to test things out, it’s very inexpensive because as long as you turn the machine off when you’re not using it , you’re typically paying under a dollar an hour, usually much less than a dollar an hour, for the virtual machine on Amazon.
CGNET: And if you want to increase the amount of machine memory or something like that, you can do so if you decide you need more .
Ken Novak: Absolutely. And you just do it straight off a web page. You can really resize your system quite easily.
CGNET: Are there any gotchas I should watch for? Are there complications or unexpected charges?
Ken Novak: Well, anything that’s got variable prices can potentially surprise you, as I’m sure people have discovered if they’ve ever paid for someone else’s cell phone bill and discovered a lot of texting charges one month. That kind of thing can happen on Amazon, too, where the charges can get away from you if you’re not paying attention.
The classic example would be if you’re making backups of the work that you’re doing all the time, but then you don’t go back and clean up the storage. That can build up.
Also, most developers you know rightly will want to run two or three machines at a time, sometimes even if they only need one in production There could be one for doing some early testing, or another one for running a trial or a stage version. And that’s great. One of the great things about Amazon is you don’t have to contract in advance for exactly how much you need. If at certain stages you need three or four or five machines running at once and later you only need one, that’s terrific. You’ll only pay for what you use.
But if you’re lazy or you do something crazy and you leave your machines up all the time, even after you’ve gone into production, then you’ll be paying for those machines on an ongoing basis. So you need to pay some attention to the resources your developer is using because they need to know that that this is an infinitely flexible large scale resource. The more that you use the more it cost you.
Also, be careful when you’re picking the software that you’re using. If you look at the price list, you’ll see that some of the software options can be very expensive, perhaps the Microsoft SQL Enterprise Version or certain Oracle suites.
So, a virtual machine can be quite expensive per hour because you’re buying a premium software configuration, or because you just picked too big of machine. You may have chosen a machine with 16 or 32 gigs of RAM when all you needed was four or eight. The best thing to do is to make sure you’re picking the right software and then start off with a smaller size if you’re not sure. Then, if you need it, you can always dial it up.