Part of that you pay through your colocation bill and part you pay by the hour (depending on your contract/provider).
But the colo techs can do pretty much anything you would do yourself.. Plenty of people run racks in locations they have never set foot into themselves..
There are certainly companies and problems for which colocating still makes more sense than the cloud but 9 out of 10 of these articles completely gloss over most of the costs. This article is one of them.
this is all included into colocation service?
Also, you'll never get into a situation on AWS where you have a 3 day lead-time for a replacement GBIC, or NVMe drive, or seomthing, while your customers scream and bail out for a competitor that isn't down.
Yes, you need to manage the infrastructure, but now it's a software configuration task instead of a physical maintenance one.
Obvious anecdata here, but it's not hard to run a redundant physical infrastructure that is low maintenance. Obviously bad luck is a thing, but with the correct planning and setup, physical infrastructure isn't that big of a deal for most web businesses.
This means a company that hires you does not need to use AWS for some of the services, because you've got the necessary expertise to do it yourself. Other companies buy this expertise via fully managed services, like S3 or Aurora.
Once you have expertise doing X, it might seem wrong paying premium to cloud providers to do the same thing for you. But other companies don't have you on board. They save themselves time recruiting two sysops with partcular skillset, and spin up a working HA rdbms in a day.
Comparing ec2 and vms on xenserver doesn't sound convincing because ec2 itself is simple. But comparing HA Aurora or Dynamo cluster to on-prem solution is a different beast. As a dev, I don't really want to know all the gore details of managing HA rabbitmq, and might opt for SQS instead.
I'd take it most people just feel enthusiastic about technologies they don't even need and being able to run stuff with mouse clicks makes them feel accomplishing.
To me, AWS is just an expensive provider that only makes sense to put backup files because of cheap storage and no incoming bandwidth cost.
Re first argument: I don't know how to implement DDoS protection, neither is my company a DDoS protection shop. Should I learn how to do it myself, or pay CloudFlare to do it for me? What about S3? What about Aurora/Dynamo/SQS? Where is the line between "your company TOTALLY has to do it on its own" vs "pay the people who know how to run X to run it for you"?
Regarding AWS prices: it's not like you are forced to use AWS. Use the cloud your team is most familiar with. I'm not an expert on cloud offerings, yet if your problem is $20k/month and $15k/month infrastracture costs, you might be solving a wrong problem.
I taught myself as I went. I save about 10x over AWS. I would likely make the same decision today if I was starting from scratch, as I did 12+ years ago when I first started doing infra for our small website.
Infra is not magical, it's probably the easiest part of my job. Way easier than messing around with JS dependencies, way easier than troubleshooting a segfault in a C extension for our Rails app, and way easier than marketing, business management, accounting, interacting with legal, etc. And takes less time too.
Learning infra is not the case all the time. Some companies choose AWS (or any other) for speed.
We can, again, argue but the argument is my PoV vs yours, or any other new commenter. Although I know how to maintain small infra: bunch of vms, reverse proxy and an rdbms, I'm not really into hosting HA Rabbitmq or Postgres myself. There is a ton of problems and configuration options coming from replication and consistency I would rather pay premium to people who have done it in the past.
I want my team to build solutions solving customers problems instead of fixing bugs in our replication code. It's all about perspective, I guess we can't reach a definitive answer for one or the other.
Looks like both of us are successful. Why does it have to be that there is only one way to success?
The learning curve for working with AWS is similar to the learning curve of working on bare metal. It honestly does not take a specialist to use MySQL, Postgres, etc. They are really quite easy to make a HA turnkey solution. It's as easy as learning how to effectively use an amazon service. We aren't talking about the days where you had to shard out which was a big pain in the ass, because machines are cheap now with 128 physical cores, 1tb of memory, massive fast storage, etc. You can run the nastiest largest database on a single machine and achieve a pretty large scale doing it.
One of these paths costs about $2500 a month with server purchase amortization, and on the other about $20,000 per month. Either way I need someone to manage it (unless you are talking heroku level of turn-key, then up that $20k a month to $50k a month).