The comparison on the Google compute instances is a bit iffy.
First, why are we looking at Google's N2 instances rather than N1 instances? The N1 instance would be $52 rather than $61, but the author hasn't talked about why they selected the more expensive N2 instances. Given that competitors don't talk about the CPUs they're using, it seems weird to select the more expensive CPUs for Google.
Second, Google offers dedicated hyper-threads. The author says that cloud providers (like Google) are more expensive, but they've compared dedicated hyper-threads on Google with shared hyper-threads on Digital Ocean. DO offers an 8GB 2 vCPU (2 dedicated hyper-thread) instance for $60/mo, but the author is using the 8GB instance with shared CPU for $40/mo.
So, with storage, Google costs about $52 while DO costs $60 for an equivalent instance. Linode's $60 8GB dedicated vCPU instance does come with 4 cores so it seems like a better value. One can also argue that the included transfer on Digital Ocean offers $8 in value. However, the premium for the instances alone isn't as big for Google. In fact, google seems cheaper.
Now, it's probably a fair comparison for Amazon's instance which only gives you CPU credits for around a third of the time.
Google's automatic sustained-use discounts and dedicated hyper-threads make it really competitive with Digital Ocean (if you don't need a lot of bandwidth) as long as you're doing an apples-to-apples comparison. DO's over-sold CPU instances will be cheaper because you're getting less. If DO didn't offer dedicated hyper-thread instances, maybe you could claim that they were equivalent. But DO literally sells something more equivalent for $60 rather than $40.
EDIT: Also, OVH is a bad comparison. OVH is cheap, but inconsistent in their product offerings. The author notes that they offer hosted DB services, but that's only in France. Their US, Canada, Singapore, Germany, Poland, and Australia locations don't offer that. Their US website is missing pricing on many of the things they seem to offer. Plus, at a certain point, when you're trusting someone with your datastore, you want a high level of certainty. OVH's website doesn't inspire confidence given how much seems like someone didn't even check it. It's certainly cheap, but it seems cheap for a reason.
One final thought: I'm surprised the author hasn't talked about transfer pricing. Cloud providers usually charge a bundle while others charge a lot less. 1 cent per GB at Digital Ocean is a lot less than the 9 cents per GB at AWS. AWS even charges 1 cent per GB for data transfer between AZs in the same region. If you're running a compute and Kafka cluster in 2 AZs, then writing 1GB to a quorum of 3 servers means paying 1.5 cents per GB written (assuming that half the time you're writing to 2 servers outside your AZ and half the time you're writing to one server outside your AZ). Likewise, when you go to read it, if half the time you're not reading from a local AZ, you're paying half-a-cent per GB to read the data. So processing 1GB costs 2 cents. That adds up fast. Everyone compares things like compute instances and seems to ignore data transfer costs. Frankly, Google is competitive on storage and compute costs with places like DO. However, if you are trying to create the next Imgur, you probably care more about transfer costs than compute or storage costs.
The reason I chose the n2-standard-2 over the n1-standard-2 was because the N1 instance in question has only 7.5GB of memory rather than 8GB. I let OVH slip on this one because they didn't have any other instances in the same ballpark but Google did. One of the eggs you have to crack when doing such a comparison I'm afraid.
With respect to the discussion of what really is a fair comparison to 1 unit of Google's proprietary vCPU units: that is of course open to speculation. One of the tremendous problems of cloud computing pricing is that the big three suppliers like to a) take a proprietary unit like "vCPU" which is not in common parlance and b) then repeatedly quote the cost for it in a tiny unit like hours. An n2-standard-4 is 0.0517 USD per hour - great. And let me really get the boot in: I hate that google's pricing page continuously defaults to the this useless unit on every page load. That company is probably the largest producer of web cookies worldwide but to remember that one, essential, UI slider was too much apparently. I broadly file this under the objection of "This is a naive navigation of the pricing schemes of $BIG_TECH" that I cover in the article
Transfer pricing is a real issue and arguably where $BIG_TECH really come and rip your face off. Egress bandwidth is priced at an unreal level precisely because people like me doing comparisons forget about it. In this respect $BIG_TECH are like the chinese restaurants where the dish is £5 but a 250ml bottle of coke to go with it is £6. I should have included it and if I did the comparison again I would model a small defined application rather than a small specific spec size. Mea culpa.
I still think the view I express in the article is right: $BIG_TECH cost a chunk more.
I'm interested why everyone obsesses over CPU. Everything I've personally ever wanted to do costs more in Bandwidth than CPU. I'm also sure that one of the companies I worked at we spent more on Bandwidth than CPU (until we started doing something super stupid -- caching like several terabytes worth of rendered pages in memory at all times, even though no one ever visited like 90% of the pages over the life of the cache).
Is it the norm for CPU to be a bigger line item than transfer?
One nitpick on the transfer. DO offers 5TB which at $.12/GB on GCP would be $600 worth of transfer not $8. If you need lots of egress DO wins hands down.
Realistically few are going to need the full 1TB and most will be closer to 2-10% on average (my guess from hosting industry experience).
I often see these comparisons done to try to discredit the use of cloud computing resources, often comparing single cloud entities to bare metal one-for-one comparisons.
But that's now how compute is delivered in projects any more. The value isn't on the box, it's on the platform.
I'm personally about to bolt together a solution that will need to scale significantly, that uses complex message queuing, enormous amounts of object storage, expose set of APIs, and require a highly available distributed document store. And I'm going to personally do it by myself without having to hire 14 SMEs across each of the domains.
The value isn't in a cheaper linux server, or less expensive bandwidth. The value is me being able to develop a solution from the ground up by bolting together Web services, Amazon S3, SNS/SQS, Lambda and DynamoDB from a menu of integrated services all by myself. Period.
> I often see these comparisons done to try to discredit the use of cloud computing resources, often comparing single cloud entities to bare metal one-for-one comparisons.
The post is not about cloud computing vs bare metal, it is about AWS compute and storage being more expensive. All the alternatives presented are cloud providers. The article provides data, you are providing hyperbole. You are not even wrong. AWS probably IS the most feature complete PAAS, but you can't deny it's also the most expensive IAAS.
I agree. It’s a golden age to be a developer. We can be truly agile with system architecture. The last big system I wrote went through at least three complete architecture overhauls, but all that means is a fun few afternoons on the AWS console. Earlier systems I worked on had to have architecture locked down three months into the project.
I'm not sure it has to stay this way though. I think turn-key private cloud is almost within reach. We clearly aren't there now, but it'll come in time.
Get to a certain maturity and standardization of the cloud software. Don't deliver servers, deliver half-racks, pre-assembled, Turn-key. No screwdrivers, no wiring to braid, just a hundred cores on a couple dozen motherboards and a couple 10G wires coming out the side.
> The value isn't in a cheaper linux server, or less expensive bandwidth. The value is me being able to develop a solution from the ground up by bolting together Web services, Amazon S3, SNS/SQS, Lambda and DynamoDB from a menu of integrated services all by myself. Period.
Cool. It sounds like money doesn’t matter to you because you’ve identified a really high margin business and time to market is critical. This doesn’t match how 99% of businesses work though.
There's really no controversy that AWS, Azure, and GCP are substantially more expensive than bare metal providers, if you're simply comparing machine specs.
So if all you're doing is setting up root access and handling everything yourself, then yes, you're throwing huge wads of cash down the toilet with those platforms versus renting a VPS on Linode, Digital Ocean, etc.
The economic disparity can flip, though, if you use these services as they're intended. i.e., take advantage of features that are charged incrementally and optimise to reduce how much they're activated per user transaction, where "user transaction" is a key user action such as a page serve or a reported being emailed.
The costs can be much lower when you're only using what you need, and not paying for large capacity to be sitting around in case of a peak usage moment. And even more so when you consider there are automatic upgrades and ops to ensure high availability.
Easier said than done. To implement that I will probably need to hire a DevOps guy, and now we have all this cloud formation (or whatever your infra as code choice is) code to manage now. So in reality it probably costs more (devops and more code to manage) than if I just went with a couple cheaper bare metal servers.
If you are running in the cloud then you still need a devops guy same as you would if you where bare metal. In fact you will probably need _more_ devops people the deeper you get into the AWS ecosystem.
I don't know about AWS, but it's also easier for us to sell to clients by saying that Azure takes care of the database updates and backups for us, and can be incredibly robust if they require, and everything is available at the flick of a switch. They are paying a premium for the convenience, but it's a lot of convenience.
The thing is, he's comparing virtual machines at all of these providers.
If you want to use managed services (Fargate, Aurora, DynamoDB, etc) at AWS, it's even more expensive!
So if you just use EC2 then alternatives are cheaper, and if you use managed services it becomes so expensive so can actually afford hiring people to take care of your virtual machines.
Indeed, the link makes AWS look so affordable even ignoring all the value the author ignores (which is most of it) that it almost looks like part of a stealth AWS ad campaign.
The reason I use AWS is because I can be fairly certain, that their uptime is quite high (not 100%, but it's more than I can probably guarantee if I were to run on an own server), that their eco-system is huge and they connect to each other.
Being a "solo hacker" developing multiple websites, I need to prioritize where I put my time in. Thus my "default" choice is using Elastic Beanstalk to deploy websites, be it PHP, Python or something else. I can easily add environment variables, let it connect to RDS (database), scale it up (more servers or bigger servers), I can add SSL certificates, I can add a CDN (Cloudfront), I can add separate data storage (S3) all with a few clicks and from one (albeit super-huge and need-to-get-used-to) dashboard.
Alternatives: I don't trust Google services for anything critical (they tend to shut down easily or they might just change their pricing drastically - e.g. in Google Maps), Azure might be an alternative, just never had the time to check it out intensively.
For "fixed ceiling" projects, I use Digital Ocean (because unfortunately AWS mostly doesn't offer a budget ceiling, just alarms).
I've used various hosts over the last 15 years in the UK and I honestly can't remember any downtime from anyone else. I do remember lots of AWS + Azure downtime though. Remember Netflix going down?
I'm not really sure where you're coming from.
As someone who's been doing this for years, the old days when you had a £10 virtual machine that could handle tens of concurrent requests don't seem to be handled by the low price AWS/Azure servers. Let's not forget, tens of concurrent requests is 100,000s of monthly users, a major win for most startups.
And even the expensive cloud options are utterly rubbish compared to what you can get for a bare metal, I like to compare the two as you can get a Ferrari for £1000 a year, or you can get a bicycle for £1000 but don't worry, it's a "cloud" bicycle so definitely go with that.
I am constantly having problems with an Azure app at the moment timing out because of some poorly optimized queries that are being throttled because they somehow exceed the ever mysterious DTU. On my laptop, a 5 year old laptop, the queries take 10ms. So it's is impossible to run on Azure because "reasons" unless I pay a ridiculous amount of money to upgrade the SQL server. Yes, I could fix the query, but why should I be spending time on that? They're part of the admin system and are simple reports.
Another app I worked on we ended up having to pay £1000 a year just so we could have multiple-domains + SSL, when we expecting to pay £80 p/y.
Personally, every time I use cloud servers I regret it. I keep trying or clients really want it, and can understand the lower devops cost and that with bare metal, every 5-10 years I need to migrate the app to get a better server, but I honestly find the cloud servers so completely underpowered for the cost. I don't understand how they've got so popular. Basic devops for most startups is a day or two task once every few years. Write a deploy script, backup script once, and almost forget about it.
> Alternatives: I don't trust Google services for anything critical
In the case of GCP, the product is the product rather than the user, so there's a greater expectation that it'll not get shut down or that pricing will change easily.
Further, they're obviously committed to being competitive with AWS which requires that they behave similarly.
I mostly work in AWS. I was recently creating an environment and a deployment mechanism for a fairly simple app that was initially developed in Azure. The client was surprised because the cost estimates previous devs gave him (based on Azure) were a lot lower. I don't know what their Azure architecture was - I had to come up with AWS stuff from scratch. Maybe they omitted certain things like backup, DR, auto scaling etc from their initial estimate or maybe it is worth looking at Azure. It is not the first time I'm hearing something along the lines of "Azure is cheaper".
How does your development cycle look like? For example, you decide you want to add S3 or Redis. So you add it to some yaml, or do it in the amazon console. How do you develop/test/debug the code that would use these services, locally, before pushing that to production?
I suspect some of the premium is because "nobody ever got fired for buying AWS"
If you chose AWS and there's a security incident or hours-long outage, well, some of the best in the industry experienced the same thing, what can you do? Whereas if you chose Linode and they had exactly the same incident justly or otherwise, people might question your choice of a cut price $10/month provider.
This is why a company i worked at about 3 years ago switched to AWS. I suggested using Digital Ocean and argued that we didn't need the complexity of AWS. But the CEO (who is so tech-illiterate that he struggles to send basic email, I am not even joking) has heard that everyone else uses AWS, so he wanted to use it too. Nobody was going to stop this guy from switching over to AWS. He wanted his company to rank among the cool kids that was built on AWS. He had heard of AWS and he trusts Amazon. He has never heard of Digital Ocean. His un-warranted opinion on switching to AWS was not worth fighting, so I let him switch as he desired. If any problem had ever come up with Digital Ocean, he would have pointed fingers at me and said "this wouldn't have happened with AWS, because they are AMAZON!".
And thus is why one small company dumps $1,000 a month into AWS when it could dump about $250 a month into Digital Ocean for comparable results. I know these are small numbers for many people on here, but it is a good illustration.
For what its worth. I was able to justify getting an AWS Certification because of this, which has been surprisingly helpful to have on my resume, even with companies that don't use AWS. It seems to be a fairly respected certification that demonstrates knowledge of cloud computing in general.
Definitely the case at my company. A while ago we did an evaluation of different cloud providers and hosting solutions but it was pretty clear that “AWS” was the only acceptable answer. Which is probably ok. If you don’t have much experience in that space AWS is probably the reasonable and safe way to go.
As someone who's worked at many startups and look at this from that point of view.
Here are my key points:
- What makes aws great is NOT ec2... it's the ALB, route53, ecs/eks/fargate, redshift, rds, lambda, SQS, Kinesis, cloudwatch, cloudfront... ect. The last startup I was at our production MySql got corrupted... glad I paid for RDS and had their 5 minute interval backups to s3 that required 1 click.
- Nearly everyone is on aws, if aws is down the internet is down. The down time from aws is often hand waved away.
- With aws I have access to 3rd party services like snowflake and databricks. Hiring and training talent is more expensive then ease of use services.
- The cost to performance ratio had always been worth it for every startup* I worked at (double given aws gives baiscly a free year when you raise a round of vc funding). Its costly to dedicate staff/time to infrastructure. I had a real time data pipeline up in under 2 hrs using kensis and imply. Just having to set up somthing like kafka alone will take a multiplitude longer. *The exception being the startup that did billions of requests a day... I doubt they regretting paying aws to get to that point after 6ish years.
You’ll notice that the most dramatic responses come from other AWS devs like yourself (the first answer in the quora link). This is because as an AWS devotee you end up in an echo chamber.
I'm no AWS fanboy, and sure its not the cheapest out there, but this is assuming that all cloud providers provide the same level of services for their machines, which is a complete joke. There are OS, Software, security, ease of tools, even speed of scale considerations that have more to do with why 90% of the internet is on AWS lol. There's a reason the only approved government cloud for years has been AWS. Also, heads up, AWS also offers far more services than ALL of those other providers you mentioned. So when you actually start running a real ONLINE business, and need ETL, MUTLI-AZ, WHAREHOUSEING, AUTOSCALE, S3, ETC, all those things talk to each other out of the box and your vendor list doesn't go from 1 to 50.
Why bother locking in when Kubernetes operators and resources can deploy and maintain the lifecycle of common services? Why would I want some old, forked version of elasticsearch (for example) when I can have the latest version automatically provisioned and scaled with high availability?
What is the AWS value add as Kubernetes operators become mature? They own datacenter space and have contracts for power and internet.
And it's just comparing virtual machines. I don't work at a big tech co -- I'm an enterprise dev working at smaller shops -- and I will try my best to never use virtual machines again.
I want serverless options, I want message queues that scale out of the box, I want stuff that lets me try different k8s configurations.
And I haven't done any research so I guess it's unfair for me to speculate, but will the small guys be guaranteed to be around in 5-10 years? I'm sure Azure, AWS and GCP aren't going anywhere any time soon.
So the comparison means nothing to me. Getting more hosting is way easier than getting new programmers. I'm going the lowest maintenance route I can, provided the costs are somewhat reasonable. I'm willing to pay a premium because stability and easy-to-use features is what I care about.
I think the point is that many AWS customers aren’t doing all of that and still assume they are saving money.
I would finger in the wind guess that a majority of AWS customers are just renting servers and storage and not even scratching the surface of the usefulness of the platform. Just my guess.
Yes OVH and DO are much cheaper, I have used both.
I retired this year, last job was engineering manager at Capital One (managed deep learning team, I had little to do with infrastructure). At large scale, AWS is a good choice because of the capable security roles that they support. Not a perfect system, but when a large corporation wants to go all in on cloud deployment, AWS is a reasonable choice.
Personally, I really appreciate getting a free GCP micro instance that usually hosts two semi permanent web demos. Before I bought a good at-home GPU system, GCP was a good option for spinning up instances for machine learning runs, but Azure and AWS is also good for this.
If I were trying to spin up a startup business, I probably would use DO or OVH with a hot smaller backup always running that I could switch DNS settings for rollover - but not nearly as robust as multiple availability zones with one of the expensive cloud providers.
It is true that AWS is expensive considering cost of raw hardware resources. However, it is also true that it is very easy to create many kinds of apps and their support is not bad. For example using their "serverless" stuff (lambda, api gateway, static hosting in S3 and cloudfront) it is very easy to make apps with hosting cost almost perfectly matching the number of users so the only upfront capital expenditure is dev time. Another thing that is very easy on AWS is micro service apps (geographically distributed or not) consuming their managed services such as elasticache etc. Finally, automated deployments (allowing for continuous development/continuous integration if one wishes to use it) are also easy to implement quickly...
The price one pays for it is vendor lock in. I wrote many mini-non-mission-critical apps to run on AWS, but I would think twice about putting my main business app in AWS without (costly)backup.
I imagine that for startups it might make sense to create their initial product on AWS and when the product takes off spend some of first revenue making it cloud agnostic.
The benefit of AWS is that a startup can implement a proof of concept quickly without having to worry about managing their own elastic search for example, and once it proves viable effort can be added to escape vendor-lock-in.
You’re always locked into your infrastructure at a certain scale. All the time you waste trying to avoid lock in, you could be using to actually deliver value to customers.
Even if you are just running a bunch of EC2 instances the pain of transitioning your workload and data usually isn’t worth it.
I don't agree with the pricing comparison, it is factually incorrect. For instance the digital ocean equivalent in AWS would not be an EC2 but a similarly sized light sail instance which is $40/monthly flat. There are also other factors like region, on demand vs reservations that are ignored.
Sometimes it's all about priority. I can't speak for the author and I don't know what the author needs, but my experience tells me, again and again, using cloud services is all about productivity, and people tend to underestimate the cost of lost productivity and missing opportunities.
I'll give two examples.
Netflix focused on productivity. They even popularized the phrase "undifferentiated heavy lifting". They were able to build a metric system, in less than a year, that supported full OLAP query with practically arbitrary number of dimensions. The system ingested > 20 billion data points per minute, ran on more than a thousand machines, and did not set quota to any team or service. The entire system was built and operated by merely three engineers. This was simply not possible without AWS. Similarly, Netflix's data pipeline, Elasticsearch cluster, and Druid clusters were developed and operated by two engineers. They were oncall 24x7, yet they rarely got waken up in the middle of a night. You think this was possible if Netflix tried to build its own infrastructure?
The counter example is Uber. Uber was ambitious and wanted to build everything. The results? More than 200 alerts got fired within 2 hours -- the poor oncall engineer couldn't do anything but to keep ack'ing the alerts. Wanted to use Cassandra? 10-page forms that were more tedious than applying for the Ivy schools, weeks of waits, lots of angry emails, countless meetings, and still no Cassandra instances. Wanted to add 50 machines to your ES cluster? PPTs, meetings, escalation all the way to CTO, and weeks of planning. Want to try out Apache Kudu? No way, because our container-based EC2-like system did not support persistent volume, let alone something similar to EBS or EFS. Wanted to use container for your ES cluster? Same answer. Wanted to create your bespoke cluster topology? Same answer because apparently custom network configuration was not supported. After waiting for more than three years? Same answer. If this was not expensive, I don't know what was.
So, you asked if you should save a few thousand bucks a month for your fast-growing company?
When comparing virtual machine and ephemeral block storage you're kind of missing the point of AWS "value" for me. It's the deep integration to other services. So yeah DO are perfectly fine if I just need that VPS and a few S3 buckets, but if I need managed Redis? Or something like SSM for managing secrets? Or a managed Elastic search instance?
Redis themselves offer a managed service. There's https://www.envkey.com/ and several alternatives. Elasticsearch offers 3 completely different tiers of support and offerings.
Everyone going to AWS is going there for an AWS-like experience. As someone who runs pretty big workloads on AWS, you still very much need the help when you get to a certain scale, and there is a ton of value in just buying a support contract from Elastic or Redislabs, even when using their managed services or running it on an ec2.
Given that AWS operates at an unprecedented scale yet still seems to charge a premium over smaller operators, can someone explain why their operating margin[0] of ~25% seems relatively small in comparison to what one might expect?
Is this simply because they reinvest a lot of their revenue into product development, or are they much less efficient than they might be able to be?
Ignoring that this really isn't an accurate comparison of TCO or performance, this really isn't surprising to anyone who has experience working with enterprise sales. Specs alone will rarely win a sale. Intangibles still have a lot of worth in the b2b space.
Meanwhile I have a 64GB DDR5, 512SSD and 4 TB 7200 RPM hard drive, Ryzen ( 2700 - 8 core @3,2Ghz) for 900$ as a docker host kicking cloud butt.
Indeed, I don't need global-wide services though. But it's more than enough for my localized SAAS.
I'll probably add some PI4's in a cluster and experiment with that ( eg. Hosting 2 message brokers instead of one) or the elastic search that requires 1,5 GB RAM ( I'm not sure yet), since I don't want that in the same server.
While I appreciate the analysis, the perspective this whole blog post takes misses the mark on how AWS provides value. You can't look at it simply as providing commodity computation and storage.
As a solo SAAS founder, I use AWS because of all the other services that surround those offerings (Cognito for user management, DynamoDB for database, Serverless stack for API, SES, SQS, Route53, ECS, I could go on for a while) provide a huge amount of value for me in terms of not having to fully set up and maintain that functionality myself. I pay next to nothing for these services and the developer and devops hours saved is worth many thousands of $ to me. However, because of this reliance, I then end up knowingly overpaying for storage, computation, and bandwidth (the latter is by far the biggest concern, the former 2 are fairly minor, so I'm looking at alternative CDN providers). However, other than that, even though my AWS bill is the biggest my SAAS has, I happily pay it. There would be almost no way for me to run this thing solo without it (I'm not saying someone else couldn't, just for me).
Yeah this is an extremely limited use case with very few data points. It doesn't take into account corporate discounts, spot instances, reserved instances, savings gained from replatforming/rearchitecting to *aaS options. The author here must have very limited enterprise cloud experience.
The premium, and highly profitable, market leader is more expensive than other offerings that are trying to play catch-up on market share. This is not exactly a groundbreaking or unknown finding.
BMWs also cost more then Fiat’s
Also, AWS has become the new IBM and as they used to say “nobody gets fired for choosing IBM.” In the current market if you choose something other than AWS people will question your decision if something goes wrong.
I think this is a nice little piece (though as others have said - not exactly breaking new ground) and I just wanted to add something to this:
> "Smaller providers cannot operate at my yottabyte scale"
I used to work at a company, now closed, that at one point was the #2 or #3 user of S3 in the world. We were not a big company and the fact that we were inexorably bound to Amazon was a harbinger of our doom. That we were too large for most solutions and that we had become trapped on one provider was a sign of our poor decisions and our inability to think laterally and, effectively, do anything other than digging straight down.
I raise this because I think that, if you ever find yourself thinking you're too big for a small provider, I think you should treat that fact as an existential threat to your company. Either you build your own hardware setup or you break up how you do things so you can use smaller companies (even if you chose not to). All the tooling and learning you do to fragment, migrate and validate your data will be invaluable.
[+] [-] mdasen|6 years ago|reply
First, why are we looking at Google's N2 instances rather than N1 instances? The N1 instance would be $52 rather than $61, but the author hasn't talked about why they selected the more expensive N2 instances. Given that competitors don't talk about the CPUs they're using, it seems weird to select the more expensive CPUs for Google.
Second, Google offers dedicated hyper-threads. The author says that cloud providers (like Google) are more expensive, but they've compared dedicated hyper-threads on Google with shared hyper-threads on Digital Ocean. DO offers an 8GB 2 vCPU (2 dedicated hyper-thread) instance for $60/mo, but the author is using the 8GB instance with shared CPU for $40/mo.
So, with storage, Google costs about $52 while DO costs $60 for an equivalent instance. Linode's $60 8GB dedicated vCPU instance does come with 4 cores so it seems like a better value. One can also argue that the included transfer on Digital Ocean offers $8 in value. However, the premium for the instances alone isn't as big for Google. In fact, google seems cheaper.
Now, it's probably a fair comparison for Amazon's instance which only gives you CPU credits for around a third of the time.
Google's automatic sustained-use discounts and dedicated hyper-threads make it really competitive with Digital Ocean (if you don't need a lot of bandwidth) as long as you're doing an apples-to-apples comparison. DO's over-sold CPU instances will be cheaper because you're getting less. If DO didn't offer dedicated hyper-thread instances, maybe you could claim that they were equivalent. But DO literally sells something more equivalent for $60 rather than $40.
EDIT: Also, OVH is a bad comparison. OVH is cheap, but inconsistent in their product offerings. The author notes that they offer hosted DB services, but that's only in France. Their US, Canada, Singapore, Germany, Poland, and Australia locations don't offer that. Their US website is missing pricing on many of the things they seem to offer. Plus, at a certain point, when you're trusting someone with your datastore, you want a high level of certainty. OVH's website doesn't inspire confidence given how much seems like someone didn't even check it. It's certainly cheap, but it seems cheap for a reason.
One final thought: I'm surprised the author hasn't talked about transfer pricing. Cloud providers usually charge a bundle while others charge a lot less. 1 cent per GB at Digital Ocean is a lot less than the 9 cents per GB at AWS. AWS even charges 1 cent per GB for data transfer between AZs in the same region. If you're running a compute and Kafka cluster in 2 AZs, then writing 1GB to a quorum of 3 servers means paying 1.5 cents per GB written (assuming that half the time you're writing to 2 servers outside your AZ and half the time you're writing to one server outside your AZ). Likewise, when you go to read it, if half the time you're not reading from a local AZ, you're paying half-a-cent per GB to read the data. So processing 1GB costs 2 cents. That adds up fast. Everyone compares things like compute instances and seems to ignore data transfer costs. Frankly, Google is competitive on storage and compute costs with places like DO. However, if you are trying to create the next Imgur, you probably care more about transfer costs than compute or storage costs.
[+] [-] calpaterson|6 years ago|reply
The reason I chose the n2-standard-2 over the n1-standard-2 was because the N1 instance in question has only 7.5GB of memory rather than 8GB. I let OVH slip on this one because they didn't have any other instances in the same ballpark but Google did. One of the eggs you have to crack when doing such a comparison I'm afraid.
With respect to the discussion of what really is a fair comparison to 1 unit of Google's proprietary vCPU units: that is of course open to speculation. One of the tremendous problems of cloud computing pricing is that the big three suppliers like to a) take a proprietary unit like "vCPU" which is not in common parlance and b) then repeatedly quote the cost for it in a tiny unit like hours. An n2-standard-4 is 0.0517 USD per hour - great. And let me really get the boot in: I hate that google's pricing page continuously defaults to the this useless unit on every page load. That company is probably the largest producer of web cookies worldwide but to remember that one, essential, UI slider was too much apparently. I broadly file this under the objection of "This is a naive navigation of the pricing schemes of $BIG_TECH" that I cover in the article
Transfer pricing is a real issue and arguably where $BIG_TECH really come and rip your face off. Egress bandwidth is priced at an unreal level precisely because people like me doing comparisons forget about it. In this respect $BIG_TECH are like the chinese restaurants where the dish is £5 but a 250ml bottle of coke to go with it is £6. I should have included it and if I did the comparison again I would model a small defined application rather than a small specific spec size. Mea culpa.
I still think the view I express in the article is right: $BIG_TECH cost a chunk more.
[+] [-] onlyrealcuzzo|6 years ago|reply
Is it the norm for CPU to be a bigger line item than transfer?
[+] [-] drewnick|6 years ago|reply
Realistically few are going to need the full 1TB and most will be closer to 2-10% on average (my guess from hosting industry experience).
[+] [-] blantonl|6 years ago|reply
But that's now how compute is delivered in projects any more. The value isn't on the box, it's on the platform.
I'm personally about to bolt together a solution that will need to scale significantly, that uses complex message queuing, enormous amounts of object storage, expose set of APIs, and require a highly available distributed document store. And I'm going to personally do it by myself without having to hire 14 SMEs across each of the domains.
The value isn't in a cheaper linux server, or less expensive bandwidth. The value is me being able to develop a solution from the ground up by bolting together Web services, Amazon S3, SNS/SQS, Lambda and DynamoDB from a menu of integrated services all by myself. Period.
[+] [-] sly010|6 years ago|reply
The post is not about cloud computing vs bare metal, it is about AWS compute and storage being more expensive. All the alternatives presented are cloud providers. The article provides data, you are providing hyperbole. You are not even wrong. AWS probably IS the most feature complete PAAS, but you can't deny it's also the most expensive IAAS.
[+] [-] songshu|6 years ago|reply
[+] [-] scarface74|6 years ago|reply
[+] [-] hinkley|6 years ago|reply
Get to a certain maturity and standardization of the cloud software. Don't deliver servers, deliver half-racks, pre-assembled, Turn-key. No screwdrivers, no wiring to braid, just a hundred cores on a couple dozen motherboards and a couple 10G wires coming out the side.
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] kortilla|6 years ago|reply
Cool. It sounds like money doesn’t matter to you because you’ve identified a really high margin business and time to market is critical. This doesn’t match how 99% of businesses work though.
[+] [-] mmahemoff|6 years ago|reply
So if all you're doing is setting up root access and handling everything yourself, then yes, you're throwing huge wads of cash down the toilet with those platforms versus renting a VPS on Linode, Digital Ocean, etc.
The economic disparity can flip, though, if you use these services as they're intended. i.e., take advantage of features that are charged incrementally and optimise to reduce how much they're activated per user transaction, where "user transaction" is a key user action such as a page serve or a reported being emailed.
The costs can be much lower when you're only using what you need, and not paying for large capacity to be sitting around in case of a peak usage moment. And even more so when you consider there are automatic upgrades and ops to ensure high availability.
[+] [-] blissofbeing|6 years ago|reply
If you are running in the cloud then you still need a devops guy same as you would if you where bare metal. In fact you will probably need _more_ devops people the deeper you get into the AWS ecosystem.
[+] [-] SketchySeaBeast|6 years ago|reply
[+] [-] eloisant|6 years ago|reply
If you want to use managed services (Fargate, Aurora, DynamoDB, etc) at AWS, it's even more expensive!
So if you just use EC2 then alternatives are cheaper, and if you use managed services it becomes so expensive so can actually afford hiring people to take care of your virtual machines.
[+] [-] wUabkSG6L5Bfa5|6 years ago|reply
[+] [-] scarface74|6 years ago|reply
[+] [-] kugelblitz|6 years ago|reply
Being a "solo hacker" developing multiple websites, I need to prioritize where I put my time in. Thus my "default" choice is using Elastic Beanstalk to deploy websites, be it PHP, Python or something else. I can easily add environment variables, let it connect to RDS (database), scale it up (more servers or bigger servers), I can add SSL certificates, I can add a CDN (Cloudfront), I can add separate data storage (S3) all with a few clicks and from one (albeit super-huge and need-to-get-used-to) dashboard.
Alternatives: I don't trust Google services for anything critical (they tend to shut down easily or they might just change their pricing drastically - e.g. in Google Maps), Azure might be an alternative, just never had the time to check it out intensively.
For "fixed ceiling" projects, I use Digital Ocean (because unfortunately AWS mostly doesn't offer a budget ceiling, just alarms).
[+] [-] mattmanser|6 years ago|reply
I'm not really sure where you're coming from.
As someone who's been doing this for years, the old days when you had a £10 virtual machine that could handle tens of concurrent requests don't seem to be handled by the low price AWS/Azure servers. Let's not forget, tens of concurrent requests is 100,000s of monthly users, a major win for most startups.
And even the expensive cloud options are utterly rubbish compared to what you can get for a bare metal, I like to compare the two as you can get a Ferrari for £1000 a year, or you can get a bicycle for £1000 but don't worry, it's a "cloud" bicycle so definitely go with that.
I am constantly having problems with an Azure app at the moment timing out because of some poorly optimized queries that are being throttled because they somehow exceed the ever mysterious DTU. On my laptop, a 5 year old laptop, the queries take 10ms. So it's is impossible to run on Azure because "reasons" unless I pay a ridiculous amount of money to upgrade the SQL server. Yes, I could fix the query, but why should I be spending time on that? They're part of the admin system and are simple reports.
Another app I worked on we ended up having to pay £1000 a year just so we could have multiple-domains + SSL, when we expecting to pay £80 p/y.
Personally, every time I use cloud servers I regret it. I keep trying or clients really want it, and can understand the lower devops cost and that with bare metal, every 5-10 years I need to migrate the app to get a better server, but I honestly find the cloud servers so completely underpowered for the cost. I don't understand how they've got so popular. Basic devops for most startups is a day or two task once every few years. Write a deploy script, backup script once, and almost forget about it.
(I absolutely love s3 though for backups though)
[+] [-] halbritt|6 years ago|reply
In the case of GCP, the product is the product rather than the user, so there's a greater expectation that it'll not get shut down or that pricing will change easily.
Further, they're obviously committed to being competitive with AWS which requires that they behave similarly.
[+] [-] Roark66|6 years ago|reply
[+] [-] the_gipsy|6 years ago|reply
[+] [-] anaganisk|6 years ago|reply
[+] [-] michaelt|6 years ago|reply
If you chose AWS and there's a security incident or hours-long outage, well, some of the best in the industry experienced the same thing, what can you do? Whereas if you chose Linode and they had exactly the same incident justly or otherwise, people might question your choice of a cut price $10/month provider.
[+] [-] jacurtis|6 years ago|reply
And thus is why one small company dumps $1,000 a month into AWS when it could dump about $250 a month into Digital Ocean for comparable results. I know these are small numbers for many people on here, but it is a good illustration.
For what its worth. I was able to justify getting an AWS Certification because of this, which has been surprisingly helpful to have on my resume, even with companies that don't use AWS. It seems to be a fairly respected certification that demonstrates knowledge of cloud computing in general.
[+] [-] Ididntdothis|6 years ago|reply
[+] [-] mharroun|6 years ago|reply
Here are my key points:
- What makes aws great is NOT ec2... it's the ALB, route53, ecs/eks/fargate, redshift, rds, lambda, SQS, Kinesis, cloudwatch, cloudfront... ect. The last startup I was at our production MySql got corrupted... glad I paid for RDS and had their 5 minute interval backups to s3 that required 1 click.
- Nearly everyone is on aws, if aws is down the internet is down. The down time from aws is often hand waved away.
- With aws I have access to 3rd party services like snowflake and databricks. Hiring and training talent is more expensive then ease of use services.
- The cost to performance ratio had always been worth it for every startup* I worked at (double given aws gives baiscly a free year when you raise a round of vc funding). Its costly to dedicate staff/time to infrastructure. I had a real time data pipeline up in under 2 hrs using kensis and imply. Just having to set up somthing like kafka alone will take a multiplitude longer. *The exception being the startup that did billions of requests a day... I doubt they regretting paying aws to get to that point after 6ish years.
[+] [-] kortilla|6 years ago|reply
This is not even close to true. The 3rd answer has some numbers for you: https://www.quora.com/How-essential-is-AWS-to-the-internet
You’ll notice that the most dramatic responses come from other AWS devs like yourself (the first answer in the quora link). This is because as an AWS devotee you end up in an echo chamber.
[+] [-] jahrichie|6 years ago|reply
[+] [-] birdyrooster|6 years ago|reply
What is the AWS value add as Kubernetes operators become mature? They own datacenter space and have contracts for power and internet.
[+] [-] asdfman123|6 years ago|reply
I want serverless options, I want message queues that scale out of the box, I want stuff that lets me try different k8s configurations.
And I haven't done any research so I guess it's unfair for me to speculate, but will the small guys be guaranteed to be around in 5-10 years? I'm sure Azure, AWS and GCP aren't going anywhere any time soon.
So the comparison means nothing to me. Getting more hosting is way easier than getting new programmers. I'm going the lowest maintenance route I can, provided the costs are somewhat reasonable. I'm willing to pay a premium because stability and easy-to-use features is what I care about.
[+] [-] hurricanetc|6 years ago|reply
I would finger in the wind guess that a majority of AWS customers are just renting servers and storage and not even scratching the surface of the usefulness of the platform. Just my guess.
[+] [-] mark_l_watson|6 years ago|reply
I retired this year, last job was engineering manager at Capital One (managed deep learning team, I had little to do with infrastructure). At large scale, AWS is a good choice because of the capable security roles that they support. Not a perfect system, but when a large corporation wants to go all in on cloud deployment, AWS is a reasonable choice.
Personally, I really appreciate getting a free GCP micro instance that usually hosts two semi permanent web demos. Before I bought a good at-home GPU system, GCP was a good option for spinning up instances for machine learning runs, but Azure and AWS is also good for this.
If I were trying to spin up a startup business, I probably would use DO or OVH with a hot smaller backup always running that I could switch DNS settings for rollover - but not nearly as robust as multiple availability zones with one of the expensive cloud providers.
[+] [-] Roark66|6 years ago|reply
The price one pays for it is vendor lock in. I wrote many mini-non-mission-critical apps to run on AWS, but I would think twice about putting my main business app in AWS without (costly)backup.
I imagine that for startups it might make sense to create their initial product on AWS and when the product takes off spend some of first revenue making it cloud agnostic.
The benefit of AWS is that a startup can implement a proof of concept quickly without having to worry about managing their own elastic search for example, and once it proves viable effort can be added to escape vendor-lock-in.
[+] [-] scarface74|6 years ago|reply
Even if you are just running a bunch of EC2 instances the pain of transitioning your workload and data usually isn’t worth it.
[+] [-] samx18|6 years ago|reply
[+] [-] g9yuayon|6 years ago|reply
I'll give two examples.
Netflix focused on productivity. They even popularized the phrase "undifferentiated heavy lifting". They were able to build a metric system, in less than a year, that supported full OLAP query with practically arbitrary number of dimensions. The system ingested > 20 billion data points per minute, ran on more than a thousand machines, and did not set quota to any team or service. The entire system was built and operated by merely three engineers. This was simply not possible without AWS. Similarly, Netflix's data pipeline, Elasticsearch cluster, and Druid clusters were developed and operated by two engineers. They were oncall 24x7, yet they rarely got waken up in the middle of a night. You think this was possible if Netflix tried to build its own infrastructure?
The counter example is Uber. Uber was ambitious and wanted to build everything. The results? More than 200 alerts got fired within 2 hours -- the poor oncall engineer couldn't do anything but to keep ack'ing the alerts. Wanted to use Cassandra? 10-page forms that were more tedious than applying for the Ivy schools, weeks of waits, lots of angry emails, countless meetings, and still no Cassandra instances. Wanted to add 50 machines to your ES cluster? PPTs, meetings, escalation all the way to CTO, and weeks of planning. Want to try out Apache Kudu? No way, because our container-based EC2-like system did not support persistent volume, let alone something similar to EBS or EFS. Wanted to use container for your ES cluster? Same answer. Wanted to create your bespoke cluster topology? Same answer because apparently custom network configuration was not supported. After waiting for more than three years? Same answer. If this was not expensive, I don't know what was.
So, you asked if you should save a few thousand bucks a month for your fast-growing company?
[+] [-] ekvilibrist|6 years ago|reply
[+] [-] chucky_z|6 years ago|reply
Everyone going to AWS is going there for an AWS-like experience. As someone who runs pretty big workloads on AWS, you still very much need the help when you get to a certain scale, and there is a ton of value in just buying a support contract from Elastic or Redislabs, even when using their managed services or running it on an ec2.
[+] [-] WatchDog|6 years ago|reply
[0] https://ir.aboutamazon.com/news-releases/news-release-detail...
[+] [-] sciurus|6 years ago|reply
See the chart at https://ibb.co/M7nnMvL for some different scenarios.
[+] [-] kube-system|6 years ago|reply
[+] [-] NicoJuicy|6 years ago|reply
Indeed, I don't need global-wide services though. But it's more than enough for my localized SAAS.
I'll probably add some PI4's in a cluster and experiment with that ( eg. Hosting 2 message brokers instead of one) or the elastic search that requires 1,5 GB RAM ( I'm not sure yet), since I don't want that in the same server.
[+] [-] ansible|6 years ago|reply
You are using commercial-grade hardware, with no ECC RAM and other server-grade features.
You are also missing RAID, the UPS power supply and generator backup, as well as redundant Internet connections to different Tier-1 providers.
[+] [-] samsquire|6 years ago|reply
[+] [-] kohanz|6 years ago|reply
As a solo SAAS founder, I use AWS because of all the other services that surround those offerings (Cognito for user management, DynamoDB for database, Serverless stack for API, SES, SQS, Route53, ECS, I could go on for a while) provide a huge amount of value for me in terms of not having to fully set up and maintain that functionality myself. I pay next to nothing for these services and the developer and devops hours saved is worth many thousands of $ to me. However, because of this reliance, I then end up knowingly overpaying for storage, computation, and bandwidth (the latter is by far the biggest concern, the former 2 are fairly minor, so I'm looking at alternative CDN providers). However, other than that, even though my AWS bill is the biggest my SAAS has, I happily pay it. There would be almost no way for me to run this thing solo without it (I'm not saying someone else couldn't, just for me).
[+] [-] zywx|6 years ago|reply
But yes OVH has a lot to offer and got my preference too. But I am French and it is a French success!
[+] [-] bgroins|6 years ago|reply
[+] [-] code4tee|6 years ago|reply
BMWs also cost more then Fiat’s
Also, AWS has become the new IBM and as they used to say “nobody gets fired for choosing IBM.” In the current market if you choose something other than AWS people will question your decision if something goes wrong.
[+] [-] aeturnum|6 years ago|reply
> "Smaller providers cannot operate at my yottabyte scale"
I used to work at a company, now closed, that at one point was the #2 or #3 user of S3 in the world. We were not a big company and the fact that we were inexorably bound to Amazon was a harbinger of our doom. That we were too large for most solutions and that we had become trapped on one provider was a sign of our poor decisions and our inability to think laterally and, effectively, do anything other than digging straight down.
I raise this because I think that, if you ever find yourself thinking you're too big for a small provider, I think you should treat that fact as an existential threat to your company. Either you build your own hardware setup or you break up how you do things so you can use smaller companies (even if you chose not to). All the tooling and learning you do to fragment, migrate and validate your data will be invaluable.