The main problem with the cloud...
Is it absurd pricing model. Sure; in theory it sounds wonderful; you only pay per hour and only for the resources you use. Sure, sure.
Unfortunately getting a good indication of what you're paying for and how much will often turn into a major investigation case. And for the record: all of the major cloud vendors are guilty here.
Lets talk Amazon EC2: Free tier (with the dreaded asterisk of course): 750 hours of running EC2 (750/24 = 31,25; nearly a month), 30Gb storage and 15Gb data traffic. Sounds too good to be true? Well, if you look into the detailsyou'll soon notice that it applies to the t2.micro instance. So what's that? Well, in order to check that you'll need the instances overview. And lookie! Now all of a sudden we're looking at: 1vCPU, 6 CPU credits/hour (what are CPU credits?), 1Gb memory and EBS storage only. As it turns out (quote): "Each T2 instance receives CPU Credits continuously at a set rate depending on the instance size. T2 instances accrue CPU Credits when they are idle, and use CPU credits when they are active.". So; what happens if I run out of credits, and how much credits would my hobby Linux webserver use? To know more about this we need to check the "Burst section" on that same pricing page:
"For example, a t2.small instance receives credits continuously at a rate of 12 CPU Credits per hour. This capability provides baseline performance equivalent to 20% of a CPU core. If at any moment the instance does not need the credits it receives, it stores them in its CPU Credit balance for up to 24 hours. If and when your t2.small needs to burst to more than 20% of a core, it draws from its CPU Credit balance to handle this surge seamlessly. Over time, if you find your workload needs more CPU Credits than you have, or your instance does not maintain a positive CPU Credit balance, we recommend either a larger T2 size, such as the t2.medium, or a Fixed Performance Instance type."
So it is possible to obtain a negative CPU credit balance. At what costs? Well, your guess is as good as mine here. You should probably contact them or use their "amazing" pricing calculator (which really only left me with even more uncertainty and questions)... For example; I can tell it that I got a Linux box, 1 instance, t1.micro and its used for 3hours/day. That'll cost me $1,84. But, but, but; wasn't this free? And what happens if that 3 hour usage pops a little (say Wordpress which gets a small boom)? How much for those CPU credits?
Don't gloat yet you guys because Azure isn't much different. So now I'm a Microsoftie (no offense!) and I want a Windows server to experiment on. You know; IIS, a small bit of ASP, and lots of mmc (Microsoft Management Console) action. "Website for free" the pricing page says. If you click it you'll quickly see: "Try for free". Small difference indeed. At least they let you know that a virtual instance starts at approx. $13 / E 9,69 per month. But... what does that get you? Well, an "A0" instance (1 core, 0,75Gb RAM and 20Gb disk size). Not exactly much to run a Windows server on... So what exactly is an A0 instance? Check out their Virtual Machines page and what do you know: it doesn't say! It tells me that I can do Sharepoint, how open the whole thing is ("you can use open and community driven OS"), I'm saving money, get hybrid connections and "True HPC capabilities". But what exactly IS an A0 instance?
Eventually I ran into a loop. the Virtual Machine MSDN page tells me I should check out the Azure documentation page. And that page points me right right back to the MSDN Virtual Machines FAQ when all I'm trying to do is getting some specs.
SO with Amazon I can't get a grip on exact prices, with Microsoft I can't get a good grip on exact specifications...
Last candidate: the Google cloud.
So; same as above: we want an experimentation machine to lust on our Linux, FreeBSD and/or Windows passion. Well, one thing becomes pretty clear when you check out their Compute engine: you'll get a virtual machine, no direct access but all you need to click & install applications on it. Not what I had in mind but it'll work.
So what does this cost me and what performance do I get? That same Compute page tells you at the bottom. For example: n1-standard-1: 1 virtual core, 3,75Gb memory, 2 GCEU which will roughly cost you about $0,069 / per hour. So $1,65 per day and approx. $50,- / month.
But there is more; you'll be charged for a minimum of 10 minutes. After the first 10 minutes you'll be charged extra per minute, but at first 10 minutes. Nice approach when you're testing a machines performance or are trying to bugfix it (which will require reboots and/or turning it off or on). Is that it? No; when using "premium operating systems" such as RHEL, SuSE or Windows you'll be charged extra. And there's also storage pricing: Standard persistent disk costs you $0,04 per Gb per month. Or SSD provisioned space: $0,218 per Gb per month.
SO; if your instance is off then it won't cost you anything, right? Wrong! If you have an IP address assigned to an instance but you aren't using it then it'll cost you $0,01 per hour. It'll be free once the machine is on of course.
They're all a bunch of rubbish. Its hard (if not impossible) to get a good grip on pricing or what it is you're paying for. At most you'll be paying for "virtual computing space" while you may hope that you'll actually get charged for what you're using it for (how are you going to check and/or complain otherwise?).
My advice? If you want easy computing or such you should look into a regular hosting provider. Sure, you'll pay per month but at least you'll know exactly what you pay for. Like with my favourite provider: 1 Xeon CPU, 1Gb memory, 50Gb SSD storage, 1Tb data traffic, 1 IPv4 address, /64 IPv6 range and all that for E 10,- / month (= approx. E 0,0134 per hour). Community OS's are free (Linux and BSD) and for Windows based OS's you'll pay an extra licensing fee per month.
Cloud computing is nice if you're a big company which doesn't want to mess with on-site management and instead have that delegated / outsourced. But for everyone else I'd say your regular hosting provider is all you need. Best yet: even those can provide cloud based services (like the one I mentioned above). Main difference is that it's their private cloud, yet publically accessible still.
Don't give in to the hype!