Selbstgebastelte Gegenstände liegen im Trend. Etsy, ein New Yorker Unternehmen für Handgemachtes, organisiert seine IT auch in Eigenregie – ein Porträt.
Über das Portal Etsy.com können Benutzer handgemachte Produkte kaufen und verkaufen. Zur Auswahl stehen derzeit etwa Schmuck, Kunst, Dekorationsartikel und Haushaltsgegenstände – darunter bemalte Gläser und Tassen. Betreiber Etsy Inc. mit Sitz in Brooklyn eröffnete seinen Onlinemarktplatz bereits 2005, das Angebot zielte zunächst auf den amerikanischen Markt. Seit 2010 gibt es auch eine Niederlassung in Berlin, die für die deutschsprachige Variante der Onlineplattform (Abbildung 1) verantwortlich zeichnet.
Die Organisation der IT hat sich bei Etsy in den letzten zwei Jahren nicht groß verändert: Die IT gehört zum Technical Operations Team und besteht derzeit aus fünf Ingenieuren. Die Internetfirma unterscheidet dabei zwischen IT und Web Operations, letztgenannte Abteilung kümmert sich um den Betrieb der Plattform Etsy.com. Diese wird im Zuge eines speziell angepassten Continuous-Delivery-Verfahrens pro Tag zwischen 20 und 40 Mal aktualisiert [1].
Tagesgeschäft
“Der typische Alltag eines Admins sowohl in der IT als auch in den Web Operations besteht zum größten Teil aus Projektarbeit”, erläutert Daniel Schauenberg, Software Engineer bei Etsy. Die Admins im Operations-Bereich treiben derzeit vor allem den Ausbau der Infrastruktur voran und planen die Kapazitäten. Darüber hinaus sorgen sie für einen reibungslosen Betrieb der Plattform. Der Bereich IT verbessert die Office-Infrastruktur und übernimmt das Laptop-Management für die Mitarbeiter. Zudem kümmert er sich um den Helpdesk für die Mitarbeiter.
Neben ihrer Arbeit an den Projekten müssen Admins auf Monitor-Alerts, Fragen von Entwicklern und ähnliche Unterbrechungen reagieren. Um sich mit anderen Etsy-Mitarbeitern abzustimmen, nehmen die Admins zudem im Schnitt an drei bis fünf Meetings pro Woche teil. Die genaue Anzahl schwankt abhängig von den Personen und dem Bedarf. Schichtdienste gibt es zwar nicht, ein Mitarbeiter aus dem Operations-Bereich muss jedoch immer in Rufbereitschaft sein.
Operationsmodus
Die anfallende Arbeit teilen sich die Admins brüderlich auf, wie es Daniel Schauenberg beschreibt: “Jeder arbeitet an allem.” Zwar gebe es einzelne Personen, die sich etwas besser mit bestimmten Bereichen auskennen, aber lediglich um die MySQL-Server, die in Master-Master-Paaren operieren, kümmert sich exklusiv ein Datenbankadministrator.
In einer interessanten Fragestunde auf Reddit [2] verwendeten Mitarbeiter von Etsy daher auch den Begriff Devops. Wer sich um eine Komponente kümmert, ist auch verantwortlich für deren Erreichbarkeit. Sie halten die mit dem Begriff verbundene Firmenkultur jedoch fast für wichtiger, als die Art der Arbeitsteilung selbst. Menschliche Fehler müsse man zum Beispiel nicht als unvermeidbar betrachten, sondern man wolle eine Umgebung schaffen, die es im Idealfall unmöglich macht, eine Software fehlerhaft zu bedienen.
Harte Ware
Die Angestellten dürfen als Arbeitsstation entweder ein Macbook oder ein Lenovo-Laptop verwenden, letzteres läuft wahlweise unter Windows oder Ubuntu Linux. Wer mag, darf aber auch eine andere Distribution einsetzen. Jeder Mitarbeiter erhält auf einem Rechner Adminrechte und kann somit die Werkzeuge und Programme nachinstallieren, die er braucht. Größere Betriebssystemupdates testet vor der Installation das IT-Team, über das Einspielen kleinerer Patches entscheiden die Mitarbeiter selbst. Eine BYOD-Policy gibt es bei Etsy nicht, das Unternehmen bietet aber ein VPN für I-OS und Android an sowie eine Unterstützung für die Mail- und Kalender-Apps.
Die Eigenverantwortung der Mitarbeiter macht auch vor Backups nicht halt: Bei Etsy gibt es kein zentral laufendes Backup. “Jeder ist dafür selbst verantwortlich, da generell keine wichtigen Daten außerhalb von Gits und Wikis existieren sollten”, erklärt Schauenberg.
Was passiert, wenn ein neuer Mitarbeiter hinzukommt? “Es gibt eine Checkliste, um den Laptop aufzusetzen und den Schreibtisch mit einem Display auszustatten.” Handelt es sich um einen Techniker, richtet die IT zudem eine virtuelle Maschine mit der Entwicklerversion von Etsy ein. Das Neuaufsetzen von Laptops und LDAP-Accounts hält Schauenberg für den einzigen Bereich, der sich nur schlecht automatisieren lasse. Falle ein Rechner aus, benachrichtige der Angestellte die Corporate IT. Für Macbooks gibt es einen Lagerbestand, Lenovo-Laptops werden nachbestellt.
Toolchain
Unter den Tools, die bei Etsy zum Einsatz kommen, sind viele alte Bekannte. Die Admins nutzen laut Schauenberg vor allem Open-Source-Werkzeuge: Neben SSH, Bash und Co. verwendet der Operations-Bereich vornehmlich Chef [3] und Git, in Form einer Enterprise-Variante von Github [4]. Etsy entwickelt auch eigene Open-Source-Tools und veröffentlicht diese auf Github [5].
Die Webseite selbst läuft auf einem LAMMP-Stack, der aus Linux (Cent OS), Apache, Memcached, MySQL und PHP besteht. Sie wird in Git verwaltet, aber ohne Branches, ausgeliefert wird Trunk. Die Hauptseite besteht fast ausschließlich aus einer monolithischen PHP-Applikation, die Konfiguration aus einer PHP-Datei, die ein riesiges Array enthält. Features werden im Code geflaggt und lassen sich, wenn sie einsatzbereit sein, aktivieren.
Die IT-Seite setzt mit Vorliebe die Casper OSX Management Suite [6] und den Google Account Manager [7] ein. Eine besondere Rolle kommt IRC zu: Sämtliche Abteilungen der Firma sind über Chaträume erreichbar. Aber nicht nur das: Der Push Train, der alle Codeänderungen an die Staging-Version der Plattform ausliefert, ist ein Bot, Pushbot genannt, der in einem IRC-Channel operiert.
Die Arbeitseffizienz misst das Projektverfolgungstool Jira [8], über das auch die von Mitarbeitern gemeldeten Bugs eingehen. Die Admins beobachten die entsprechenden Tickets genau und versuchen, die Prozesse weiter zu verbessern und zu optimieren. Für das Monitoring kommt Nagios zum Einsatz, die Server werden dafür und zur Verwaltung mit Chef in funktionale Gruppen unterteilt. Lernt Chef einen neuen Rechner kennen, landet dieser über die Chef-Metadaten automatisch in der Überwachungsliste der Monitoringsoftware Nagios.
Um Software für die Plattform vor dem Einsatz zu testen, laufen automatisierte Tests in LXC-Containern ab, wobei die Operations-Teams zwischen schwergewichtigen (heavy) und anderen (any) Tests unterscheiden. Etsy betreibt derzeit zwei voneinander unabhängige Netzwerke: Neben dem Büro-, Entwicklungs- und Produktions-Netzwerk existiert noch ein abgetrenntes Corporate Network über das die Mitarbeiter Jira, IRC und die Wikis erreichen.
Handwerkszeug
Wer bei Etsy als Admin anfangen möchte, muss laut Daniel Schauenberg keinen bestimmten Ausbildungshintergrund mitbringen. Notwendig seien lediglich das Interesse am Fachgebiet und verschiedene Level an Erfahrung, je nachdem ob man sich für eine Junior- oder Senior-Position bewirbt. Bei Etsy angestellte Admins bilden sich vor allem durch den Besuch von Konferenzen, das Lesen von News und die Mitarbeit auf internen wie externen Mailinglisten weiter.
Größere Aufgaben sind in der nächsten Zeit für die IT nicht zu erwarten, wie Daniel Schauenberg verrät: “Momentan sind keine großen Umbaumaßnahmen geplant. Wir arbeiten generell so, dass wir konstant kleinere Änderungen vornehmen, um stetig auf Änderungen reagieren zu können.”
Infos
- Daniel Schauenberg, “Scaling Deployment at Etsy”: https://www.youtube.com/watch?v=AwOG65UGAH4
- IAMA-Thread auf Reddit: http://www.reddit.com/r/IAmA/comments/1k7tlu/we_are_the_operations_team_at_etsy_ask_us_anything/
- Chef: http://www.opscode.com/chef/
- Github: https://enterprise.github.com
- Open-Source-Code von Etsy: https://github.com/etsy
- Casper Suite: http://www.jamfsoftware.com/software/casper-suite
- Google Account Manager: https://accounts.google.com
- Jira Ticketsystem: https://www.atlassian.com/de/software/jira







