Borja Burgos im Gespräch über die Containerisierung in Zeiten von Docker

the next big thing  –  0 Kommentare
Borja Burgos, Gründer von Tutum

Borja Burgos ist CEO und einer der Gründer von Tutum, einem Cloud-basierten Hostingservice für Docker-Container in New York. Mit Golo Roden spricht er über seinen Service, seine Erfahrungen mit Docker und das Potenzial der Containerisierung.

Golo Roden: Borja, du bist CEO und einer der Gründer von Tutum, einem Cloud-basierten Hostingservice für Docker-Container. Was ist die Idee hinter Tutum, und wie hat alles begonnen?

Borja Burgos: Tutum in seiner heutigen Form ist gegen Ende Oktober 2013 entstanden, aber eigentlich begann alles schon viel früher. Im Rahmen meines Doppelabschlusses – MSc Information Technology and Information Security an der Carnegie Mellon University (CMU) in Pittsburgh und MSc Applied Informatics an der Universität von Hyogo in Japan – habe ich mich ausführlich mit dem Thema der Cloud-Sicherheit beschäftigt. Als Teil meiner Forschung habe ich ein System entworfen, das Unternehmen bei der Auswahl eines Cloud-Anbieters auf Basis gegebener Anforderungen hilft. Dieses System habe ich TutumCloud genannt, wobei das Wort Tutum aus dem Lateinischen stammt und sicher und geschützt bedeutet.

Bereits damals hegte ich große Bewunderung für die Technologie-Unternehmer der vergangenen Jahrzehnte, aber ich hätte mir nie träumen lassen, selbst ein Unternehmen zu gründen. Jedenfalls nicht, bis ich eine Vorlesung über Unternehmertum an der CMU belegt habe. Kurz vor meinem Abschluss habe ich TutumCloud dann bei Startup Chile vorgestellt, einem Startup-Beschleuniger aus Santiago de Chile. Da deren Aufnahmequote sehr gering ist, war ich erfreut und sehr überrascht, dass meine Bewerbung von Erfolg gekrönt war. Nachdem ich mein Studium in Japan abgeschlossen hatte, bin ich im Februar 2013 dann nach Chile gezogen.

Ursprünglich war ich nach Chile gegangen, um das System zu implementieren, das ich während meines Studiums entworfen hatte, doch beschäftigte ich mich bereits nach kurzer Zeit mit einer ganzen Reihe weiterer Geschäftsideen, die alle einen Bezug zur Cloud hatten. In diesem Zusammenhang bin ich dann, im April oder Mai 2013, auch das erste Mal auf Docker gestoßen, habe der Technik aber bis zum Sommer kaum Beachtung geschenkt.

Golo Roden: Was hat dich dazu bewogen, dir Docker im Sommer 2013 nochmals genauer anzusehen?

Borja Burgos: Kurz bevor das Programm von Startup Chile endete, hat Tutum eine Seed-Finanzierung von NXTP in Argentinien erhalten. Ich habe daraufhin Fernando Mayo, einen alten Freund von mir, der damals bei HP arbeitete, gefragt, ob er als CTO und Mitgründer Vollzeit für Tutum arbeiten wolle. Daraufhin sind wir zwischen September und Dezember gemeinsam nach Buenos Aires umgezogen.

Im September sind außerdem noch zwei weitere Entwickler zu uns gestoßen. Den ersten Monat haben wir dann primär zur Marktanalyse genutzt: Wir hatten das Gefühl, dass es eine große Lücke zwischen Infrastruktur- (IaaS) und Plattformdiensten (PaaS) gaibt, außerdem hat uns keine der damals verfügbaren PaaS beeindruckt. Wir fühlten uns generell eher eingeschränkt als beflügelt. Also haben wir beschlossen, den Dienst zu entwickeln, den wir als Entwickler selbst haben wollten: Einen Cloud-Service, der sich wie eine PaaS verhalten würde, einschließlich Funktionen wie Hochverfügbarkeit, Skalierbarkeit und Zero-Downtime-Deployment, der den Anwendern zugleich aber keinerlei Einschränkungen auferlegen würde.

In der ersten Iteration haben wir die Tatsache, dass wir auf Container aufgebaut haben, vor dem Anwender versteckt, aber wir haben schnell erkannt, dass wir damit die gleichen Einschränkungen einführen wie alle anderen PaaS auch. Also haben wir ein paar Dinge geändert und aufgehört, den Code unserer Anwender in Container zu verpacken: Stattdessen haben wir entschieden, ihnen die Flexibilität zu geben, beliebige Container in Tutum auszuführen, und so war die Idee zu "Container as a Service" geboren.

Golo Roden: Also könnte man sagen, dass Tutum ein neuartiger Cloud-Hoster ist?

