Flow als Basis für viele Anwendungen

Natürlich entwickeln wir auch Webanwendungen, die keine Contentpflege benötigen. In diesen Fällen setzen wir gerne auf das PHP Framework Flow. Ursprünglich ebenfalls aus der TYPO3 Community entstanden, ist Flow mittlerweile ein mächtiges und vielseitig einsetzbares Framework. Seit einigen Jahren setzen wir Flow erfolgreich in Projekten und Teilprojekten ein, die eher auf Funktionalität als auf redaktionelle Aufgaben ausgerichtet sind. So haben wir beispielsweise das Codecoon Portal in Flow geschrieben und für die Deutsche Post einzelne Teile des Partnerportals umgesetzt.

Stabile moderne Sprachen und Frameworks für die schlankste Lösung

Bei punkt.de versuchen wir immer, die passenden Technologien für die Probleme unserer Kunden zu finden. Dabei geht es nicht darum, um jeden Preis neue Technologien einzusetzen, sondern mit Sinn und Verstand schlanke, stabile und nachhaltige Software zu entwickeln. Bei der Verwendung von Chef zum Provisionieren von Projekten setzen wir beispielsweise auf Ruby, zur Implementierung von Webservices auch auf Sinatra.

Natürlich können wir auch jede Art von Frontend Entwicklung. Neben Technologien und Frameworks wie HTML5, CSS3, SASS, JavaScript etc., die zum Standardrepertoire jedes Entwicklers gehören sollten, setzen wir zudem auf sich gerade durchsetzende Standards wieAngular JS. Diese ermöglichen es uns, moderne und flexible Anwendungen zu schaffen, die den heutigen Anforderungen an eine Webseite gewachsen sind (responsive Websites, dynamische Inhalte u.ä.)

Schon seit einiger Zeit geht es bei Websites nicht mehr nur um eine einfache Darstellung von Inhalten mit HTML und CSS da. Immer öfter finden deshalb Technologien rund um den klassischen LAMP Stack Verwendung.

SOLR und ElasticSearch: Weil Finden einfach schöner ist als Suchen.

Eine performante Suche ist ein wichtiger Faktor für den Erfolg im Internet, denn sie führt den Besucher zielsicher zu den gewünschten Informationen. Wir setzen hier auf die leistungsstarken Suchtechnologien SOLR und ElasticSearch, die Features wie Volltext-Suche, mehrsprachige Suche, Synonymsuche, Rechtschreibprüfung bei der Sucheingabe und vieles mehr mitbringen.

Auf SOLR setzen wir vor allem dann, wenn in einem TYPO3-Projekt eine reine Volltext-Suche implementiert werden soll, denn TYPO3 bringt bereits eine SOLR-Integration mit. Durch das Einsetzen und Ausarbeiten einer SOLR-Suche kann die Verweildauer von Usern deutlich verlängert werden, weil sie bessere Suchergebnisse erhalten. Sind neben der reinen Textsuche auch analytische Abfragen und komplexe Aggregationen erforderlich, kommt ElasticSearch zum Einsatz.

Varnish: weil Performance nicht nur bei der Suche relevant ist.

Eine gute Performance im Netz ist ein wichtiges Thema - auch im Zeitalter von schnellen Internet Leitungen und vor allem für User mit mobilen Endgeräten und einem verringerten Datenvolumen. Und nicht zuletzt ist es natürlich auch so, dass die Performance einen direkten Einfluss auf das Ranking bei Google hat, weshalb uns die Performance Ihrer Anwendung am Herzen liegt. Dafür gehen wir stets ein Stückchen weiter:

  • Wir setzten Varnish bei nahezu allen unseren Projekten ein. Auch die oft fehlerhafte Annahme, dass Caching von flexiblem Content nicht möglich ist, haben wir mehr als einmal widerlegt. 

  • Durch sogenannte Edgesideincludes und geschicktes Konfigurieren sowohl der Anwendung als auch des Varnish, gelingt es uns, alle unsere Projekte so gut wie möglich performant zu halten. 

  • Auch kreative Performancelösungen wie zum Beispiel einen Varnish Server in China haben wir umgesetzt, um zu gewährleisten, dass die Seite unseres Kunden auch in China zuverlässig und schnell erreichbar ist. 

Mit Logstash und Kibana zum vollständigen ELK Stack

