I hate Clouds - a personal perspective on why I think Clouds suck - eviltoast

I hope this won’t be counted as some form of self-promotion, even though I am sharing a post from my own blog.

As a tech worker who works in a Cloud shop, I wanted to elaborate the many reasons why I find working with Clouds terrible, from multiple points of view.

I tried to organize my thoughts in a (relatively long) post, in which both technical aspects and political aspects (which are very related) are covered.

I am sure many people will have different perspectives, and this could be potentially also a nice prompt for a discussion.

  • Tja@programming.dev
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    5
    ·
    4 months ago

    And that’s a good thing, IMHO. As an architect I don’t want to rely on some single genius knowing secret incantations or anything like that.

    Boring, tried and true services, repeatedly put together and if the organization allows the time for it, with excessive documentation.

    • conciselyverbose@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      5
      ·
      4 months ago

      No one’s talking about secret incantations.

      They’re talking about knowing how your applications actually work, so you’re not tied to the whims of a third party.

            • conciselyverbose@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              4 months ago

              That’s literally the entire chain you clicked down.

              The fact that cloud provider calls aren’t based in any kind of core principles and force you to spend all your resources understanding their nonsensical structure instead of what your code actually does.

              • Tja@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                2
                ·
                4 months ago

                Wrong. You don’t know how it’s implemented, but you very much know what they do. Even heard about abstraction?

    • Lettuce eat lettuce@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      4 months ago

      Straw man. I’m encountering sys admins and systems “engineers” who don’t know how to spec out a server, don’t understand how certificates work, don’t understand basic IP addressing principles, don’t understand basic networking topology.

      They just know how to click a list of specific buttons in a GUI for one specific Corpo vendor.

      Maybe that is fine for a Jr. Admin just starting out, but it isn’t what you want for the folks in charge of building, upgrading, and maintaining your company’s infrastructure.

      There’s nothing wrong with making interfaces simpler and easier to understand. And there’s nothing wrong with building simplified abstractions on top of your systems to gain efficiency. But this should not be done at the cost of actual deep understanding and functionality.

      The people you call when things go badly wrong will always be the folks that have that deep understanding and competency. It already has started hitting the developer community in the last few years. The Jr. Devs that did a 3 month boot camp where they learned nothing but how to parrot code and slap APIs together, are getting laid off and cannot find work.

      The devs that went to school for Comp Sci, that have years of real world experience, and actually understand the theory and the nuts and bolts of the underlying tech, they are still largely employed and have little trouble finding work.

      I think the same will happen soon in the IT world. Deep knowledge and years of dirty, greasy hands will always be desirable over a parrot that only knows how to click GUI buttons in a specific order.

    • loudwhisper@infosec.pubOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 months ago

      Is that what you get with Cloud? Because there are still a million ways to shoot yourself in the foot. The main difference is that the single genius doesn’t need to implement things him/herself, but decisions still need to be taken and fragile setups can still be built.

      Imagine an ec2 instance in a satellite account performing some business critical function with an instance role, whose custom IAM policy allows to do it in another account. Clouds are not giving you good engineering, they are giving you premade building blocks, you can absolutely still make a mess with those. Even more, the complexity and the immense portfolio of features can allow very creative ways to build very low-quality systems.

      I think you can have good, boring, simple systems built by engineers. With or without Cloud services.

      • Tja@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 months ago

        You can still make a mess, but you can’t fuck up the building blocks, so it’s a big improvement.

        Using an ec2 instance is already a yellow flag, you have higher level services for most tasks.

        • loudwhisper@infosec.pubOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Yeah in general you can’t mess the building blocks from the PoV of availability or internal design. That is true, since you are outsourcing it. You can still mess them up from other points of view (think about how many companies got breached due to misconfigured S3 buckets).