Thursday, August 20, 2015

Cloud and Devops: eliminating an entire layer of assholes

I've been in quite a few gigantic enterprises. Medical, Insurance, Retail, Government, you name it.

Without exception, in every one of these organizations the infrastructure teams function as blights upon innovation and adaptability, and impose unreasonable costs and delays. Infrastructure is not simple, I will grant... and this is not revelatory news to anyone in the industry.

It used to be, oh, say, a decade ago that we heard only rumors of Google, Facebook, Amazon, and other firms with dynamic, adaptive, cost-effective, anticipatory, and plentiful infrastructure for testing, prototyping, and production. No nightmares of 8 extra GB of RAM costing $1,000, or a simple PC server carrying $10,000 / year in upkeep chargebacks.

Once rumors, AWS / Rackspace / Google Compute and a host of other cloud providers have made that a much more stark contrast to anyone mired in internal infrastructure. Once things like Chef and other automated provisioning come into play, the contrast becomes even more pronounced.

Again, none of this is revelatory. Clouds are better cost, more adaptive, efficient, allow you to discover new technologies and make those practical to your job, group, and enterprise. Anyone who has done a cloud-enabled project has experienced the nirvana... But only now when we are being cast back into the rats nest of mandated internal infrastructure use do I recall all those meetings and emails and total clusterfucks:

  • your RAM is too big, we can't support more than 8GB. Oh, you want 4GB? That will be $1000/year extra
  • oh, you need another 100 MB of disk space, that will be $1000/year. No we won't provision you extra space, you have to crash in production and then raise a ticket to get us to do anything.
  • Let's schedule 10 meetings to discuss minor hardware spec increases that should be 1/100 of the labor waste of the meetings
  • Hardware guys bloviate about what your application's hardware spec requirements are, even though they have NO IDEA about what it does or its user base
  • CPU? You like 386s right? 
  • Oh, your VM is colocated with other extremely high use VMs? Too bad, so sad.
  • SSD? What is that?
  • Cloud? We have an internal cloud. No we don't have elastic storage or API provisioning. We can get your new VM up in 5 months rather than 1 year!
  • Accounting... ah, the accounting. "It's free... if you can get it". "It has no upkeep cost, but it costs a ton to setup". "Will the cost drop over time as Moore's Law marches on? NO". 
I am so fucking sick of it. Thus I DECLARE:

The #1 Feature of Clouds is the Elimination of an Entire Layer of Assholes From Your Life

That's right. #1 feature by far. No one from our cloud provider has ever sent us threatening emails yanking our RAM size, or down-specced our machines without consultation, or dragged their feet to provide new machines, disk space, CPU, whatever. Or spent weeks ignoring tickets behind ticket walls. No one scheduling bloviating meetings and handing down arbitrary new policies from above. No meddling in your application architecture. No complaints to the CEO if you decide to use someone else's infrastructure. None of it.

Not just any arbitrary layer of assholes. Infrastructure lends itself to controlling and sociopathic shitheads. They get to ooh and aah over high-spec machines, they get large lump-sum budget line items, and, best of all, they get to lord over the distribution of those resources to the people that need them, and demand asskissing and tribute. This is a particularly obnoxious layer of entitled, intractable, petulant assholes you are extricating from your life.

What is the #1 downside of our collective profession? Stress. Stress that causes measurable, documented deleterious health effects. If you can identify something that significantly reduces that stress, and I argue clouds can do that, then it should be a priority: personally, professionally, and industry-wide.








9 comments:

  1. Umm, who do you think is providing devops and the cloud?

    Unless skynet has gone live, it's still managed by humans. And some of them are still assholes. Calling it "devops" and "cloud" only obfuscates the reality of it being hardware in a server room that someone has control over.

    ReplyDelete
    Replies
    1. And yet, having a profit motive in between you and the the infrastructure team creates a more productive relationship. Having them be seen as "a bad purchase" makes management more likely to allow you to fix the problem. The split forces someone to consider their performance objectively and, consequently, manages their assholeness.

      It's like the difference between contractors and employees. Changing contractors is easier and cheaper. People expect more out of contractors and feel better about demanding they do their job well.

      Also, as it happens, Skynet is ever more a reality. My application deploys itself in about 45 seconds on the Cloud. Making the same thing happen in our datacenters takes weeks. They're both run by humans, but the Cloud allows me to have the machines do the work--and the IT org doesn't change because they don't have to.

      Delete
    2. 45 seconds to weeks? What in the world is wrong with your enterprise? You need to go somewhere else.

      I'm in INFR grunt btw

      Delete
  2. Curious, how many companies did you vet your theory with before posting this?

    Oh, 1?, thanks for lambasting an entire industry based on your personal experiences with 1 team/employer.

    The other side of the fence is just as rosy.
    Oh, you bought this COTS Application that has no clue why 'Select * from X' is bad?
    Yeah, you're right, it must be the Database server is too slow.

    ReplyDelete
    Replies
    1. It's not just one. I've worked in three places that are like the enterprise described. Ops are a fucking nightmare to deal with, and the cloud eliminates my need to deal with them. They are replaced with automation and web UIs and the time between asking for what I want and getting it has dropped from months to seconds, and I could not be happier about it.

      Delete
  3. You use the word "DevOps". I don't think you know what it means at all.

    This entire article is the opposite of DevOps.

    ReplyDelete
  4. Ha, that's funny because you dimwit devs constantly cry about hardware you never use.

    Are you in some sort of group that requires an insane amount of IOPS from disks? No? Then you're not getting an SSD, it's a waste of money.

    Are you utilizing all 16 of those threads you wanted us to provision for you? No? Then it's a waste of money.

    Are you using even half of that 8GB of RAM you wanted us to provision for you? No? Then you're not getting more provisioned for you, it's a waste of money.

    If admins like myself are sociopathic shitheads because we can do our jobs like running a business and babysitting morons like you, I wonder what that makes you? Drooling dumbfucks who suck at programming?

    ReplyDelete
  5. Running a business? You mean: keeping the application users happy, deploying features quickly, and having enough spare resource capacity to prevent apps from running at a crawl most of the time?

    Hardware is becoming a commodity, and thankfully so. When I plug in my vacuum cleaner, I expect the power to just work. I don't need a call from my power company hassling me for running it at an unexpected time. Obviously there are limits to what the circuit can provide, but in most cases the supply is flexible, elastic, and most importantly: silent.

    ReplyDelete
  6. Excellent Blog very imperative good content, this article is useful to beginners and real time Employees. DevOps Online Training

    ReplyDelete