DevOps Zone is brought to you in partnership with:

Patrick Debois has been working on closing the gap between development and operations for many years. In 2009 he organized the first conference and since then the world is stuck with the term 'devops'. Always seeking for opportunities to optimize the global IT instead of local optimizations. Patrick is a DZone MVB and is not an employee of DZone and has posted 39 posts at DZone. You can read more from them at their website. View Full User Profile

Damn Abstraction - Frameworks, ORM, Filesystems, VMs, etc.

  • submit to reddit

In May 2011 I was asked to do a presentation at GotoCon CopenHagen. Unfortunately due to illness I had to cancel at the last moment. I hope to make up for it in October at GotoCon Aarhus

The slides were already up on slideshare, but now I finally found the time to post them on my blog.

The main theme was that there is the notion in software development that everything can be solved by another level of indirection/abstraction. In a way the cloud are like one of these abstractions. Personally I really like abstraction as they allow you easier thinking about your problem domain. But ... , if things fails you want to understand what happens below the abstractions.

Many people think devops is about automation, that way their job easier will become easier. And some even talk about no-ops as the Walhalla. The truth is that things will fail eventually and you need to be prepared to cope with that. And this is where devops helps: it helps you save time to go faster but by collaborating you can understand these complex systems and by pairing your whole team needs to be aware these things can happen. The right balance between non-functional and functional work stays whether it is automated or not.

Enjoy the presentation :


Published at DZone with permission of Patrick Debois, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Mike Dzone replied on Tue, 2011/09/06 - 9:53am

Goes in line with my crusade against Spring and Hibernate.  I spend more time trying to figure out what is going wrong with these "abstractions" that I could get a bigger ROI to spend the time to rip them out of our project.

Jacek Furmankiewicz replied on Tue, 2011/09/06 - 2:33pm in response to: Mike Dzone

Maybe you just need more self-training? Spring + Hibernate have let us develop tons of quality enhancements in record time, with high quality. Very rarely have I felt that they got in my way.

Mark Unknown replied on Tue, 2011/09/06 - 5:42pm in response to: Jacek Furmankiewicz

+1 to Jacek. Hibernate and Spring have saved me tons of time and have gotten rid of a ton of boilerplate code and someones home grown attempt at Spring/Hibernate. You HAVE to solve the problem some way.

Mark Unknown replied on Tue, 2011/09/06 - 5:43pm in response to: Mike Dzone

My crusade is against those who should be doing something else besides app dev. I spend more time trying to figure out what they where trying to do versus what they actually did.

Erwin Mueller replied on Wed, 2011/09/07 - 3:53am

I agree with Edward Tufte and his The Cognitive Style of PowerPoint paper. Powerpoint presentations really make us stupider. This presentation is just a bunch of random pictures with one sentence of "explanation" of it.

The question at the end I have, what was the presentation about? Something about abstraction and a bunch of random phrases and random pictures. Looks computer generated.

That would be a nice project for the winter. "Present Everything App". You choose a topic, enter a collection of phrases, catchwords and pictures and the app will generate a presentation for you.

Patrick Debois replied on Wed, 2011/09/07 - 9:21am in response to: Erwin Mueller

Haha, this made me laugh. If only it was this easy. True, slides alone don't convey the message to the full extend. These were supposed to be part of an actual presentation, where slides are explained and serve supportive to the presentation itself. Looking forward to your present everything app. That will save me tons of time.

Patrick Debois replied on Wed, 2011/09/07 - 9:23am in response to: Mark Unknown

i agree that Hibernate and the likes (like rails) help you to go faster....But when they fail, it becomes so much harder to debug, because you don't know what happens under the hood. Part of operations you are often in that position. Adding additional layers increase complexity, and we should value the KISS principle there more.

Mark Unknown replied on Wed, 2011/09/07 - 5:26pm in response to: Patrick Debois

Adding additional layers increase complexity,
Not always. I would say that piles of code with intermingling of concerns is more complex than a framework.

Which is more complex? Assembler or C? C or Java?

Btw, KISS is Keep It Simple Stupid, not Keep It Simple for Stupid. ;)

Justin Forder replied on Tue, 2011/09/27 - 4:50am

There's a lot of truth in this - I hope there will be a video of your presentation in October.

I think you would enjoy this superb lightning talk from JavaZone in Oslo: "Hibernate should be to programmers what cake mixes are to bakers: beneath their dignity."

I see both sides. I'm happy when projects use Hibernate well, with an understanding of what's going on underneath, keeping an eye on the SQL it generates. On the other hand, I have spent a lot of time sorting out performance problems caused by people using Hibernate without this care, and I've been shocked to see (when profiling a Spring/Hibernate project) over 60 levels of framework method call between the application code and the JDBC driver.

I have felt for years that, despite the use of the best available mainstream frameworks, web applications are far more complicated to build than they should be. The ratio of code doing useful application-specific stuff (essential complexity) to code and configuration that is required by the technology (accidental complexity) is small. So we need more abstraction (away from the technology), but only if it is the right abstraction, and it will still need to be used with an understanding of what goes on underneath.

For a visionary and sobering take on the problems of the software world I recommend Alan Kay's recent talk, "Programming and Scaling".

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.