Jakub Derda Language: English Designing an enterprise system is not a black magic nowadays - indeed, a lot of experienced developers have some knowledge and experience in designing solutions. However, when SLAs, distribution and integration with legacy systems come into play, the complexity increases exponentially. This lecture will discuss most common pitfalls in designing fault-talerant systems, ways to plan for failure, how to predict where (and how) system may fail and ways to fail gracefully. We'll exploit both simple systems and more complex architectural blueprints, using EIP to solve/decrease influence of some of the problems.