News for hackers. Stuff that matters.
Re:We decided to move 90% of our workload from the cloud to ... by maccard on Tuesday April 12, 2022 @07:33AM (#31001176)
> The most expensive part is the electricity.

No, the most expensive part is the persons time for managing it. I can rent a monstrous Dedicated Server for $400/month from OVH, but even with a UK salary, if I have to spend more than 1 day a month on it in any shape or form (and that includes the initial setup), it's cheaper to use "the cloud" or some form of a managed service.

Re:We decided to move 90% of our workload from the cloud to ... by tiew9Vii on Tuesday April 12, 2022 @08:55AM (#31001988)
I hear that said a lot. I don’t think it stands.

A ec2 instance or other vps requires the exact same maintenance as a bare metal server. They are essentially the same except one is virtualised and the other isn’t.

The cloud actually requires more investment for large organisations. Previously you might of only had a handful of sysadmins but now you have a large dedicated platform team doing devops type work building your own abstractions/paas on top of your cloud.

The advantage the cloud has is flexibility. You don’t need to go through a lengthy process to acquire hardware. Likewise cloud services are disposable, no longer need something? Hit the delete button.

I think the more PaaS like services such as Heroku, Lambda, Fargate, Google Cloud Run do better realise the less maintenance story but not cloud generally.

Re:We decided to move 90% of our workload from the cloud to ... by maccard on Tuesday April 12, 2022 @09:15AM (#31002231)
> I think the more PaaS like services such as Heroku, Lambda, Fargate, Google Cloud Run do better realise the less maintenance story but not cloud generally.

Completely agree here. Running an EC2 Spot instance + ebs volumes for 730 hours a month is a total waste of money, but running RDS behind fargate and ECS with an ALB is likely to save you time and money by month 2.

Re:We decided to move 90% of our workload from the cloud to ... by stephbu on Tuesday April 12, 2022 @09:15AM (#31002221)
I broadly agree with the statement that owning an OS in general is toil that applies any of these IaaS/VPS/BM scenarios.

Owning a BM server different toil - server parts fail, the network it attaches to needs control and it fails too, firmware needs updating more regularly than ever, DC space needs managing over time etc. For a small number of machines maybe this is NBD. For thousands of machines this is just grunt work which while automated, still needs change management and control - rebooting the whole fleet in the middle of the day definitely opens doors in your career.

Doing everything you did in the DC in the Cloud is absolutely the worst way to adopt Cloud. Owning an OS is a non-goal, you’ve gotta climb to a higher abstraction - workloads, and quit caring about machines. This is where most companies fail.

Re:We decided to move 90% of our workload from the cloud to ... by philliphaydon on Tuesday April 12, 2022 @09:15AM (#31002225)
> A ec2 instance or other vps requires the exact same maintenance as a bare metal server. They are essentially the same except one is virtualised and the other isn’t.

Ani. If the hardware you’re running on is dying. In ec2 you stop it and start it. It’s on new hardware. If you run bare metal you’re screwed.

Disk is dying ? Don’t matter cos your data exists multiple times over in AWS elastic storage. With bare metal you got to shut down and replace.

The cost of managing hardware is gone with ec2.

Software on the other hand yes that is the same amount of effort.

Re:We decided to move 90% of our workload from the cloud to ... by dhzhzjsbevs on Tuesday April 12, 2022 @10:25AM (#31003172)
The cost isn't gone. It's just included. Fact is, at scale, it's still cheaper to do it yourself. You just need to reach the scale it's worth paying people to do the managing.
Re:We decided to move 90% of our workload from the cloud to ... by BryanRamirez on Tuesday April 12, 2022 @12:27PM (#31004809)
I agree, with the caveat that at scale it's cheaper to do it well yourself. If that weren't true, then Amazon would not be making money on EC2.

If you don't have sysadmins and network admins with the right experience, you can easily find yourself in a bad spot with single points of failure, servers that can't be easily replaced, oversubscribed PDUs, misconfigured switches/routers... and any number of other problems that aren't occurring to me right now.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:35AM (#31012394)
If you don't have sysadmins with the right experience, there is a vast number of companies that can do this for you on a fractional basis on retainer. I was one of them.

The crossover point where cloud is more expensive is really low even if you have zero in-house experience. Exactly where it is depends on your amount of egress, as that is where AWS in particular really takes advantage of you.

Re:We decided to move 90% of our workload from the cloud to ... by dhzhzjsbevs on Tuesday April 12, 2022 @05:32PM (#31008474)
This is very true. You also probably need the scale having multiple install locations makes sense.

We went dedicated early and while it didn't make sense at the time we now run at way lower cost than the competition could dream of.

Re:We decided to move 90% of our workload from the cloud to ... by marcosdumay on Tuesday April 12, 2022 @12:22PM (#31004740)
> In ec2 you stop it and start it. It’s on new hardware. If you run bare metal you’re screwed.

You mean, you reimage? That is the slow step, you reimage, and plug the new server. Wait a bit, and your service has one more server.

> With bare metal you got to shut down and replace.

You take the disk out and plug a new one. You don't turn things off because of a disk.

No doubt, those are costly. They are also rare (disk failure is less rare, but still rare).

Re:We decided to move 90% of our workload from the cloud to ... by philliphaydon on Tuesday April 12, 2022 @09:17PM (#31010165)
> You mean, you reimage? That is the slow step, you reimage, and plug the new server. Wait a bit, and your service has one more server.

No. When you /stop/ an EC2 instance, and /start/ it again, it moves. You do not need to reimage. This is even requested from AWS when they are having hardware failures and need to move customers off so they can decomission the hardware. They request you stop / start the instance, if you do not do it by the due date they do it for you.

> You take the disk out and plug a new one. You don't turn things off because of a disk.

If you have a storage array sure. But if you're getting bare metal hosting from a provider, you're not always getting hot swappable storage arrays.

> No doubt, those are costly. They are also rare (disk failure is less rare, but still rare).

It was 1 example, obviously there's many different hardware issues that can go wrong.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:21AM (#31012308)
> If you have a storage array sure. But if you're getting bare metal hosting from a provider, you're not always getting hot swappable storage arrays.

If you have any server-level hardware bought in the last 20 years or so, it will have the drives in hot-swappable bays. If you then choose to not set it up in RAID, it's just incompetence.

> If you have a storage array sure. But if you're getting bare metal hosting from a provider, you're not always getting hot swappable storage arrays.

If you're getting bare metal hosting from anywhere including your own colo, you have failover and the ability to order replacements while your system is still running. This is only an issue if you're architecture is fundamentally flawed, in which case you're likely to mess things up whether you're on bare metal or in a cloud.

Re:We decided to move 90% of our workload from the cloud to ... by ludjer on Tuesday April 12, 2022 @01:04PM (#31005373)
Not really If you running bare metal and have a San you can easily change what it is pointing to. Also most bare metal servers have redundancy and disks can be changed with 0 down time.
Re:We decided to move 90% of our workload from the cloud to ... by philliphaydon on Tuesday April 12, 2022 @09:18PM (#31010175)
So now you're throwing a ton more money at something, costing you in purchasing the bare metal, but also the cost to maintain it. If you want to build compariable redundancy as you get with EC2 it will cost you. It wont be cheaper.
Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:24AM (#31012337)
I have no idea what you think the costs of this is. I have managed setups like that. Every year we priced out what a cost to EC2 would cost us, and every year it was about 3x the cost of running our own, with my time - accounted for to the hour - of running the system added in. Every year we also priced out Hetzner and a few other options. After a years Hetzner eventually won out (colo space in Germany was cheaper than where we were in London). So we tied Hetzner servers into our private cloud layer, and migrated containers and shut down servers as it fit into our schedule. Not having to physically go to the colo's to swap drives now and again saved me an average of maybe 2 days a month to deal with several racks worth of hardware.
Re:We decided to move 90% of our workload from the cloud to ... by maccard on Wednesday April 13, 2022 @01:42PM (#31017700)
> Every year we priced out what a cost to EC2 would cost us, and every year it was about 3x the cost of running our own

> we tied Hetzner servers into our private cloud layer, and migrated containers and shut down servers as it fit

Building your own services on top of AWS is always going to come out more expensive. EC2 + EBS volumes alone are going to be more expensive than going with hetzner (particularly if you're not looking at reserved instances, and not utilising spot for burst). You mentioned that you are building your own private cloud layer and migrated containers; the cost of building that out in the first place is likely enormous compared to building and running on top of fargate.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Thursday April 14, 2022 @05:21AM (#31024764)
The cost of building out our private setup was my time for about a month.

At the time we didn't have a choice, as nothing like Fargate existed, but today it's also easier to do setups like the one we did. It mostly involved rsyncing base images over, rsync and a super simple storage service for backups, a LDAP based directory service, and and a thin layer over vzctl (first) and docker when that became an option, coupled with a VPN setup to tie our locations together, and a reverse proxy setup that did dynamic lookups in our private DNS fed from LDAP.

It is hard to do as a multitenant public service, it's trivially easy to do as an internal tool that needs to support only exactly what you need.

I've built out setups like this for a number of clients since, and it's typically 1-3 months of work to automate pretty much everything depending on complexity, and so it pays for itself quickly from a very low scale.

The first company I did this at wouldn't have been profitable at all if we'd relied on AWS

Re:We decided to move 90% of our workload from the cloud to ... by GTP on Tuesday April 12, 2022 @11:40AM (#31004148)
>Disk is dying ? Don’t matter cos your data exists multiple times over in AWS elastic storage. With bare metal you got to shut down and replace.

Not really, this is what RAID is for

Re:We decided to move 90% of our workload from the cloud to ... by philliphaydon on Tuesday April 12, 2022 @09:24PM (#31010210)
Sure, raids some drives together, you still have downtime when you switch it off replace the drive switch it on wait for it to rebuild.

Or you can fork out the extra cost to have hot swappable.

If you're saying: "I dont want to pay $300 / month for EC2 instances at AWS when I can get the same hardware specs for $150 at X"

Chances are you're getting a shitty old desktop or barebones rack that lacks features like hot swap and raids.

Do you believe you're getting redundancy when you go with hetzner and a cheap desktop grade processor, ddr4 non ecc memory, and a consumer grade SSD?

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:27AM (#31012352)
There is no extra cost to have hot swappable unless you're considering buying consumer grade hardware, but consumer grade hardware is more expensive to host because it won't fit in 1U bays.

> Do you believe you're getting redundancy when you go with hetzner and a cheap desktop grade processor, ddr4 non ecc memory, and a consumer grade SSD?

Irrespective of how much I'd skimp on the hardware, I always have a HA setup, including on EC2, so it doesn't matter in any case.

Re:We decided to move 90% of our workload from the cloud to ... by yjftsjthsd-h on Tuesday April 12, 2022 @01:04PM (#31005371)
Depending somewhat on the quality of the hardware in question. Hot swap capable isn't rare, but it's not going to happen at the bottom of the price continuum.
Re:We decided to move 90% of our workload from the cloud to ... by whiplash451 on Tuesday April 12, 2022 @12:26PM (#31004790)
> A ec2 instance or other vps requires the exact same maintenance as a bare metal server. They are essentially the same except one is virtualised and the other isn’t.

Definitely not true. With a dedicated server, you need to handle backup and security yourself.

Re:We decided to move 90% of our workload from the cloud to ... by greedo on Tuesday April 12, 2022 @07:15PM (#31009373)
With ec2 you still need to backup. You still need to validate the backups. Security it still something you need to do since an instance is still just a VM. Same with s3 buckets etc. Google for public s3 bucket "breaches." You still need to apply patches, to configure access, to expand volumes, to configure VPCs and security groups.
Re:We decided to move 90% of our workload from the cloud to ... by whiplash451 on Wednesday April 13, 2022 @04:12AM (#31012270)
As far as I understand, when you use an EC2 volume, it is already backed up for you. It is not the case for an OVH dedicated server. For instance, backing up your OS image is a lot more work with a dedicated server than with an EC2 instance.
Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:29AM (#31012367)
That addresses one possible set of failure scenarios. If you think that means you have a backup that is guaranteed to be accessible to you whenever you need it, you don't have a backup. If your only backup is in the same cloud provider where your primary system is, you don't have a backup, you only think you do.

Any reasonable dedicated setup will involve imaging your server, and so the OS image is not something you need to back up - if it fails you reimage. If you even store the OS image on the server at all rather than network boot.

Re:We decided to move 90% of our workload from the cloud to ... by whiplash451 on Wednesday April 13, 2022 @11:36AM (#31015950)
That's still a lot better than what you have with a dedicated server.

For you to lose your OS image with a dedicated server only takes your HDD to die.

For you to lose your OS image on EC2 (where you made a snapshot of your volume in one-click) would take a lot of shitstorm to happen at AWS -- as I presume that they backup across sites.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @12:51PM (#31017005)
> For you to lose your OS image with a dedicated server only takes your HDD to die.

Only if you don't have a backup.

Why in the world do you think anyone would store their only copy of an OS image on a single server?

For systems I set up, to start with, the OS is mostly immutable, booted and updated transparently to match a master image. If it gets destroyed, we just image a new server. The applications all run in containers, based on images stored on replicated file servers. If they get destroyed, we just re-deploy on a different server (in fact, automatically redeploying is trivial).

Only the application data is unique to running servers, and that needs to be backed up just as much whether those containers run in a cloud environment or locally, and again it's trivial to have automation in place for the backup and re-deployment of that. Been there, done that many times.

> For you to lose your OS image on EC2 (where you made a snapshot of your volume in one-click) would take a lot of shitstorm to happen at AWS -- as I presume that they backup across sites.

For me to lose my data on any bare metal system I've run, multiple servers in at least two different data centres operated by at different companies would need to fail at the same time. This is not hard to set up, and it's a one of setup. You then need to test your backups, just as you need to with AWS - an untested backup is not a backup.

But your assumptions of failure scenarios is also flawed. You need to protect against e.g. disgruntled employees, hackers, bugs as well. If you rely on the same security to protect your backups as your main setup, you don't have a backup.

EC2 is great when you can justify the cost, but it does not remove the need for a proper backup policy and processes to test them.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Tuesday April 12, 2022 @08:36AM (#31001776)
If you have to use more than one a day a month managing the server, you are doing something wrong.

I used to manage multiple racks worth of servers on top of managing the 1k containers running on them, maintaining the (pre-kubernetes) orchestration software I had written to deploy containers to our servers, and still had time left over to spend the majority of my time on the architecture and project management of new projects for clients.

Re:We decided to move 90% of our workload from the cloud to ... by treis on Tuesday April 12, 2022 @08:42AM (#31001861)
I'd say if you're not spending one day a month you're doing something wrong. Namely, you're not testing your back ups and disaster recovery often enough.
Re:We decided to move 90% of our workload from the cloud to ... by brimble on Tuesday April 12, 2022 @10:14AM (#31003012)
You're right, but given the context of the thread, it's worth pointing out that's not extra work that one doesn't also need to do with cloud hosting. Ought to test your backups and disaster recovery regularly, either way.
Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @03:53AM (#31012175)
That's not managing the server. That's managing your application setup and not something that takes additional time for managed servers over cloud setups, because you still need all of those things for a cloud setup.

It also should not take anywhere near a day per server per month - if it does, then in a disaster scenario it means you're unable to recover at a reasonable pace.

Re:We decided to move 90% of our workload from the cloud to ... by treis on Wednesday April 13, 2022 @11:13AM (#31015647)
>That's not managing the server. That's managing your application setup and not something that takes additional time for managed servers over cloud setups, because you still need all of those things for a cloud setup.

It is additional time because the cloud handles the whole class of "your hardware died" problems.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @01:14PM (#31017285)
Most decent bare metal setups abstracts away the same class of "your hardware died" problems. E.g. my first rule on this is everything runs in containers whether I run in a cloud environment or on bare metal. The OS image is identical, and include tying into service discovery and a suitable orchestration mechanism (which can range from something trivially simple to, say, Kubernetes). Any modern server hardware has IPMI or something equivalent, which means you plug it in, configure the IPMI, configure network boot from a tftp/bootp or similar server holding your installation image, and from there on out you're deploying containers the same way as you would in a cloud environment, and back them up and arrange for failover the same way as in a cloud environment.

I've set up more than one hybrid setup where you didn't need to know if your workload was running in AWS or Hetzner or somewhere else, so we could use AWS for elasticity and Hetzner to keep cost down.

This is not a hard problem. And if people don't have the right skills in house, it's easy to outsource this (I for one used to make my living of automating setups like this and operating them on a retainer basis).

Re:We decided to move 90% of our workload from the cloud to ... by treis on Wednesday April 13, 2022 @02:07PM (#31018072)
Containers running some work load dying is a lot different from a HDD going kaput on your production DB server. Or someone compromising your file system and encrypting all of your user uploads.

I don't think anyone is claiming it's a particularly hard problem. It's the opposite. We're talking about 1 hour a month. Even that little effort still ~$200 a month and a $200 a month managed DB instance is pretty beefy.

Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Thursday April 14, 2022 @05:26AM (#31024784)
None of this is any different I a cloud setup. You still need to check the integrity of your backups. You still need to have appropriate failover. The effort is pretty much the same. In a competent setup it's automated, so you're not spending an hour a month per server. Not even for the production DB server, because you have replicas and setups to automate the switch, and setups to bring back snapshots from backups.

Been there, done that, many times, and I know exactly what it costs people, because I billed by the hour for it, and your cost assumptions are just way off.

Re:We decided to move 90% of our workload from the cloud to ... by maccard on Tuesday April 12, 2022 @09:27AM (#31002398)
Broadly speaking, managing 100 "cloud" servers is roughly the same amount of work as managing 2. Moving from managing 2 cloud servers to 100 is trivial. Moving from 1 server to 2 is an architecture problem. That architecture problem sometimes comes up when it comes to scaling too. it's the cattle vs pets problem. The last thing you want to find out is that someone ssh'ed in and installed a package that's required for your service to run, _during_ vertical resizing, and that sort of thing is far more common in systems with 1 server instead of many. If you're running containers, you would likely have even less overhead (and save money) by running on ECS/DigitalOcean/Azure App Service, and if you're running a big old monolith, you likely need > 1 instance for some sort of redundancy anyway.
Re:We decided to move 90% of our workload from the cloud to ... by vidarh on Wednesday April 13, 2022 @04:30AM (#31012370)
> Broadly speaking, managing 100 "cloud" servers is roughly the same amount of work as managing 2

If this was the case, my billable hours when I was doing contracting would be about 1/10th of what they were. I lived very comfortably of troubleshooting for teams who had gotten themselves into a thorough mess with this attitude. In fact, I earned more from the teams who insisted on cloud setups because they rarely understood the operational issues with it, whereas teams who chose dedicated servers generally thought about operational concerns more.

> Moving from 1 server to 2 is an architecture problem.

Moving from 1 container to 2 is an architecture problem.

Moving from 1 server to 2 running those containers is an architecture problem with well established known solutions.

E.g. for starters you're assuming no containers. But putting the application in containers and leaving the host OS only for basic infrastructure setup is basic practice today if you're running your own servers.

Once you've set up a network boot source (tftp etc.) to network boot of an installer with a suitable setup script that you can trigger via IPMI, and a directory service and a basic orchestrator (be it Kubernetes or something else) on your network, it doesn't matter much if you have 1 server or a 100 - they come up and you put containers on them, and they look no different than a cloud service to the devs.

You're right that it's easier to take shortcuts if you have just a few servers, but it's just as easy to take shortcuts with just a few cloud instances - the number of pet containers I've seen over the years is terrifying.

> The last thing you want to find out is that someone ssh'ed in and installed a package that's required for your service to run

Which is why you don't provide ssh access to the host servers to anyone without an understanding of ops concerns, log everything, and do all updates via an automated setup of your preference, and why you regularly recycle the containers whether you run a cloud environment or dedicated servers.

The reality is that cloud systems do not at all make you immune to this - I've done year long projects to regularise AWS setups that were full of undocumented manual changes to bring everything into a terraform config for example. Often they're worse, because there are a whole lot of unobvious places to look for extra bits and pieces.

> and if you're running a big old monolith, you likely need > 1 instance for some sort of redundancy anyway.

Nobody here suggested a monolith. Nobody is suggesting you forgo redundancy. The. The point of this is that often you can put clear upper limits on the computation you will need to do for either your system as a whole or for a given subsystem, and you can guarantee that you will never need more than one server for a given part of the system.

E.g. a real example: I've worked on a system that did some processing of data about companies. We know this will always fit on a single system because the population growth of humanity is slower than the performance growth of a server and the total number of companies worldwide fits on a single system with several magnitudes to spare today, and the type of companies we were interested in is just a subset. At this point, if you architect a system like that on the basis of assuming you will need to resize, you will risk making choices that makes you far more likely to have to resize. E.g. all of the data I'm talking about can easily fit in RAM on a relatively moderate server now and forever, but the moment you start planning for partitioning the data you have added orders of magnitude of performance overhead for communication.

Properly assessing which parts of a system needs to be able to scale is at the core of architecture, and architects (or devs; it's terrifying how many places lack anyone with architecture experience) who are just planning for infinite scalability for everything is huge red flag to me. It usually means they don't understand their system. For a startup, especially, this is an existential question - preparing for unnecessary scaling has killed many startups.

Re:We decided to move 90% of our workload from the cloud to ... by whiplash451 on Tuesday April 12, 2022 @12:25PM (#31004776)
I think that depends a lot on which stage your startup is at, what your level of funding is, etc.

Definitely not as clear-cut as you seem to imply.