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 do think the data in this article was valuable, and it probably is likely that AWS charges more for these services because they can - the total value people get from the whole AWS system makes it worth it. So if you only care about a compute instance and storage, you probably don't need AWS, but the second the decision becomes "Do I have to hire a developer if I have to do this thing on my own?" it becomes pretty clear why people want a more full-featured cloud.
The value to me personally is the reliability. Amazon continues to deliver on highly reliable services, which is IMO the main reason they can charge such a premium.
In my opinion AWS Console is one of the best designed from all cloud providers out there. GCP is years behind, even with $100k credits I just can force myself to use that pice of unusable crap. Probably Material Design is here to blame, as it's terrible on web.
DigitalOcean does a great job with their interface but they don't even have 1/20 of features offered by AWS, at the end it will share the fate of GCP. Being extremely bloated. :)
Azure is 5 years ahead of Google Cloud. AWS is 5 years ahead of Azure. The differences are that extreme.
I hear this for the first time; to me all the Amazon related interfaces I've used have resulted in poor user experience at best. This goes from the store to AWS and sellerscentral should really get a special mention. In AWS, I always felt that everything was super cluttered and important things hard to find, nowhere near intuitive. This goes for high level concepts as much as component behaviors like lists in s3... So, I'd be super curious to hear what you found that was so good. Care to share?
To each their own, but the ability to deploy seemingly endless amounts of computing power to do whatever I want, with the click of my mouse, is something I could only dream of as a kid.
It took me back to that childhood experience of playing with Lego. Everything just "snaps together", and a lot of things that ought to be difficult were shockingly easy.
Mid-way through the project the customer apologised because they forgot to mention that they needed geo-redundancy for every layer, including the database.
It was a checkbox on AWS Aurora. A literal checkbox. I pressed it. There was a progress notification and then it was done. Just like that. A distributed cluster.
I know what's involved, it's not like I haven't built SQL Server clusters dozens of times before, I've even scripted the process before. But it's kind of magic to see it condensed down to a the absolutely most trivial true/false button that it could possibly be.
For example, how do you handle long running asynchronous processing, distributed pub sub, or services that have widely different performance and scaling characteristics?
If you haven’t seen this, it might be time to start looking for a more interesting job.
For a truly distributed system just look at a distributed hashtable. You can do it with a cloud provider, but it somehow contradicts the point of a DHT to control the nodes, does it not?
This is the only use case you see for what I described? Most data processing I saw works exactly like that, too: some compute cluster using a shared persistence layer (either object store or a network filesystem).
Edge computing, otoh, explicitly exists because not everything can be handled well in that way.
I didn’t know at the time that the consultants were a bunch of old school netops folks who took one AWS exam and all they knew was how to duplicate an on prem infrastructure in AWS.
Of course as always, if you take your on prem thinking and processes to the cloud, you now have the worse of both worlds. All of the process and people overhead of being on prem and you’re spending more for the privilege.
I started studying for the AWS architect associate exam just so I could talk the talk and I realized how much unnecessary work we were doing instead of using managed services. I presented my entire plan to the consultants and they didn’t tell me once that there was a better way.
For phase 2, I wanted to be more “cloud native” there was so much push back from the netops people who could tell they were losing their grip.
Not long after, I changed companies to work for a company where the new CTO - a smart guy who is definitely not young - always prefers managed services.
I’ve worked for small companies and everything I do in AWS, I’ve had to do on prem in the last 20 years. Never again.
Of course as a developer, the thought of creating infrastructure just by writing code is attractive.
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.
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.
Cost matters to all businesses. But you have to do proper accounting. Do I hire more people on my team to build automation to create our database clusters, or do I just punch a button and then pay the bill? There must be a point where it makes sense to roll your own, but that point is likely to be fairly high up.
Whenever I hear that someone 'can do it cheaper', I often find that the math is not correct.
By the way, if you are not big enough that the relative cost of a VM between cloud providers is the primary concern, guess what, some of the services mentioned are really cheap – in some cases cheaper than running your own in whatever provider. You don't have to maintain VMs 24/7 to store data on S3, or to make use of SNS, SQS, DynamoDB. Lambda is the poster child for not maintaining servers
If you are really tiny, go use those services instead of wasting any time spinning up servers.
PS: If you want to try this is my referral code (10$ off): https://app.cloud66.com/referral?code=IOwgnqPHIEJwEzG
Somebody else said it best. People go to the cloud not to escape the hardware, it is to escape all the people who administrate the hardware. Truer words have never been spoken. Escaping all the gatekeepers of traditional setups adds significant value to a company.
That might be why uninformed people do it. But the real cost of managing your own hardware is devops, which doesn’t actually go away on the cloud.
Not using multi-cloud or not having a super trivial way to switch is just negligence and wouldn’t be tolerated in any large businesses.
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.