Komplexität vermeiden
Alle sprechen von Performance und träumen von kurzen Antwortzeiten ihrer Webanwendung. Doch das Fullstack-Framework mit seinem mächtigen ORM und der komplexen Code-Infrastruktur, diverse externe Bibliotheken und die chronisch überlastete Datenbank rücken das Ziel einer hochperformanten Website in weite Ferne. Die Anbindung diverser, natürlich ebenfalls langsamer und unzuverlässiger Schnittstellen von Drittanbietern tut ihr Übriges. Ach ja, und E-Mails müssen auch noch verschickt werden ...
Die "Best Practices" vieler Frameworks sowie im Internet verfügbare Artikel legen uns nahe, dass all diese Arbeit natürlich während der Verarbeitung des Requests getan werden soll. Dabei zeigt die Unix-Welt seit Jahrzehnten, dass das Geheimnis des Erfolgs im Zusammenspiel hochspezialisierter und vor allem kleiner Anwendungen liegt. Höchste Zeit, diese Erkenntnis auf den eigenen Code zu übertragen. In dieser Schulung werden wir eine klassisch aufgebaute Webanwendung neu denken und beispielsweise langsame Operationen einfach asynchron im Hintergrund ausführen.
Lernziele
- Sie verstehen, welche Arten von Komplexität es gibt
- Sie kennen die wichtigsten Strategien, um unnötige Komplexität zu vermeiden
- Sie erkennen, wie sie durch Trennung unterschiedlicher Belange auch große Anwendungen beherrschbar entwickeln und betreiben können
Zielgruppe
Diese Schulung richtet sich an Entwicklerinnen und Entwickler, die Stabilität und Performance ihrer Webanwendungen verbessern wollen.
Voraussetzungen
Grundlegende Erfahrungen mit der Entwicklung und dem Betrieb von Webanwendungen, egal ob diese in PHP umgesetzt wurden oder in anderen Programmiersprachen.
Komplexität vermeiden 495,- EUR 5 Credits
3 Online-Sitzungen á 90 Minuten
Diese Schulung startet das nächste Mal am .
Danach findet diese Schulung das nächste Mal voraussichtlich im statt.
-
Wie alles begann
Dauer: 90 Minuten
In dieser Session gehen wir den Fragen nach, was genau eigentlich Komplexität ist, warum Softwaresysteme scheinbar immer komplex(er) werden und was das Ganze mit Performance zu tun hat.
Im Praxisteil analysieren wir gemeinsam eine Standard-Anwendung, um die Frage zu beantworten, was hier (architektonisch) wohl alles schiefgelaufen ist.
-
Aufbruch in eine neue Welt
Dauer: 90 Minuten
Komplexität reduziert man am einfachsten, in dem man unnötige Arbeit vermeidet. Möglich macht dies unter anderem die klare Trennung von Lesen und Schreiben und das Verlagern in asynchrone Prozesse und der verzicht auf aufwendige Cache-Strukturen.
Im Praxisteil nehmen wir uns der schon bekannten Anwendung an und überlegen uns, wie wir diese mit dem Gelernten schnell(er) bekommen.
-
Es kann so einfach sein
Dauer: 90 Minuten
Wir haben jetzt zwar schon eine deutlich performantere Anwendung, aber da geht noch mehr:
- Darum sind auch dynamische Inhalte kein Problem
- Arbeit kann und sollte auch an den Webserver zurück delegiert werden
- Asynchrone Verarbeitung und Hintergrundprozesse
- Services einfach mit Systemd kontrollieren
Live Coding: Elegantes Logging mit Journald umsetzen
Ihr Trainer
Arne Blankerts hat oft schon Lösungen parat, bevor andere ein Problem erkannt haben.Sie wollen diese Schulung exklusiv für Ihr Unternehmen?
Wir führen jede Schulung auch gerne exklusiv online ("inhouse") für Sie durch. Dabei passen wir Inhalte und Schwerpunkte an Ihre konkreten Wünsche und Bedürfnisse an und arbeiten im Rahmen der Möglichkeiten auch direkt mit Beispielen direkt aus Ihrer Codebasis.