Avoiding Complexity
Everyone talks about performance and dreams of short response times for their web application. However, the full-stack framework with its powerful ORM and complex code infrastructure, various external libraries and the chronically overloaded database mean that the goal of a high-performance website is a long way off. The integration of various, naturally also slow and unreliable interfaces from third-party providers does the rest. Oh yes, we also have to send e-mails ...
The "best practices" of many frameworks and articles available on the Internet suggest that all this work should naturally be done while the request is being processed. Yet the Unix world has shown for decades that the secret of success lies in the interaction of highly specialized and, above all, small applications. It is high time to transfer this knowledge to your own code. In this training, we will rethink a classically structured web application and, for example, simply execute slow operations asynchronously in the background.
Learning Objectives
- You understand what types of complexity exist
- You know the most important strategies for avoiding unnecessary complexity
- You recognize how you can develop and operate large applications in a manageable way by separating different requirements
Target Audience
This training is aimed at developers who want to improve the stability and performance of their web applications.
Requirements
Basic experience with the development and operation of web applications, regardless of whether they were implemented in PHP or in other programming languages.
Avoiding Complexity 495,- EUR 5 Credits
3 Online Sessions á 90 minutes
No date is currently planned for this training.
-
How it all started
Duration: 90 minutes
In this session, we will explore the questions of what exactly complexity is, why software systems seem to be becoming more and more complex and what this has to do with performance.
In the practical part, we analyse a standard application together to answer the question of what went wrong here (architecturally).
-
Entering a new world
Duration: 90 minutes
The easiest way to reduce complexity is to avoid unnecessary work. This is made possible, among other things, by the clear separation of reading and writing, shifting to asynchronous processes and dispensing with complex cache structures.
In the practical part, we look at the already familiar application and consider how we can use what we have learnt to make it (faster).
-
It can be so simple
Duration: 90 minutes
We already have a much better-performing application, but there is still room for improvement:
- That is why dynamic content is no problem
- Delegating work back to the web server
- Asynchronous processing and background processes
- Control services easily with systemd
Live Coding: Implement elegant logging with journald
Your Trainer
Arne Blankerts has solutions ready before others have even understood the problem.Exclusive and customized?
We are happy to conduct any training exclusively online ("in-house") for you. We adapt the content and focus to your specific wishes and needs and optionally work with examples directly from your code base.