The richer and more powerful the Cloud Hosting Oligopolies get, the worse off it will be for Indie OSS developers who will be unable to compete with their network lock-in, paid resources, marketeers + advocates, advertising, etc.
What's worse is if you release OSS software the Cloud Vendor network monopolies naturally stand to make more revenue then any attempts in trying to host it yourself, making it impossible to compete against given the more effort you put into development, the more revenue you will create for them which they in-turn can use to fund their competing efforts.
Personally I'm all for companies like Redis Labs, Elastic, Confluent and MongoDB who realize the threat and start distributing their future investments under "OSS free that's free for everyone else except major cloud vendors" to force the cloud oligopolies to revenue share back some of the money they've made from hosting their software. Hopefully we'll see more of OSS follow which will force them to implement a system for revenue sharing back to OSS software they're getting paid to host.
Even when they're unable to license it they still have the luxury to sit back and wait to see what software becomes popular and proves itself in the market before instructing their army of paid devs to clone it as they've done with their MongoDB clones that implement the MongoDB protocol (also requires a lot more effort to create something with constant customer feedback + iteration, then it is to clone it). Thanks to the integration with their ecosystem ensures their investments will have better ROI and popularity then the original authors could ever have.
The early internet was "opensource like" as in not monetized.
it was a very different time in the 80s and early 90s.
Grassroots BBs and FTPs were the fodder.
websites were made to convey information, many of them made for the love of it.i think no FOSS would have allowed the current state of the internet to occur much more rapidly. many more people would have experienced the net/web as a service, extended to you on the terms of the service provider.
Back then there were gatekeepers who made sure you paid to play. The internet broke that because it allowed anybody to connect for free as long as you found a way to do it. The gatekeepers used proprietary protocols and software to lock you into their paywall. The internet used FOSS to make it easy for you to connect. That was literally the difference.
If you're doing a "lift and shift" then running stuff in the cloud is almost certainly going to be more expensive.
However if you migrate to using managed services then there can be a lot of cost savings.
To be honest it's a lot like the old days of PHP hosts - comparing VPS to shared hosting - except it's now the shared hosting is scaled up and "enterprisey".
What I do find most people overlook when saying "the cloud is cheap" is just how much time is required to deploy to the cloud. I don't mean POCing a few things in the AWS console but rather deploying stuff properly using Terraform, Puppet, etc and architecting it correctly so you have resilience without paying through the nose for it.
If your backups fail then you still get fired, but now it's for choosing an unreliable cloud vendor.
If you don't want to pay for your hardware up front, most hardware vendors are happy to sell it on an installment plan.
I think that "cloud" started taking off right after x64 servers got hardware virtualization support, and then you had cloud vendors showing IT departments how much more cost effective their virtual machines were than the single-application physical machines that were the status quo ante. Not bothering to mention that they're frequently not more cost effective than hosting the virtual machines yourself.
It wasn't me that came up with the backup example - which I do think is the best example of the point they were making because you wouldn't expect that particular service to fail nor someone to get fired. And if it does, it's more likely yourselves to blame for setting it up wrong than it is the cloud vendor at fault.
Their general point was more that if you self-host and the infra goes down due to hardware failure (eg switch goes pop) then it's up to you to fix. With cloud services that responsibility now becomes someone else's problem.
Personally I find this the least convincing reason to move to the cloud because I'd rather be proactive fixing something than waiting for someone else. However it's undeniable that it is an incentive to some - I suspect more for manager types than engineers though.
> If you don't want to pay for your hardware up front, most hardware vendors are happy to sell it on an installment plan.
You pay a premium for that (interest and insurance) and are still stuck with the repayments even if your project crash and burns before the instalment plan finishes. If you're a business and looking to buy hardware you are much better off buying it outright - you have a stronger position to negotiate a discount (so you're not paying advertised price) and you have capital you can resell if the worst happens. However if your a small or medium sized company and you don't have any self-hosted equipment currently or are looking to re-outfit several racks of gear, then the cloud is a very attractive offering.
> I think that "cloud" started taking off right after x64 servers got hardware virtualization support, and then you had cloud vendors showing IT departments how much more cost effective their virtual machines were than the single-application physical machines that were the status quo ante. Not bothering to mention that they're frequently not more cost effective than hosting the virtual machines yourself.
It sounds like your impression of the cloud is massively outdated. If you're just looking for a VMWare equivalent then AWS et al isn't going to be that impressive. Where public clouds have overtaken self-hosted solutions is with their SaaS solutions. This is why in my other post I make the distinction between "lift and shift" type deployments on the cloud, and using their SaaS offerings.
I do totally get the appeal of self hosting though. I've spent the majority of my career in server rooms and love the feeling of owning my own equipment. However pragmatically I can also see why the cloud is such an attractive solution to businesses these days.
Backups are notorious for going untested because too often nobody cares if they work until you discover the hard way that they don't. That's the "setting it up wrong" problem and cloud doesn't really change that.
Cloud vendors then add a different problem, which is that they operate at a scale that brings multiple redundancy failures into the realm of plausibility. Then, because the same infrastructure is shared by many customers, you end up with greater exposure to those kinds of previously negligible probability multiple systems failures when something happens that affects thousands of customers at once.
Which is still not very common, but it can be very bad when it does.
> Their general point was more that if you self-host and the infra goes down due to hardware failure (eg switch goes pop) then it's up to you to fix. With cloud services that responsibility now becomes someone else's problem.
There are two components to this. One is whether it's "your problem" in a CYA sense, which I understood to be the original argument, i.e. if the system fails and your company loses ten million dollars then you lose your job. But that hasn't really changed. If the backups don't work, pointing at the vendor is not very effective cover when you're the one who chose them.
The point you're making is that when something fails you don't have to spend time fixing it because that's somebody else's job now. Which is fine, but then you're paying a premium for that and the question becomes whether such hardware failures are common enough that you come out ahead that way or not.
> You pay a premium for that (interest and insurance) and are still stuck with the repayments even if your project crash and burns before the instalment plan finishes.
You pay even more of a premium for third party hosting, and server hardware is a general purpose commodity. If your project ends then it can be used for the next one. And even something bought on credit can be resold and the money used to pay off most/all of the debt, especially now that Moore's Law is in decline and hardware doesn't depreciate as fast as it used to.
Moreover, if you know ahead of time that your project has a high short-term failure probability then it can make sense to not want a longer-term commitment, but not everything is so uncertain. Many projects are known to have a >95% probability of still existing in five years.
> If you're a business and looking to buy hardware you are much better off buying it outright - you have a stronger position to negotiate a discount (so you're not paying advertised price) and you have capital you can resell if the worst happens.
That's true. But what if for some reason you prefer "effectively paying for your hardware on a subscription basis rather than paying tens or hundreds of thousands of pounds / dollars up front"? :)
> If you're just looking for a VMWare equivalent then AWS et al isn't going to be that impressive. Where public clouds have overtaken self-hosted solutions is with their SaaS solutions. This is why in my other post I make the distinction between "lift and shift" type deployments on the cloud, and using their SaaS offerings.
I don't think we're really disagreeing all that much. There are circumstances where cloud hosting makes sense, particularly when your needs vary unpredictably over time.
My point is that people overuse it. You see companies with entirely static and predictable future needs moving their entire operations into the cloud anyway.
And I suspect people are going to regret the long-term experience of SaaS. Once you have a decade of your business data on someone else's proprietary service with no export function, what does your negotiating position look like?
At risk of repeating myself:
1/ I didn't make the backup comparison
2/ I've already said I didn't agree with GP using that specific example
3/ I didn't make the backup comparison
So can we drop the discussion about backups please.
> The point you're making is that when something fails you don't have to spend time fixing it because that's somebody else's job now. Which is fine, but then you're paying a premium for that and the question becomes whether such hardware failures are common enough that you come out ahead that way or not.
You can argue this all you like however that doesn't change the fact that I'm only reporting what I've observed some decision makers base their decisions on. You may not agree with their opinion but arguing with me isn't going to change that.
> You pay even more of a premium for third party hosting, and server hardware is a general purpose commodity. If your project ends then it can be used for the next one. And even something bought on credit can be resold and the money used to pay off most/all of the debt, especially now that Moore's Law is in decline and hardware doesn't depreciate as fast as it used to.
As I've already said several times, it depends on how you utilise the cloud. Lift and shift projects where you replicate an on-prem solution in the cloud often works out more expensive. However using SaaS solutions can work out cheaper - if you know what you're doing. It's really not a clear cut as you think.
> Moreover, if you know ahead of time that your project has a high short-term failure probability then it can make sense to not want a longer-term commitment, but not everything is so uncertain. Many projects are known to have a >95% probability of still existing in five years.
If it were as easy as that then significantly fewer startups would fail. I get you don't like cloud services but your exaggerations are now bordering on the ridiculous.
> That's true. But what if for some reason you prefer "effectively paying for your hardware on a subscription basis rather than paying tens or hundreds of thousands of pounds / dollars up front"? :)
If that's what you want to do then do it. If you want to store all of your hardware inside a rocket and shoot it into space then you're free to do that too. It doesn't mean any of them are sensible suggestions though. But if that's what you prefer to do then go for it ;)
> My point is that people overuse it. You see companies with entirely static and predictable future needs moving their entire operations into the cloud anyway.
> And I suspect people are going to regret the long-term experience of SaaS. Once you have a decade of your business data on someone else's proprietary service with no export function, what does your negotiating position look like?
Of course people overuse it. That's how IT industry works. Someone comes up with a good idea and then everyone rushes to clone it regardless of whether it makes sense or not. As much as we'd like to consider ourselves intelligent engineers our industry is still full of hypes and fads. Often it's cyclic too - with new generations of engineers re-discovering old technology and rebranding it. I've seen it happen time and time again in my many years in IT.
The problem is, OSS has changed the biz model for software development, but we're still stuck with bugs, poor design, shite UX, frustrations, etc.
Yes, OSS solved a problem. But it wasn't The Problem. So now what?
And while I do embrace the OSS ideal, I wish I could total up the hours lost to vague documentation, delays in support (if support even exists), etc. For example, you can probably build a damn good modern CMS with all the time lost to the WordPress codex.
Costs can quickly spiral when you’re self-hosting internet services for paying customers who expect their internet services available 24/7. Which is why the cloud is so attractive - it allows you to build your product without paying the upfront cost of self hosting.
That all said, I do honestly get the appeal of self hosting. It’s fun owning your own hardware. That is until it fails....
The only benefit with your solution is that the second home is at least an capital asset; but even still, it’s more than any small or medium sized company would be willing to stump up (I say this from experience since I’ve worked on disaster recovery solutions for SMBs in the pre-cloud computing era)
In fact the very advantage of cloud computing is you can scale your infrastructure to meet your demand (and I don’t just mean auto-scaling; but also the instance sizes you run and infrastructure you deploy). Which is the point I was making in my previous post: you can build the infrastructure which suits your problem and let the cloud provider deal with many of the “enterprisey” problems for you. Then when you reach the point where you need to start worrying about the big problems, well you can decide how you want to design your solutions there after.