Dr. Sebastian Selka
Skalierbar, Stabil, Zukunftssicher

Tech Talk

Zurück zur Übersicht
2017-10-23

Wir sind disruptiv und setzen daher konsequent auf reaktive, moderne und etablierte Technologien, Konzepte und Sprachen. Die gesamte Software fußt auf State-of-the-Art-Technologien, die Prozesse sind radikal agil und technologische Entscheidungen treffen unsere selbstorganisierten Teams autark, um sichere, verlässliche und skalierbare Software zu bauen. Konkret heißt das: Stabilität und Unabhängigkeit durch Microservices, Widerstandsfähigkeit und Verlässlichkeit durch lose Kopplung, Skalierbarkeit und Vollverfügbarkeit durch Docker-Orchestrierung sowie Sicherheit durch einen entsprechenden Fokus.

STABILITÄT UND UNABHÄNGIGKEIT

Die 21st Plattform ist eine in Deutschland entwickelte Software auf Basis sog. Microservices. Diese gewährleisten durch ihre grundsätzliche Unabhängigkeit Vorteile für die Stabiltiät der Plattform. Jeder Teil der Softwareplattform kann unabhängig von jedem anderen gewartet und weiterentwickelt werden. Somit erlauben wir eine klare Trennung von Verantwortlichkeiten und gewährleisten somit die Fokussierung auf spezifische Problemstellungen (sog. „Bounding Boxes“).

Gleichzeitig bieten wir durch diese technologische Grundlage eine hohe Attraktivität für Technologen und zukünftige Mitarbeiter. Updates an der Plattform können ohne Verzögerungen und ohne Downtime („Zero Downtime Deployments“) eingespielt werden, sodass unsere Kunden jederzeit auf der Plattform aktiv sein und Immobilien finden, shapen und handeln können.

WIDERSTANDSFÄHIGKEIT UND VERLÄSSLICHKEIT

Wir stellen sicher, dass jede Nutzeraktionen genau zu dem erwartete Ergebnis führt. Informationen gehen nicht verloren, da diese Aktionen als Events hinterlegt und asynchron verarbeitet werden. Implementierte Retrymechanismen stellen dabei sicher, dass Informationen zwischen den verschiedenen Services auch tatsächlich ausgetauscht, Emails tatsächlich versendet und rechtlich verbindliche Logs definitiv rechtssicher übertragen werden. Technologisch haben wir uns an dieser Stelle für Apache Kafka entschieden.

Weiterhin haben wir uns bei den technologischen Entscheidungen vermehrt auf statisch kompilierte und hart typisierte Programmiersprachen fokussiert, sodass die Menge potentieller Fehlerquellen drastisch reduziert und die Widerstandsfähigkeit der Software erheblich gesteigert wird. Konkret setzen wir serverseitig auf Scala/Play und somit technologisch nachhaltig. Im Sinne der Nachhaltigkeit und Widerstandsfähigkeit setzen wir somit frontendseitig vermehrt auf Typescript.

UNABHÄNGIGKEIT

Jeder Service der 21st Plattform wird mittels Docker verwaltet und somit als Gesamtsystem orchestriert. Dies erlaubt uns eine maximale Abhängigkeitsreduktion gegenüber Dritten und gewährleistet zugleich Skalierbarkeit über verschiedene Server-Instanzen und -standorte hinweg.

SICHERHEITSFOKUS

Die gesamte Software ist konsequent in alle Richtungen abgesichert. Die komplette Kommunikation erfolgt über sichere Kanäle und in abgesicherter Form. Konkret werden alle Nutzeraktionen mit einem verschlüsselten Token (HMAC, AES) versehen und auf der Serverseite durch einen Türsteher („Gatekeeper”) authorisiert. Somit ist grundsätzlich kein Zugriff für unregistrierte und nicht eingeloggte Nutzer auf der 21st Plattform möglich. Alle Zugangsdaten werden über verschiedene Services verteilt und in verschlüsselter, nicht auslesbarer Form abgelegt. Sämtliche Server agieren in einem eigenen, sicheren VPN und jede Nutzereingabe wird (automatisch) geprüft, sodass Flüchtigkeitsfehler direkt vermieden werden.

Weiterhin sind alle Freigaben, Veröffentlichungen und Nutzereinstellungen spezifisch für den jeweiligen Nutzer oder seine Firma durch eine Vielzahl von Testszenarien, Qualitätssicherungsmaßnahmen sowie Reviews sichergestellt. Maßnahmen gegen Fraud, Phishing und Spam sind Teil unserer Philosophie und werden aktiv von unseren Software-Ingenieuren in einem iterativen Verfahren kontinuierlich weiterentwickelt.