this post was submitted on 07 Jul 2024
239 points (92.2% liked)

Technology

59266 readers
5184 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 4 months ago (3 children)

Very good read. I totally agree with your sentiment that more and more, "engineering" is becoming just gluing together and managing cloud services and features.

My job as a sys admin has become the same. It's not about actually understanding the technology at a deep level and troubleshooting problems, it's about learning specific applets and features to click on and running down daily and weekly checklists.

[–] [email protected] 5 points 4 months ago

I feel you very much. Security work is also somewhat similar.

I think this takes a way basically the component that made it interesting, understanding what you are doing to the point that you can build stuff.

it's about learning specific applets and features to click on and running down daily and weekly checklists.

Well said.

[–] [email protected] 2 points 4 months ago* (last edited 4 months ago) (1 children)

“engineering” is becoming just gluing together and managing cloud services and features.

Temporarily becoming.

Just like China had some social and cultural changes since being closed and till the Opium wars.

Systems are built around people and limited by what a human can conceive and make work. We don't evolve that fast.

Also dependency on big centers has led to catastrophes in the past and will lead to those again.

It will all crash with a huge bang.

I'm confident of this, anyone who wants may call me a luddite.

[–] [email protected] 2 points 4 months ago

Let's hope that people will start to favor on-prem solutions and smaller independent cloud providers vs the massive trillion dollar corpo clouds that control so much now.

[–] [email protected] -2 points 4 months ago (3 children)

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.

[–] [email protected] 5 points 4 months ago (1 children)

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.

[–] [email protected] -2 points 4 months ago (1 children)
[–] [email protected] 3 points 4 months ago (1 children)

If people don't know what your systems actually do, you're going to have huge problems at some point.

[–] [email protected] 0 points 4 months ago (1 children)

Where did I request for "not knowing what systems do"?

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago) (1 children)

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.

[–] [email protected] -1 points 4 months ago (1 children)

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

[–] [email protected] 1 points 4 months ago (1 children)

Abstraction is great. When it's meaningful.

Cloud abstraction adds massive complexity that has no correlation to what your code does.

[–] [email protected] 0 points 4 months ago

An di shouldn't. Separation of concerns.

[–] [email protected] 4 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago

That's incompetence, and that's a different problem.

[–] [email protected] 3 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 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).