Elastic Search und andere Funktionen erzeugen bei jeder Nutzung sogenannte Logfiles. Diese dienen dazu, einen Überblick zu behalten, was auf der Webseite passiert. So können Fehler besser nachvollzogen und das Verhalten der User analysiert werden. Üblicherweise sammelt jedes System (Betriebssystem, Webserver, CMS) seinen eigenen Logfile. Logstash fasst diese Logs an einer zentralen Stelle zusammen, während Kibana als Framework diese Informationen gut strukturiert. Durch den Einsatz beider Tools können wir unseren Kunden schnellen Support und wertvolle Kennzahlen zu Ihren Projekten liefern.

Eine kontinuierliche Webseitenentwicklung - auch als Continuous Relaunch bekannt - hat in letzter Zeit an Bedeutung gewonnen. So hat sich die Versionierung von Software, in unserem Fall durch Git, sehr flächendeckend durchgesetzt. Bei punkt.de gehen wir in Punkto Qualitätssicherung und Workflows aber noch einen ganzen Schritt weiter. 

Mit Jenkins, Surf und Vagrant zur Continuous Integration

Ein wichtiger Schritt zur Umsetzung von agilen Projekten bei punkt.de war die Einführung von einfachen und schnell durchführbaren Deployment-Prozessen: "Automatisierung" lautete das Zauberwort. Dafür haben wir einen Continuous Integration Workflow aufgesetzt, der es uns ermöglicht, Projekte ohne lange Redaktionsstops und langfristige Featureplanung dauerhaft zu entwickeln.

Diesen Teil unserer Arbeitsweise, die wir mit JenkinsSurf und Vagrant umsetzen, haben wir hiergenauer für Sie beschrieben.

Behat, Selenium und Unit Tests: weil Qualität uns wichtig ist

Ein ungeschriebenes Gesetz der Softwareentwicklung: Je später ein Fehler gefunden wird, desto teurer wird seine Behebung. Darum versuchen wir, an so vielen Stellen wie möglich automatisierte Tests einzusetzen, vor allem dann, wenn die Anwendungen komplexer werden.  

Seit wir nicht nur Unit-Tests zur Überprüfung der grundsätzlichen Funktionalität von einzelnen Features einsetzen, sondern auch Behat und Selenium-Tests durchführen, sind wir in der Lage, das Browser-Verhalten im Frontend zu überprüfen. Dadurch können wir schon beim Deployen auf die Demo-Stage automatisiert überprüfen, ob durch die letzten Änderungen ein Fehler im System entstanden ist oder ob weiterhin alles stabil läuft. Erst durch diese Sicherheit in unserer Entwicklung sind wir in der Lage, die meisten unserer Projekte einmal die Woche auf das entsprechende Live-System zu deployen und damit sehr kleine Feature-Zyklen zu ermöglichen. 

Auch hierzu finden sich weitergehende Informationen auf der Continuous Integration Seite

GTmetrix und Gatling: Seiten auf verschiedenen Ebenen monitoren

Um die Rahmendaten einer Webseite jederzeit im Blick zu behalten und gegebenenfalls nachsteuern zu können, ist es sinnvoll, Dienste einzusetzen, welche die Seite von außen testen. Hierfür setzten wir Gatling und GTmetrix ein. Mit Gatling ist es möglich, die Performance regelmäßig durch Stresstests zu testen, GTmetrix Veränderungen in Größe und Geschwindigkeit der Webseite nach einem Deployment anzeigt. 

Um eine dauerhafte Überwachung der Dienste zu garantieren, haben wir sie mit unserem Jenkins verknüpft und übertragen die Daten auf ein Dashing Dashboard direkt an Monitore in den Teamzimmern. Die Daten aus diesen Dashboards stellen wir selbstverständlich auch unseren Kunden jederzeit zur Verfügung. 


Damit Ihre Software zuverlässig läuft

Vagrant, Chef und FreeBSD: ein solides Fundament

Bei punkt.de entwickeln wir nicht nur Qualitätssoftware, sondern betreiben diese auch. Für unser Hosting setzen wir deshalb das Open Source Betriebssystem FreeBSD ein, das ein sicheres und langjähriges Hosting garantiert. Durch die modulare Provisionierung der Server durch Chef undVagrant gewährleisten wir außerdem, dass Ihre Projektumgebung im Hosting sowie im Gesamtprojekt immer optimal getestet und reproduziert werden kann.