Universal Publishing Platform (UPP)

Agile Softwareentwicklung als eigenständiges Feature Team, Schwerpunkte: Backend, Frontend, Architektur und Infrastruktur (Devops). Übernahme von Product Owner und Team Lead Rollen
  • Kunde: Lulu Press, Inc.
  • Start: 05/2016
  • Angular 2+
  • Beratung
  • Cloud-Infrastruktur
  • DevOps
  • Django
  • Elasticsearch
  • JWT
  • KeyCloak
  • Kubernetes
  • Microservices
  • Python
  • RabbitMQ
  • Restful API

Über Lulu Press

Lulu.com wurde im Jahr 2002 in Raleigh NC, USA von Bob Young ins Leben gerufen, der sich zuvor schon mit der Gründung von Red Hat einen weltweiten Ruf gemacht hat. Bob Young gelang es mit der entwickelten Self-Publishing-Plattform und dem Erstellen von Printprodukten im Print-on-Demand Verfahren, die bis dahin vorhandene Abhängigkeit der Autoren von den Verlegern zu durchbrechen.

Die Möglichkeit, ein Buch selber zu erstellen, zu publizieren und weltweit zu vertreiben, wurde in die Hand der User gelegt.

Stand November 2018 wurden, nach unternehmenseigenen Angaben, rund 1,8 Millionen Bücher veröffentlicht. Die Anzahl der Autoren liegt bei über 1,1 Millionen und die Summe der Autorenhonorare bei fast 75 Millionen Euro.

Inhalte der Zusammenarbeit

Der gemeinsame Weg mit Lulu startete im Mai 2016 mit der Entwicklung eines einzelnen Microservice zur Verwaltung von Dateien mit dem Python Framework Django. Hohe Verfügbarkeit sollte durch die Kompatibilität zu AWS S3 und kostengünstige Archivierung durch AWS Glacier ermöglicht werden. Innerhalb von wenigen Wochen wurde erkennbar, dass wir uns mit unserer Kompetenz in den Bereichen Entwicklung und DevOps bestens in die Umsetzung einer neuen Microservice Platform einbringen können. Shinefour wurde zu einem festen Entwicklungspartner für Lulu. 

Neben der Entwicklungsarbeit mit den Technologien Python, Django, Django-Rest-Framework und AngularJS, begleiteten wir Lulu mit der Einführung von Docker, automatisierten Prozessen, KeyCloak als zentraler Plattform-Authentifizierung und dem späteren Umzug der Systeme in die Cloud, in einem firmenweiten, kulturellen Wandel.

Glasstree

Als erstes Produkt auf Basis der neuen Lulu Microservice-Plattform entstand ein System zur Veröffentlichung und Verkauf von akademischen Publikationen. Glasstree hat sich auf die Fahnen geschrieben, den kostspieligen Global Playern im akademischen Sektor eine professionelle Alternative mit besonders attraktiven Kostenstrukturen für die Autoren in Forschungs- und Bildungseinrichtungen entgegen zu stellen. Den Bedürfnissen der Akademiker wurde durch die folgenden Features Rechnung getragen:

  • Self-Publishing im akademischen Bereich
  • Radikal günstiges Preismodell
  • Hohe Provisionen für Autoren (70%)
  • günstige Open Access Publikationen
  • DOI Integration

https://glasstree.com

Print-API

Die Lulu Print-API öffnet externen Unternehmen die Möglichkeit, die weltweit verfügbare “On-Demand” Druck- und Auftrags-Abwicklung der neuen Lulu Plattform über eine REST-Schnittstelle zu nutzen. Mit 2 passenden PDF-Dateien für Cover und Inhalt und dem gewählten Druck-Produkt erfolgt nach vollautomatischer Validierung und Druck-Aufbereitung der eigentliche Druckvorgang und die Auslieferung beim nächstgelegenen Drucker. Die Aufträge können einzeln, gesammelt oder auch per “Recurring-Payment” bezahlt werden. Über die Schnittstelle lassen sich Status und Detail des Druckauftrags abfragen. So lässt sich eine nahtlose Anbindung und somit eine starke Automatisierung von Print basierten Geschäftsprozessen spielend leicht ermöglichen.

https://api.lulu.com

Developer-Portal

Mit dem Developer-Portal haben wir eine zusätzliche Oberfläche für Entwickler zur Verwaltung und übersichtlichen Ansicht der Daten aus den Print-API Vorgängen geschaffen. Neben einer ReDoc Dokumentation auf Basis der OpenAPI Spec 3.0 und Informationen zu Preisen und möglichen Druckerzeugnissen kann der User manuelle Bezahlungen per Kreditkarte vornehmen, Recurring-Payment-Daten verwalten und den eigenen User-Account anpassen. Einzelne Druckaufträge, bereits durchgeführte Zahlungen und generierte Dokumente, wie Rechnungen und Quittungen, stehen in gut filter- und durchsuchbaren Listenansichten zur Verfügung. 

https://developers.lulu.com

lulu xPress

„The Fastest Way to Print High Quality Books“ – dieser Slogan beschreibt die Richtung von Lulu, dem User auf Basis der neuen Microservice-Plattform einen Prozess optimierten Wizard an die Hand zu geben, um auf schnellstem Weg an eigene Druckerzeugnisse zu gelangen. Dabei wurde das Userinterface mit Hilfe der langjährigen “lulu.com”-Erfahrung optimiert und in iterativen Schritten verfeinert. Diverse lulu Produkte vom Hard-Cover Buch bis hin zum Kalender stehen in mehr als 3000 möglichen Konfigurationen zur Verfügung. 

https://xpress.lulu.com

Shopify xPress App 

Nach dem Erfolg von xPress wurden immer mehr Stimmen von Nutzern laut, die über das E-Commerce System “shopify” bereits einen eigenen Store betreiben und sich eine direkte Integration wünschten. Mit einer passenden shopify App unter dem Slogan: “Print-on-Demand Books for Your Ecommerce Store” wurde diese Verbindung zwischen shopify und der Lulu Universal-Publishing-Plattform (UPP) geschaffen. Dabei können shopify-Artikel mit UPP-Publikationen verknüpft und nach einer Bestellung im shopify store durch die Lulu UPP abgewickelt werden. Durch diese Automatisierung kann dem Shop-Betreiber deutlich manuelle Arbeit und Zeit erspart werden.

https://xpress.lulu.com/integrations

Mit Kubernetes vom Self-Hosted-OpenShift 
in die Google-Cloud-Infrastruktur 

In der Anfangsphase der Lulu Microservice-Plattform wurden die Services auf einer selbst gehosteten OpenShift Infrastruktur ausgerollt. Dieses Enterprise System zum Betrieb eines Kubernetes Clusters wurde verwendet, um kontinuierlich Artefakte (Docker-Images) aus dem Entwicklungsprozess in mehrere parallel laufende Umgebungen auszurollen : 
Integration → Testing → Sandbox → Production 

Dieser Continious-Integration Prozess soll dafür sorgen, dass neue Features und Bugfixes schnell getestet und im Produktiv-System verfügbar gemacht werden können.

Im weiteren Verlauf der Entwicklung der Lulu Microservice-Plattform wurde diese OpenShift Umgebung durch ein natives Kubernetes Cluster ersetzt, welches in der Google Cloud Infrastruktur gehostet wird (Google Kubernetes Engine).
Stand April 2019 laufen in den vier Kubernetes Namespaces jeweils mehr als 60 Services die insgesamt mit mehr als 430 Kubernetes PODs das Herzstück der Lulu Microservice-Plattform bilden.