This workshop outlines the key concepts, principles, and approaches used to design and implement applications where high-performance, scalability, and resiliency are first-class quality attributes, three essential goals of many modern application architectures.
Most of these architectures are (in general) distributed and they combine different concepts and styles to achieve the highest effectiveness. It is fundamentally necessary to understand for which class of problems what architectural approaches we can leverage during the design phase and how we can implement them. The lack of a proper design leads to additional complexity, over-engineering, difficulties in extending or adding new functionalities, and potentially generates project failures.
For a better understanding, most of the concepts are exemplified using a distributed application implemented in Java, based on Spring Boot, and run inside multiple Docker containers, so that the attendees could easily relate the theory to the practice and further apply some of these tactics in their projects.
Ionuț is a software architect working for Raiffeisen Bank International in Vienna. He is also an independent technical trainer, security champion, and blogger, and regularly speaks at major software development conferences and meetups around the world, delivering presentations, training sessions, and workshops. He has a vast technical background gained during almost 15 years of software development in a wide variety of business applications. He is actively involved in developing production-ready systems and this real-life experience is the basis for his presentations, training, and workshop topics, mixed uniquely and efficiently.
He is also known as a performance guy particularly interested in Compilers. His previous work on performance benchmarking raised internal interest across a few teams from big companies like Twitter, OracleLabs, Azul, and IBM.
Outside of work, Ionut is passionate about traveling and playing the piano.