13. Dec 2016

5 Min.

SymfonyCon, ein Rückblick

Anfang Dezember fand die alljährliche SymfonyCon – die „große“ Symfony-Konferenz, organisiert von den Symfony-Urhebern SensioLabs – in Berlin statt. Wie ihr viel­leicht auf Facebook mit­be­kommen habt, war auch Fusonic in Berlin, um an den zahl­reichen Prä­sen­ta­ti­onen und Dis­kus­si­onen rund um das PHP-Frame­work teil­zu­nehmen.

Devs this way:
Dieser Blog­post ist dazu ge­dacht, Nicht-Ent­wicklern einen ver­ständ­lich­en Ein­blick in die SymfonyCon zu geben. Videos aller Talks werden nach Neu­jahr auf dem SensioLabs-YouTube-Channel erscheinen. Die Prä­sen­ta­ti­ons­folien findet ihr auf Joind.in.

Caching – Lachgaseinspritzung für eure Software

Gleich zwei Prä­sen­ta­tion waren dem Thema Caching gewidmet, wenn­gleich mit un­ter­schied­lich­en As­pek­ten. Wie viele von Euch schon wissen, kann mit so einem Cache die Lade­zeit einer Web­seite mit­unter drastisch re­du­ziert werden, da große Daten­mengen nicht jedes Mal neu auf­be­reitet werden müssen, son­dern das Er­gebnis im so­ge­nann­ten Cache zwischen­ge­speichert wird.

Als erstes prä­sen­tier­te Nicolas Grekas mit „PSR-6“ den neuen Stan­dard für Cache-Bib­liotheken. Hinter dem ominösen Kürzel ver­birgt sich eine stan­dardisierte Schnitt­stelle für Caching. Dank diesem Stan­dard kann Caching im Hand­um­drehen in be­stehende und neue App­li­ka­ti­onen im­ple­men­tiert werden, ohne das Rad jedes Mal neu er­finden zu müssen.

In der zweiten Prä­sen­ta­tion zeigte Alexander Lisachenko wie eine Symfony-Web­app­likation in Kom­bi­na­tion mit einem Varnish-Cache bis zu 10.000 An­fragen pro Sekunde bearbeiten kann. Der Varnish-Cache speichert säm­tlich­es HTML zwischen und reicht die Anfrage gar nicht erst bis zur An­wend­ung durch. Warum sollte er auch, wenn immer und immer wieder das selbe HTML aus­ge­liefert wird?

Zu den Präsentationen:
PSR-6
Varnish-Cache

Profiling – Datenautobahn statt -wanderweg

Caching ist nur die halbe Miete. Wenn sich in der Web­app­li­ka­ti­onen Flasch­en­hälse befinden und diese die gesamte App­li­kation ver­lang­samen, dann bringt auch das Caching nur begrenzte Ver­bess­er­ungen. Solche Eng­pässe sind oft nur sehr schwer zu finden und des­halb ist es von großem Vor­teil, wenn es ein Tool gibt, welches Ent­wick­ler bei der Suche un­ter­stützt. Eines dieser Tools ist zum Bei­spiel Blackfire.

Mit dessen Hilfe kann auf die Milli­sekunde genau unter­sucht werden, wie viel Speicher, Rechen­zeit und Netz­werk­ver­kehr die An­wen­dung ver­braucht. Was ge­ziel­tes Op­ti­mier­en er­mög­licht.

Zur Präsentation:
Profiling

Sicherheit – digitale Türsteher

Auch das Ab­sichern von An­wen­dun­gen war ein wichtiges Thema. Es wäre denk­bar un­günstig, wenn sen­sible Be­nutzer­daten – Kre­dit­karten anyone? – aus einem Online-Shop ab­ge­schnorch­elt werden können.

Romain Neutron zeigte, wie man – zu­sätz­lich zu den üb­lich­en Maß­nahmen – die Sich­er­heit mit einigen Server­ein­stell­ungen weiter erhöhen kann. In An­be­tracht der vielen Meld­ungen für Daten­dieb­stahl sollten sich dieses Thema wohl viele Ent­wickler und Unter­nehmen auf die Fahne schreiben.

Zur Präsentation:
HTTP-Security-Headers

Legacy-Anwendungen – Modernisierung mit Fertighauscharakter

Nicht immer wird ein Projekt von null auf gestartet. Oft­mals besteht der All­tag aus dem Warten und Weiter­ent­wick­eln einer bereits be­steh­en­den App­li­ka­tion – wie in unserem Fall bei Ribbl.

Durch das Schritt­weise Er­setz­en von Eigen­ent­wick­lung­en (z.B. Caching) wird nicht nur die Effizienz ge­stei­gert; die all­täg­liche Arbeit macht auch (subjektiv betrachtet) mehr Spaß, da Symfony-Komponenten in der PHP-Entwickler-Szene weit­hin be­kannt sind, dem­zu­folge oft ver­wendet werden und gut ge­testet sind.

Zur Präsentation:
Modernisierung mit Symfony