Rückblick SymfonyLive Berlin 2018

Veröffentlicht am 09 November 2018 von Sarina Wörmann

BilderBlogSFL18Berlin.001

Drei Tage SymfonyLive in Berlin liegen hinter uns. Drei Tage mit vielen spannenden Workshops, interessanten Talks, guten freundschaftlichen und fachlichen Gesprächen, leckerem Essen, einer tollen Location und vielem mehr, was eine gelungene SymfonyLive ausmacht.
Du hast die Veranstaltung leider verpasst oder warst dabei und möchtest die Konferenz nochmal Revue passieren lassen? Wir haben für euch die Talks kurz zusammengefasst und Links zu den Slides und Bewertungen zugefügt.


Das Spektakel geht übrigens weiter: Im nächsten Jahr legen wir noch einen drauf und verlängern die Konferenz um einen Tag. Noch mehr Workshops, noch mehr Talks, noch mehr Symfony.

 

 Keynote
Symfony without the Framework Bundle
Tobias Nyholm 

BilderBlogSFL18Berlin.001


Frameworks wird häufig nachgesagt langsam zu sein - auch Symfony ist davon nicht ausgenommen. Tobias Nyholm hat uns erklärt woher diese Vorurteile kommen, welchen Wahrheitsgehalt sie haben und ob es sich nicht einfach um veraltete Ansichten handelt.

Und dann ging es vor allem darum, wie man seine Anwendungen schneller machen kann - sogar so schnell, dass sie in weniger als 15ms antworten.

Seine Top 3 Tipps für eine bessere Performance:

#1 Buy a better Server

#2 Use Varnish

#3 Run less Code

 

 Eine Einführung in die Symfony Messenger-Komponente
Denis Brumann

BilderBlogSFL18Berlin.002


„Symfonys Messenger-Komponente macht die Einführung asynchroner Verarbeitung in eine bestehende Anwendung einfacher denn je.“, sagt Denis Brumann und stellt in seinem Talk genau das unter Beweis.

Die in Symfony 4.1 hinzugekommene Messenger-Komponente ermöglicht es, asynchrone Prozesse auch zwischen mehreren Anwendungen anzustoßen, wodurch sie zu einem elementaren Baustein einer microservice-basierten Architektur werden. In seinem Talk hat Denis die einzelnen Aspekte der Komponente, wie Message Bus, Handler und Middlewares beleuchtet. Anhand eines praktischen Beispiels wurde vorgestellt, wie die Message Komponente Schritt für Schritt in ein bestehendes Projekt eingeführt wird und auf Stolpersteine bei der Umsetzung hingewiesen. Die Vorgehensweise und gezeigten Codebeispiele kann man auf Github nachvollziehen.

 

Doctrine - mehr als nur ein ORM
Andreas Braun

BilderBlogSFL18Berlin.003 

Einen Blick über den Tellerrand warf Andreas mit seinem Talk und stellte seinen Zuhörer/innen vor, welche Projekte neben dem bekannten ORM unter dem Doctrine-Projekt entwickelt werden. Neben den Bibliotheken, die elementare Funktionalitäten wie annotationsbasierte Konfiguration bereitstellen, und der Verwaltung von Datenbankmigrationen ging es unter anderem um das ORM-Schwesterprojekt ODM, mit dem man statt relationaler Datenbanken dokumentbasierte Alternativen wie MongoDB ansprechen kann. Damit wurde die Vielfalt des Doctrine Ökosystems verständlich aufgezeigt. Besonders spannend sind auch Andreas Informationen zu kommenden Entwicklungen von Doctrine. In den nächsten Monaten wird unter anderem eine vollständige Migration auf PHP 7 erwartet. Danke für diesen Einblick in Doctrines Roadmap.

 

Ein leistungsfähiger Development Workflow mit Kubernetes 
Bastian Hofmann

BilderBlogSFL18Berlin.004

 
Wenn man in seiner Entwicklungsumgebung Docker verwendet, ergeben sich daraus eine ganze Reihe neuer Probleme. Angefangen bei Abbildungsschwierigkeiten der Produktiv-Umgebung zur Entwicklungszeit bis hin zur Versionierung von Services und dem Reproduzieren von Bugs.

In seinem Talk ging Bastian auf diese Probleme ein und hat anschaulich, anhand diverser Demos gezeigt, wie Kubernetes nicht nur bei der Orchestrierung einer Live-Umgebung, sondern bereits während der Entwicklung eingesetzt werden kann. Dabei hat er eine ganze Sammlung von nützlichen Tools vorgestellt, die den Programmieralltag erleichtern können.

 

Content & Master Data Management mit Pimcore 
Christoph Lühr

BilderBlogSFL18Berlin.005

 