Borja Burgos: Ja, Tutum ist ein neuer Typ von Cloud-Dienst, der Container als Fundament nutzt. Wir führen Container aus. Mit Tutum sind Themen wie Hochverfügbarkeit, Skalierbarkeit, Zero-Downtime-Deployments und ähnliche Dinge ein Kinderspiel, und da wir nicht kontrollieren, was innerhalb eines Containers geschieht, ist unser Service fast so flexibel wie eine virtuelle Maschine, die man von einem IaaS-Anbieter erhält.

Herantasten an Docker

Golo Roden: Wie war dein erster Eindruck von Docker?

Borja Burgos: Das erste Mal habe ich von Docker in einem Video auf Youtube von der PyCon 2013 gehört. In diesem Video hat Solomon Hykes, der Entwickler hinter Docker, die Technik kurz vorgestellt. Da ich mit LXC und anderen Containertechnologien nicht sonderlich vertraut war, fand ich die Demonstration äußerst beeindruckend. Also habe ich mir vorgenommen, Docker näher anzusehen.

Zunächst habe ich jedoch erst mehr über Docker gelesen: Quasi jeder lobte die neue und aufstrebende Technik, und irgendwann fand ich Zeit, tatsächlich mit Docker zu experimentieren.

Ich muss sicherlich nicht erwähnen, dass ich beeindruckt war. Allerdings konnte ich anfangs nicht einschätzen, wie sich Docker in meinen Technologie-Stack einfügen würde. Als uns dann schließlich die Idee für einen neuartigen Cloud-Dienst kam, wusste ich sofort, dass ich mir Docker nochmals ausführlicher ansehen müsste.

Golo Roden: Derzeit hört man sehr häufig, dass Containerisierung die neue Virtualisierung sei. Was hältst du von dieser Aussage im Allgemeinen und in Bezug auf Docker im Speziellen?

Borja Burgos: Ich stimme der Aussage, dass Containerisierung die neue Virtualisierung ist, zu. Im Grunde ist die Aussage eher eine Tatsache. Die derzeitigen Virtualisierungstechniken haben sich seit über einem Jahrzehnt kaum mehr geändert, eventuell sogar länger. Containerisierung ist eine andere Art von Virtualisierung, und sie ist neuer. LXC hat gerade erst die Versionsnummer 1.0 erreicht, und Docker hat diesen Meilenstein noch vor sich. Andere Containertechniken existieren zwar schon länger, wie OpenVZ und Jails, aber keine davon hat sich etabliert. Docker hat Containerisierung in den Blick von Entwicklern gerückt, denn dadurch wurde alles sehr vereinfacht.

Um auf die ursprüngliche Frage zurückzukommen: Ich habe schon die Aussage gehört, dass Container virtuelle Maschinen vollständig ersetzen werden und dass VMware, Hypervisoren und alles dazwischen dem Untergang geweiht seien; dem stimme ich allerdings nicht zu.

Vor kurzem gab es eine Präsentation von Ben Golub, dem CEO von Docker, auf der Interop in Las Vegas, in der es um dieses Thema ging. Ich glaube, er hat die Unterschiede zwischen Containern und virtuellen Maschinen verdeutlicht und gezeigt, dass es für beide geeignete Anwendungsszenarien gibt.

So gesehen ist Containerisierung die neue Virtualisierung, aber virtuelle Maschinen sind nicht tot. Ich sehe die Zukunft von Containern sehr zuversichtlich. Was Docker angeht, war sie die erste Open-Source-"Container-Engine", aber ich bin gespannt, welche ähnlichen Projekte demnächst entstehen werden.

Ein Start-up-Leben

Golo Roden: Wie arbeitet ihr bei Tutum? Wie sieht euer Alltag aus?

Borja Burgos: Derzeit hat Tutum vier Vollzeit- und drei Teilzeitmitarbeiter, von denen aber wahrscheinlich zwei im nächsten Monat auf Vollzeit wechseln werden. Außerdem suchen wir nach weiteren Mitarbeitern, die uns in der Entwicklung, im Marketing und im Design unterstützen. Bei Interesse genügt eine E-Mail.

Die Arbeit an sich ist derzeit ziemlich hektisch. Wir beginnen jeden Tag mit einem kurzen Standup-Meeting um 8.30 Uhr, in dem jeder berichtet, was er am vergangenen Tag erledigt hat, woran er als Nächstes arbeiten wird und welche Probleme es derzeit gibt. Jeder hat außerdem ein persönliches Wochenziel, zudem arbeitet das Team aufgrund seiner kleinen Größe selbstorganisiert, und es gibt kein Mikro-Management.

