Distributed systems
beauty and the beast
MICHAŁ ŁUKASZEWSKI, INTEL
Roadmap
Glossary
A real life
Conclusions
Glossary
WHAT A „DISTRIBUTES SYSTEM” IS?
Loosely coupled,
service oriented architecture
„Nodes”
Distributed memory
Communication through network
Why we distributed systems
AND WHAT HAPPNES THEN
Hype Driven Development
Monolith architecture
Premature optimization
Overengineering
https://twitter.com/ziobrando/status/741186560373186560
DRY is not about identical chunks of bits or characters in different places.
DRY aims at not repeating domain concepts
What happens then?
Cyclomatic complexity
Cyclomatic complexity
Monolith architecture
Monolith Distributed architecture
Monolith Distributed architecture
Costs
Maintenance costs
Logs (distributed)
Monitoring
Availibity
Access policies
Backups
UPDATES!
Perfomance vs. costs
HIGH SKILLS OF DEVELOPERS
The true problem is...
DATA
Calling a remote system
Async
Error handling (and their are asynchronous and distributed)
Monitoring a progress of request flow
Security
QoS
IoC (on the architecture level)
Dealing with past events
Skills of developers and programmers
Callback hell
Security
Sign in/ssl/keys (we know everything about this)
How we can confirm that data from queue are safe and
trustable?
What we can do if remote systems unexpectably sends
to us many strange requests (as part of the botnet)
Neverending story...
Conclusions
IS THERE IS RIGHT WAYS?
Design and maintenance of distributed
systems is
Design and maintenance of distributed
systems is
Design and maintenance of distributed
systems is
Design and maintenance of distributed
systems is
Literatura
• https://martinfowler.com/ieeeSoftware/coupling.pdf
• https://thenewstack.io/dockercon-europe-adrian-
cockcroft-on-the-state-of-microservices/
• https://jrtrivedi.blogspot.com/2016/03/difference-
between-loosely-coupled-and.html
• https://speakerdeck.com/mat3u/domain-events-czyli-
jak-radzic-sobie-z-rzeczywistoscia
• https://speakerdeck.com/ulff/event-sourcing-in-php
• http://blog.best.net.pl/16-key-points-wydajnosc-w-
budowaniu-aplikacji-internetowych/
• https://www.linkedin.com/profile/portfolio?id=31205064
&authType=name&authToken=YnLc&mediaID=51178139
&trk=landing_share
• http://danielwhittaker.me/2014/09/29/handling-
concurrency-issues-cqrs-event-sourced-system/
• https://www.youtube.com/watch?v=l2vQqJW64DQ

Distributed Systems @ Code Europe