Um ein Backend User Interface bereitzustellen sind gemeinhin zwei Möglichkeiten verbreitet: Entweder es muss ein neues Interface (mittels Scaffolding) für das spezifische PHP-Projekt entwickelt werden oder ein bereits bestehendes System muss an die neuen Anforderungen angepasst werden.
Beide Varianten sind äußerst umständlich, zeitaufwendig und erzielen oft nicht die gewünschten Ergebnisse. Christoph Lühr hat in seinem Talk die Lösung für das beschriebene Problem im Gepäck. Mit der Open Source Plattform Pimcore können auch komplexe Datenstrukturen bedient werden. In einer Live-Demo hat Christoph vorgeführt, welche CMS-, CRM-, E-Commerce- und Web2Print-Funktionen für eigene Projekte genutzt werden können.

 

How to F*ck up your Development team with Microservices
Stephan Schulze

BilderBlogSFL18Berlin.006

 

In seinem Talk hat Stephan seine persönlichen Erfahrungen bei der Umsetzung eines großen e-commerce-Projekts mittels Microservice-Architektur geteilt. Stephan zeigte dabei auch die Schattenseiten auf, die das Architektur-Paradigma mit sich bringt. Hohe Eigenverantwortung, Komplexität und jede Menge neue Technologien machen es Entwicklern, Administratoren und auch der Projektleitung schwer. Anschaulich schildert er die daraus folgende Unzufriedenheit im Team und die häufig unterschätzten Ressourcenaufwände.

Trotz aller Probleme hat sich Stephan dennoch überzeugt gezeigt, dass die auf Team-Autonomie und schnelle Veränderungen optimierte Microservice-Architektur Vorteile bringen kann und gab den Zuhörer/innen die Learnings aus seinen Projekten mit auf den Weg.

 

The How's and Why's of a Clean Git History
Petr Heinz

BilderBlogSFL18Berlin.007

 

Veränderungen an Code nachverfolgen zu können ist wichtig, findet Petr Heinz und zeigt in seinem Talk, wieso eine verständliche Code History jedem Entwickler das Leben leichter macht. Anhand einiger Best-Practices und fortgeschrittenen Git Techniken beweist er den Zuhörer/innen, warum sich der Extraaufwand final auszahlt. Petr hat gezeigt, wie ein guter Commit aussehen sollte und wie eine hilfreiche Commit Message erstellt wird.

Diese vier Tipps hat er für euch zusammengefasst:

#1 Clean code gibt es nur durch clean history

#2 Ein git commit ist immer atomar

#3 Inline comments bringen immer erhebliche Nachteile mit sich

#4 Git ist super. Nutzt es!

 

Develop Yourself -
Ein Plädoyer für mehr Software Handwerkskunst
Ole Rößner

BilderBlogSFL18Berlin.008

 

Softwareentwicklung sollte nicht nur stumpfes Code runterschreiben sein. Für Ole Rößner ist Coding ein Handwerk, das Training erfordert. Um diesem Leitgedanken zu entsprechen hat Ole den Kata Workflow & den Randori Workflow vorgestellt und damit seinen Zuhörer/innen praktische Methoden an die Hand gegeben, das regelmäßige Üben zu strukturieren und zu vereinfachen.

 

Security Testing
Prof. Dr. Jan Jürjens

BilderBlogSFL18Berlin.009

 

In seinem Talk hat Prof. Dr. Jan Jürjens ein nach wie vor brennendes Thema vorgestellt. Durch immer komplexer werdende Angriffe ist die Sicherheit von Webanwendungen gefährdet und sie müssen entsprechend dagegen geschützt werden. Jan hat gezeigt, wie Symfony als Framework Entwicklern die Umsetzung von Dingen wie Authentifikationen erleichtert und weitere nützliche Sicherheitsfeatures erklärt. Beim richtigen Einsatz der Tools verspricht er als Resultat eine sichere Webanwendung.

 

Success of Blackfire
and Continuous PHP performance monitoring at trivago

Jorge Luis Betancourt Gonzalez

BilderBlogSFL18Berlin.011

 
Für trivagos Suche ist Performance ein kritischer Faktor. Durch hunderte Commits täglich und ähnlich vielen A/B-Tests ist das Finden von Regressionen, sowie das Suchen nach Optimierungspotential besonders anspruchsvoll. In seinem Talk hat Jorge Luis vorgestellt, wie trivago blackfire.io in ihre Pipeline integriert, Performance-Tests als Teil ihrer Builds durchführt und die gesammelten Daten auswertet.

Für alle, die daran interessiert sind die Performance ihrer Webanwendung kontinuierlich zu monitoren, lohnt sich ein Blick in die Videoaufzeichnung des Talks, um die Inhalte nochmals detailliert nachvollziehen zu können. Die Videos werden bald auf unserem YouTube-Channel veröffentlicht.

 

Nomes est Omen - 

Naming things considered hard
Anne-Julia Seitz