Unser derzeitiges Ziel besteht darin, die erste Iteration unseres Produkts abzuschließen. Obwohl es bereits möglich ist, sich anzumelden, fehlte bis zur vergangenen Woche beispielsweise jegliche Dokumentation. Außerdem arbeiten wir an Werkzeugen für die API und die Kommandozeile, die es Entwicklern ermöglichen, unseren Dienst besser zu nutzen. Von unseren Anwendern haben wir dazu großartiges Feedback erhalten und arbeiten hart daran, das Verwalten und Deployen von Containern bestmöglich umzusetzen.

Unter der Woche arbeiten wir von 8.30 Uhr bis ungefähr Mitternacht, unser Mittag- und Abendessen lassen wir uns ins Unternehmen liefern. Außerdem versuchen wir, im Fitnessstudio zu trainieren, um den Kopf frei zu bekommen und abzuschalten. An den Wochenenden arbeiten wir größtenteils auch, allerdings sind die Uhrzeiten dann entspannter.

Golo Roden: Das klingt einerseits wie das typische Start-up, andererseits aber auch sehr anstrengend. Werdet ihr euer Tempo zukünftig reduzieren?

Borja Burgos: (lacht) Ja, das stimmt, es ist tatsächlich sehr fordernd. Aber wir begreifen unsere Arbeit als Herausforderung und als Chance. Und obwohl wir viele, viele Stunden in Tutum investieren, stört uns das nicht, denn wir lieben unsere Arbeit.

Ich weiß nicht, wie lange wir unser derzeitiges Arbeitstempo beibehalten und dabei gesund bleiben können, aber wir denken darüber zur Zeit nicht viel nach. Ja, wir arbeiten hart, aber wir achten auch auf den gesunden Ausgleich. Ich denke, dass es sehr wichtig ist, dass man seinen Job gerne macht, und das gilt für mich auf jeden Fall! Außerdem stimmt die Chemie im Team, und wir pflegen eine offene und hilfsbereite Atmosphäre. Außerdem sind wir hier in New York von zahlreichen anderen bemerkenswerten Start-ups umgeben, die genauso viel arbeiten wie wir. Das spornt uns an und treibt uns, noch härter zu arbeiten.

Die Techniken dahinter

Golo Roden: Auf welchen Plattformen und Programmiersprachen baut ihr bei Tutum auf und warum?

Borja Burgos: Wir nehmen unseren Technologie-Stack sehr ernst. Hinter jedem Framework, jeder Bibliothek, jeder Programmiersprache und auch allem anderen, was wir bei Tutum verwenden, steckt eine bewusste Entscheidung. Die meiste Programmierung findet in Python statt. Wir haben uns zwar auch Go angesehen, uns dann aber aufgrund der fehlenden Erfahrung mit Go doch für Python entschieden.

Wenn wir eine neue Technologie auswählen, achten wir primär auf deren Fähigkeiten, die Unterstützung und die Vertrautheit. Wir haben festgestellt, dass selten etwas genau zu unseren spezifischen Anforderungen passt. Viele jüngere Projekte locken zunächst mit einer atemberaubenden Vision, aber wenn man dann anfängt, mit ihnen zu arbeiten, sind die Erfahrungen oft ernüchternd. Daher bevorzugen wir Technologien, die schon einige Monate am Markt sind.

Im Hinblick auf unsere Vertrautheit und unseren Bezug zu Python ist es naheliegend, dass wir uns für Django als Web-Framework entschieden haben. Darauf aufbauend ist alles weitere für das Frontend dann wenig überraschend, im Wesentlichen handelt es sich um das gute alte HTML und CSS, außerdem JavaScript, jQuery und Twitter Bootstrap.

Für die Kernanwendung, die sich um das Orchestrieren der von unseren Kunden veröffentlichten Anwendungen und Container kümmert, nutzen wir Celery und RabbitMQ. Celery ist eine verteilte Queue, die ihrerseits auf dem Messaging-System RabbitMQ als Queue-Broker basiert.

Die Knoten, die die Anwendungen und Container schließlich ausführen, laufen unter Ubuntu, wobei wir in Kürze auf Version 14.04 wechseln werden, und einer angepassten Version des Docker-Dienstes, den wir als Open-Source-Software auf GitHub zur Verfügung stellen.

Übrigens, was vielleicht interessant ist: Wir benutzen Tutum intern für einige unserer eigenen Webseiten. Beispielsweise ist das neue Learning-Center ein Docker-Image mit Django, das wir auf Tutum in Verbindung mit unserem eigenen, öffentlich verfügbaren Load-Balancer – einem HAProxy-Docker-Image – hosten.

Umzug nach New York

Golo Roden: Vor ein paar Wochen wurdet ihr von einem Start-up-Beschleuniger aufgenommen und seid nach New York gezogen. Wie hat das eure Arbeit verändert?

