You are asking for a solution before agreeing that there exists a problem.
This is the "I'll listen to your problem if the solution is convenient" mentality. It's inside-the-box thinking. It holds you back.
It depends on what you want but managing complex software may be expensive and has some serious economies of scale, which makes a pressure to outsource, even expensively. You can't just brush it off with 'that's easy', it's not.
The immediate costs are only part of the picture.
There have been times that the control plane blew up in one zone of one cloud provider.
I had a least-complexity system which lived in that zone so it kept functioning as if nothing happened.
Other people panicked or had their automation freak out for them, they tried to restore their multi-AZ systems, overloading the control plane for the whole region.
It's a stressful experience if you feel you can't do anything about it, and sooner or later you will feel it with cloud computing: periods of 8-12 hours where your environment is FUBAR and you are best having some faith they will stitch it back together and walk away from it for a while.
If my colo goes down. My customers are going to complain and think I am incompetent. If my cloud hosted infrastructure goes down and everyone else is down your customers are a lot more understanding.
“No one ever got fired for buying IBM”
I’ll let that just sit there.
But you are going to host your own project management software? Your own expense reporting software? Your own email server? Your own payroll processing? Salesforce equivalent? Your own git server? Dropbox equivalent?
B) would it have the same reliability characteristics?
C) do you have a DR strategy?
D) after you spend all that money, did it help you either save money or make money? Did it give you a competitive advantage? Did it help you go to market faster?
Longer answer: doing things in-house that are outside your core competencies and/or value creation model is a poor use of scarce resources (both capital and human—predominantly management bandwidth) and increases risk carried.
To give a concrete example: imagine you need to host your source code repository. You can pay for something like Bitbucket for $6/month/user and not have to worry about it. It’s a price that scales linearly with your team size and is a tiny fraction of their total cost.
Doing it in-house: you have to pay for hardware, storage, worry about backups, have somebody support it, have somebody manage the person that supports it, deal with users, find a solution to remote access, and so on. But all these miss the big cost—risk—what happens if the server dies or your office burns down? Nobody used to get fired for buying IBM, nobody now gets fired for buying a popular SaaS product.
You aren’t Google, at some point scale changes the equation, but that’s a rare spot to be in.
Remote access followed production norms, so no extra work there (other than a lot more people need access to git than other production servers). Maybe a few hours one time to lock down permissions for git etc, probably less fuss than getting SSO setup for a git SaaS.
And what happens when that one server goes down or becomes overloaded?
I've got opinions on collaboration software (why not put text files in git), but ignoring that, I don't really want to run a wiki, so sure, maybe your email provider offers something anyway.
> And what happens when that one server goes down or becomes overloaded?
You fix it? Same like when production breaks; hopefully you have people who can fix production, hopefully you monitor your important tools. What happens when it gets overloaded and its outsourced? You hope your provider fixes it, and you call and yell at them.
Well, in my case. I just clicked on “minimum” and increase it by 1 in my autoscaling group or I scale vertically and change the server from 2xlarge to 4xlarge.
Can you get another server shipped to your colo in 5 minutes, brought online and roll over and go back to sleep? Like I did at my last job. Most of the time by the time the notification alarm woke me up, scaling has already taken place.
But, depending on the service, part of “monitoring” is bringing up another server automatically when CPU usage spikes.
But I think my current employer knows just a little about managing servers/services at scale. As far as I know, my current employer manages more servers than anyone else on the planet and has more experts on staff than anyone.
Even that being said, we outsource a lot of the services that aren’t in our core competencies to other companies.
I couldn’t say that about my previous employer who had 50 people in all.
When Netflix previously owned and managed their own datacenters, they had a massive 3-day database outage[1] that disrupted shipping DVDs to customers. Even though they are a Silicon Valley tech company and built their own datacenter competency with internal staff engineers, it didn't prevent that major failure.
Based on interviews with Reed Hastings and Adrian Cockcroft, they said the 2 big reasons they migrated to AWS was (1) the pain of that 3-day outage and (2) the future expansion plans into international regions. They didn't want to buy more datacenters and manage that extra complexity. Reed said, "they wanted to get out of the datacenter business".
Yes, AWS/GCP/Azure all have outages too but Netflix (and other customers) conclude that -- as a whole -- those cloud vendors will be more reliable than in-house solutions. The cloud vendors also iterate on new features faster than in-house staff -- especially for non-tech companies like The Guardian newspaper.[2]
Some big companies such as Facebook, Walmart, can employ an army of IT staff with the skills to maintain complex "private clouds". However, most non-tech companies found out that internal clouds were an inefficient way to spend money on IT because it wasn't their core competency. Just because a raw racked server installed on-premise is cheaper than EC2 doesn't mean the TCO (Total Cost Ownership) is cheaper.
[1] https://media.netflix.com/en/company-blog/completing-the-net...
[2] https://web.archive.org/web/20160319022029/https://www.compu...