TL;DR Disk IO is pretty much a black box in virtualized environments. All the cool stuff you can do with disks (and memory, and tmpfs) to improve performance seems worth hosting your own hardware.
Maybe it's just being replaced by a bunch of code to fix problems caused by "cloud" hosting performance bottlenecks.
I'm not saying this is necessarily bad, but you should be aware that you're probably trading time managing and picking hardware that suits your needs for additional coding time.
You sure? At Google, network storage has been faster and more reliable than local disks, for years. See bradfitz' talks about the dl.google.com rewrite.
I've had this argument so many times: DevOps has the common problem of, when you have a hammer, every problem looks like a nail.
We live in an economy of specializations, and it's optimized that way for a reason. Every time I've worked with a DevOps team they've done a piss-poor job dealing with Adult problems (aka negotiating with vendors, migrating cloud architecture, evaluating contracts and SLAs, bringing on contractors, etc) They are also generally mediocre when developing software on time and without bugs, compared with career software engineers. Why do we have this obsession with combining the two fields?
Two fields? Why not just go for "full stack" and take out management, PMs, QA, DBAs, designers, UI engineers, architects, operations, support, and release engineers? Maybe call it "senior full stack engineer", then hire 10 of them. I'm sure they'll figure it out.
It's the result of people getting creative to save money.
This kind of thing happens in all industries if it goes unchecked.
Not that I particularly advocate for it but in other disciplines regulation, unions and certification bodies and similar structures collectively put the brakes on things like this.
In software it's the wild west.
The hypocrisy of the modern software management is that they demand the outcome of a precise engineering effort but they don't want to pay the bill for such an effort.
So you end up creating this environment and culture that kind of on the surface pretends to be science and engineering but in practice zero effort is put into stuff beyond "now it works".
In other disciplines, say if you want to build a bridge, you can't put an ad on Upwork and be like "budget is tight ... just modify this existing bridge plugin ... shouldn't take more than a few hours".
8 comments
[ 3.7 ms ] story [ 31.5 ms ] threadTL;DR Disk IO is pretty much a black box in virtualized environments. All the cool stuff you can do with disks (and memory, and tmpfs) to improve performance seems worth hosting your own hardware.
Personally I'd just read everything Ted Dziuba wrote and rethink how much "Ops" is dying. http://widgetsandshit.com/teddziuba/archives.html
Maybe it's just being replaced by a bunch of code to fix problems caused by "cloud" hosting performance bottlenecks. I'm not saying this is necessarily bad, but you should be aware that you're probably trading time managing and picking hardware that suits your needs for additional coding time.
We live in an economy of specializations, and it's optimized that way for a reason. Every time I've worked with a DevOps team they've done a piss-poor job dealing with Adult problems (aka negotiating with vendors, migrating cloud architecture, evaluating contracts and SLAs, bringing on contractors, etc) They are also generally mediocre when developing software on time and without bugs, compared with career software engineers. Why do we have this obsession with combining the two fields?
This kind of thing happens in all industries if it goes unchecked.
Not that I particularly advocate for it but in other disciplines regulation, unions and certification bodies and similar structures collectively put the brakes on things like this.
In software it's the wild west.
The hypocrisy of the modern software management is that they demand the outcome of a precise engineering effort but they don't want to pay the bill for such an effort.
So you end up creating this environment and culture that kind of on the surface pretends to be science and engineering but in practice zero effort is put into stuff beyond "now it works".
In other disciplines, say if you want to build a bridge, you can't put an ad on Upwork and be like "budget is tight ... just modify this existing bridge plugin ... shouldn't take more than a few hours".
In software this is the norm, not the exception.