Borja Burgos: Ja, wir wurden von Techstars NYC aufgenommen. Wir sind zwar erst seit einem Monat dabei, aber ich darf jetzt schon behaupten, dass es unser Leben verändert hat. In diesem einen Monat haben wir bereits Feedback von erfahrenen Gründern und Risikokapitalgebern aus ziemlich jedem Industriezweig erhalten. Dank Techstars durften wir auch schon einige "Stars" kennen lernen, beispielsweise Bob Pasker, den Entwickler hinter WebLogic, oder Ben Uretsky und Mitch Wainer, die beiden Gründer von Digital Ocean.

Das Feedback, die Unterstützung und die Hilfe, die wir erhalten haben und immer noch erhalten, verbunden mit den Beziehungen und Kontakten, die wir knüpfen konnten, sind auf jeden Fall eine wertvolle Erfahrung. Ich kann anderen Gründern nur raten, sich ebenfalls zu bewerben!

Alles in allem hat es die Art, wie wir arbeiten, zum Besseren verändert. Wir sind jetzt viel fokussierter und können unsere Arbeit besser priorisieren. Außerdem stehen wir in viel engerem Kontakt zur Community und unseren frühzeitigen Anwendern.

Golo Roden: Docker wird von einem Unternehmen namens dotCloud entwickelt, einem ehemaligen PaaS-Anbieter. Spielt diese Vergangenheit eine Rolle, wenn wir uns über die Zukunft von Docker unterhalten? Was, wenn sie einen ähnlichen Dienst wie Tutum entwickeln würden? Betrachtet ihr das als Risiko?

Borja Burgos: Wir können die Tatsache, dass die Entwickler hinter Docker die gleichen wie die hinter dotCloud sind, nicht ignorieren. Obwohl es unwahrscheinlich ist, dass sie sich um Container as a Service kümmern werden, ist es dennoch denkbar. In der Vergangenheit hat Docker angekündigt, dass sie sich auf "professional services" konzentrieren wollen. Vor kurzem haben sie auf dem Red Hat Summit ihre Absichten zudem mit einem neuen Unterstützungsprogramm für Unternehmen konkretisiert.

Schließlich geht es darum, dass wir darauf setzen, dass Container zukünftig allgegenwärtig sein werden. Wir glauben, dass dieser Markt ausreichend Raum für Wettbewerber bietet. And Tutum wird ein Schlüsselpartner für Entwickler, DevOps-Leute und Unternehmen sein, die nach einer Plattform suchen, um Container auszuführen.

What's next?

Golo Roden: Was können wir als Nächstes von Tutum erwarten?

Borja Burgos: Wir haben einige großartige Funktionen in Vorbereitung, aber wir legen den Fokus zukünftig wieder stärker auf Konsolen- und Entwicklerwerkzeuge. Beispielsweise haben wir ein neues Kommandozeilenwerkzeug:

$ pip install tutum

Außerdem versuchen wir die Einstiegshürden für jene Entwickler zu senken, die erst beginnen, sich mit Docker zu beschäftigen. So haben wir beispielsweise, aufbauend auf der Arbeit von @progrium, ein Docker-Image erstellt, das es sehr leicht macht, Quellcode in einen Container zu verpacken. Eine genaue Beschreibung hierzu findet sich in unserem Blog. Wir haben dieses Image außerdem auch mit unserem Kommandozeilenwerkzeug integriert, sodass man nun

$ tutum build app-name

aufrufen kann, und Tutum wird automatisch einen Container erzeugen. Dabei sucht es zunächst nach einem Dockerfile, und wenn es keines findet, nach einem Procfile. Falls auch das nicht vorhanden ist, greift es direkt auf den Quellcode zu.

Darüber hinaus haben wir noch viele weitere spannende Funktionen in Vorbereitung, wie die Unterstützung für SSL beziehungsweise TLS, persistente Datenspeicher, Zero-Downtime-Updates für Container, den Tutum-Builder, Unterstützung für ganze Anwendungsstacks, IPv4 und vieles andere mehr. Lass dich überraschen!

Abschließend möchte ich diese Gelegenheit gerne nutzen, jeden einzuladen, mich direkt anzusprechen und uns mitzuteilen, welche Wünsche für Tutum bestehen. Meine E-Mail-Adresse lautet borja@tutum.co. Falls sich jemand nach diesem Interview bei Tutum anmeldet, sollte er mir außerdem kurz eine E-Mail schicken, dann habe ich noch eine kleine Überraschung parat. Wir lieben es, unseren Anwendern etwas zurückzugeben!

Golo Roden: Borja, vielen Dank, dass du dir die Zeit für dieses Interview genommen hast.

Borja Burgos: Gern geschehen, es war mir ein Vergnügen!