'Good Enough' Architecture • Stefan Tilkov • GOTO 2019

preview_player
Показать описание
This presentation was recorded at GOTO Berlin 2019. #GOTOcon #GOTOber

Stefan Tilkov - Co-founder & Principal Consultant at INNOQ

ABSTRACT
In this session, we’ll take a look at some of the ways we can determine whether the development efforts we’re undertaking suffer from too much or too little focus on architecture. We’ll examine a number of real-world examples that are intended to inspire either admiration or terror, and try to find some recipes of how we can get more of the former and less of the latter in our own [...]

Download slides and read the full abstract here:

RECOMMENDED BOOKS

#SoftwareArchitecture #Backend #StefanTilkov

CHANNEL MEMBERSHIP BONUS
Join this channel to get early access to videos & other perks:

Looking for a unique learning experience?

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Рекомендации по теме
Комментарии
Автор

Looking for books & other references mentioned in this video?
Check out the video description for all the links!

Want early access to videos & exclusive perks?

Question for you: What’s your biggest takeaway from this video? Let us know in the comments! ⬇

GOTO-
Автор

RIP Stefan. The day I found you was the day I realized we lost you, but your legacy will remain for a long time.

karangisreekanth
Автор

"If your design attempts to satisfy everyone, you'll likely end up satisfying no one"- That line right there hit the nail on the head!

dinukadev
Автор

*Timecodes*

4:30 Your system has an architecture whether you want it or not
6:00 Scaling Dimensions
7:45 Non-extensible Extensibility
10:54 Perilously fine-grained
16:35 Your system WILL be dynamic
18:35 Change the meaning of the attributes
20:35 Free-style architecture
26:40 There's a fine line between diversity (that adds value) and chaos (that doesn't)
28:40 Cancerous Growth
33:40 Improve with less intelligence
34:50 If the tool brings its own IDE you should be worried
37:35 Strangler Pattern
39:00 Takeaways

ruslanbes
Автор

One of the best talks I heard about the important balance between centralization and autonomy in the age of DevOps and microservices. Thank you very much!

drhilarius
Автор

Wow that 3rd example was diabolical. Excellent talk!

RoyRope
Автор

Very interesting and practical talk! Thanks a lot to the speaker and the organizers!

OlegYuzvik
Автор

Decided to write their own encryption ... Still laughing over that one ... the fact that it is written in Borland C++ and has to run in a VM makes it all more hilarious ... Makes my various experiences seem not so bad ... I've seen lots of this kind of stuff over the years :-)

robsciuk
Автор

Really great talk! I really enjoyed the part where he took some small jabs at companies that see themselves as Netflix scale entities.

johnofardeal
Автор

Great talk. The issue with "everyone does architecture" while true in a sense, devs should be able to decide when it comes to implementation details, but if there is no dev looking at the big picture this also means that there is no consistent architecture, and your product looks like a design by committee. Yeah, better do those choices consciously. So I guess the thing is big A Architecture looking at the big picture should be more about application/services integration that anything else, and not as focused with intra-application, except when we do have real application layers (like front-end, back-end, db) specially when managed by different people, not just virtual ones (model, domain, application, etc), the latter which should be up to the devs maintaining them and freely refactor internally as needed as long as they keep talking to other applications, services and physically separate layers of the same application, as they were before.
And I fully agree you need to be a good dev to be an architect (even if it is someone that temporarily takes on that role) and that experience is what makes you able to not just apply something as cargo cult, and some times even overdoing it so wrong and misunderstanding Clean Code (or whatever you think you're applying) so deeply that there is no practical benefit from the way your software is laid out, it just looks enterprisey, costly to maintain, and everything is everywhere, but it has tons of interfaces and you see they used those standard magical names for their packages.

trinidad
Автор

This guy is full of nice horror stories, every minute of the video after 8" on is like "Yeah, we did that and it ended up horrible"

nshopov
Автор

2:40 "whatever hurts if you get it wrong" .. nice :)

nir
Автор

Many many thanks for this lecture, Stefan! All is so true... I think the main issue about not investing enough in Architecture is that people find it too abstract and/or boring.

StefanoGattoCH
Автор

Sharing responsibility over a single server between multiple teams does in deed sound like it breaks the idea of teamwork in general. The idea of distributing a single task across team boundaries is one of the anti-patterns for organizational efficiency even in management literature. I'm thinking of Fredmund Malik's books specifically here.

pohjoisenvanhus
Автор

I admit I fall into the same sort of anti-patterns that this discusses. But we do try to evolve to make sure that things will be able to adapt. The last two takeaways he discusses in 39:40 illustrate what I set up to do.

The evolution is still pretty rapid. Hopefully as we scale in number of developers, a few of us can formalize the architecture, but for now it's pretty much quick discussions during the sprint and planning for it in next and future sprints.

That being said having an end vision of what the architecture would sort of look like helps. I don't intend to copy Netflix, but having the idea of distributing the work/data into isolated instances for data capture and presentation but utilizing technologies such as Kafka to push into a federated store keeps back office analytics work separate from core applications.

ArchimedesTrajano
Автор

Great presentation Stefan. These were very helpful insights.

phil
Автор

He looks a bit like Computer scientist Dennis Ritchie, who drove the design of the C programming language and the UNIX operating system, who died in 2011

Andres
Автор

it was a very valuable session
thanks!

klimenkor
Автор

This talk would have been extremely beneficial for some managers at IBM I worked with about 3 or 4 years, where we had to turn a multi-million project's architecture around because wait for it was the WRONG THING. The cherry on top is that they tried to hide it from us and at the same time sugar coat their fuck-up to the client. I left that company not long after, too much toxicity and politics.

ForgottenKnight
Автор

At 21:40, you share levels of abstraction (methods < modules < components < ...).

Depending on the technology context, do you agree that modules and components can abstract one another (above and/or below in the diagram)?

ourchitecture
visit shbcf.ru