BilderBlogSFL18Berlin.010

 
Die richtigen Bezeichnungen zu finden, ist für Entwickler immer wieder eine herausfordernde Aufgabe. Klassen, Funktionen und Variablen bekommen Namen, die persönlich und für andere Entwickler sowohl dauerhaft verständlich, als auch aufschlussreich sein müssen. Anne-Julia Seitz hatte tolle Tipps und Anekdoten zu dem Thema im Gepäck und erklärt die Do’s and Don’ts bei der Suche nach den richtigen Namen. Sie fasst es treffend zusammen: „Sobald ich mit dem Namen zufrieden bin, bin ich gewöhnlich auch zufrieden mit dem Design.“

 

Webpack Encore - Asset Management für den Rest von uns

Stefan Adolf

BilderBlogSFL18Berlin.012


An dem mächtigen Bundler Webpack kommt man bei der Erstellung von Assets kaum vorbei. Doch schon die Konfiguration erfordert akademische Kenntnisse der Interna. Eine einfache Lösung dafür hat Stefan Adolf in seinem Talk vorgestellt. Mit Encore bietet Symfony einen recht schmalen Wrapper um Webpack an, wodurch das Asset Building in verschiedenen Umgebungen funktioniert. In seiner Demo zeigt Stefan, wie Assetic mit 
Webpack und Encore ersetzt werden kann und dadurch ein React-basiertes Frontend für eine Symfony-Applikation entwickelt wird. Auch komplexere Anforderungen, wie die Verwendung von Plugins, Sourcemaps oder Chunks wurden nicht ausgelassen.

 

The Silex Sunset
Alexander M. Turek

BilderBlogSFL18Berlin.013

Im Juli wurde die Entwicklung an Silex, dem Symfony-basierten Micro-Framework, eingestellt.
Auch wenn zuvor der Support für die Symfony 4-Komponenten sichergestellt wurde, müssen sich Projekte nun trotzdem Gedanken machen, wie sie das Framework zukünftig ablösen.
Alexander Turek schildert anhand seiner Migration des OpenCFP-Projekts von Silex zu Symfony 4, wie die Umstellung möglichst reibungsfrei funktionieren kann. Er hat gezeigt, wo Silex von Symfony abweicht und wie man eine Brücke schlagen kann, so dass eine Anwendung mit beiden Frameworks betrieben werden kann.

 

Using Symfony Forms with Rich Domain Models

Christian Flothmann & Christopher Hertel

BilderBlogSFL18Berlin.014

Christopher und Christian von SensioLabs haben in ihrem Talk eine neue Lösung für eine Fragestellung vorgestellt, die immer wieder in Symfony Projekten auftaucht. Mehr und mehr Teams bevorzugen mittlerweile Rich Domain Models gegenüber anemischer Models. Diese Models, die häufig mit der Gestaltung einer Anwendungen nach den Prinzipien des Domain-driven Designs einhergehen, lassen sich allerdings nur über Umwege als Datenmodell eines FormTypes nutzen. Entweder muss mit DTOs oder DataMappern zusätzlicher Glue Code geschrieben oder Kompromisse beim Design des Models eingegangen werden. Das neu veröffentlichte Rich Model Forms Bundle löst dieses Problem mit der Implementierung neuer Form-Optionen, die eine Lösung auf Basis der DataMapper generalisieren. Ermöglicht wird dies durch die Erweiterung der Symfony Form Komponente. Dadurch wird die Flexibilität beim Aufruf lesender und schreibender Methoden erhöht, immutable Value-Objekte und Named-Constructor möglich und durch Exceptions können Formular-Fehler übersetzt werden.

 

Besucherspezifische Inhalte rasend schnell
mit HTTP-Caching und Sulu

Thomas Schedler

BilderBlogSFL18Berlin.015

- "I really love the Varnish Configuration Language!" said no one ever - hat Thomas Schedler auf einer seiner Slides stehen. Um VCL den Schrecken zu nehmen, führt er die Zuhörer sehr detailliert durch seine mitgebrachten Beispiele. Damit zeigt er auf, wie es in Sulu möglich ist, verschiedenen Benutzergruppen unterschiedliche Inhalte auszugeben und diese weiterhin zu cachen. Nach seiner ersten Einführung in das HTTP-Caching, Symfony's HttpCache und Varnish, hat Thomas nicht nur Informationen für Einsteiger zu bieten, sondern konnte auch erfahrenen Entwicklern zeigen, wie sich durch Optimierungen eines Proxy Caches die Serverlast minimieren lässt.

 

Die nächste SymfonyLive wird noch größer!

Im September treffen wir uns im MOA Hotel Berlin wieder. Diesmal für volle vier Tage! Darf man nicht verpassen? Finden wir auch. Tickets sind ab demnächst verfügbar. Du kannst dich hier registrieren und als erster Informationen zum Ticketverkauf erhalten.