Hallo Walter! Kannst du mir ein bisschen mehr über dich und deine Rolle bei Runna erzählen?
Ja! Ich bin Water, CTO bei Runna. Als einer der ersten Mitarbeiter habe ich mich zunächst darauf konzentriert, die Plattform und die mobile App von Grund auf zu entwickeln. Zusammen mit der Backend-Infrastruktur wurde (und wird) alles auf AWS gehostet und mit einer vollständig serverlosen Architektur (was sowohl verrückt als auch großartig für uns ist, wenn man darüber nachdenkt). Ich teile diesen Kontext, weil er es uns bis heute ermöglicht, das Produkt mit einer kleinen Anzahl von Ingenieuren schnell zu skalieren.
Seit ich eine Führungsrolle übernommen habe, liegt mein Schwerpunkt auf dem Ausbau des Teams und der Skalierung der Plattform. Wir sind jetzt ein Team von 45 Mitarbeitern, das in 5 Teams unterteilt ist:
- App-Team: Full-Stack-Ingenieure, die End-to-End-Funktionen über unseren Stack entwickeln - React Native, AWS Serverless, GraphQL, DynamoDB, S3.
- Train Team: ML- und Python-Ingenieure, die unsere Trainings-Engine und LLM-basierte Funktionen wie Prompt Engineering mit OpenAI und Gemini verbessern.
- Daten-Team: Konzentriert sich auf den Aufbau eines Snowflake-basierten Data Warehouse, um Erkenntnisse aus den Trainings- und Aktivitätsdaten zu gewinnen, die derzeit in DynamoDB und S3 isoliert sind.
- Plattform-Team: Sorgt für Skalierbarkeit und reibungslose Entwicklungsabläufe, indem es serverlose Best Practices durchsetzt und technische Engpässe verhindert.
- Wachstumsteam: Entwickelt native Apps für Wearables wie die Apple Watch, um unser Produkt-Ökosystem zu erweitern.
Natürlich werden diese Teams von funktionsübergreifenden Produktteams (mit Designern, Produktmanagern ...) unterstützt.
Welchen Ansatz verfolgt Runna bei der Sicherheit?
Unsere Arbeitsweise ist die eines Teams von Generalisten. Wir ermutigen jeden, alle Dinge auf eine ganzheitliche Weise anzugehen, einschließlich der Sicherheit.
Im Allgemeinen ist das Plattform-Team von Runna für unsere Cloud-Sicherheit zuständig. Da alles in AWS gehostet wird, haben wir eine AWS-Konfiguration und einen Sicherheits-Hub eingerichtet. Wir haben einen Sicherheitsingenieur, der für alles zuständig ist, was mit Sicherheit zu tun hat: von der strategischen Sichtweise (die über die Cloud-Sicherheit hinausgeht, wie z. B. Bug-Pointing-Programme, externe Pen-Tests...) bis hin zum Tooling und der Weiterverfolgung von (kritischen) Alarmen und der Sicherstellung, dass das Triaging zwischen den verschiedenen Teams erfolgt.
Wenn Sie das hören (oder lesen), werden Sie wahrscheinlich denken, dass das ziemlich schwierig ist. Und das ist es auch! Es ist nicht machbar, dass eine Person alles pflegt. Es ist ziemlich viel Handarbeit und manchmal ein Nachspiel - und genau da kommt Aikido ins Spiel.
"Es ist nicht machbar, dass eine Person alles pflegt. Es ist eine Menge Handarbeit - und manchmal ein Nachspiel. Hier kommt Aikido ins Spiel."
Gab es noch andere Sicherheitsprobleme, mit denen Sie konfrontiert waren?
Abgesehen von der manuellen Mühsal und den konkurrierenden Prioritäten suchten wir nach einer Sicherheitslösung, die als Erweiterung unseres begrenzten internen Sicherheitswissens dienen konnte. Sie sollte als Erweiterung unseres Teams dienen, mit der Möglichkeit, so viel wie möglich von der Kennzeichnung, dem Triangulieren und der Behebung zu automatisieren.
"Wir waren auf der Suche nach einer Sicherheitslösung, die als Erweiterung unserer begrenzten internen Sicherheitskenntnisse dienen konnte."
Wir haben Glück, dass unsere Plattform nur 2-3 Jahre alt ist und wir alles in AWS hosten. Die mobile App ist ziemlich neu und die Web-App sogar noch neuer, daher war die Konsolidierung der Sicherheit über alle Produkte, die wir anbieten, ebenfalls von größter Bedeutung.
Wann haben Sie begonnen, sich mit Sicherheitswerkzeugen zu beschäftigen?
Die Bewertung begann mit dem Wunsch, alles nach links zu verlagern. Wir wollten die Sicherheit so selbständig wie möglich gestalten und gleichzeitig allen Teams die Möglichkeit geben, zur Sicherung unseres Produkts beizutragen. Das Letzte, was wir wollen, ist, dass die Sicherheit zu einer einzigen, isolierten Quelle wird, von der alle die Finger lassen und behaupten, "es sei nicht ihr Problem" (lacht).
Wir begannen mit der Suche nach einem Werkzeug, das die oben genannten Probleme lösen kann und gleichzeitig in der Lage ist:
- Probleme so früh wie möglich zu erkennen und
- Pull-Requests für bestimmte Repositories zu stellen, die Sicherheitsprobleme aufwerfen, wenn jemand versucht, Code zu übertragen
"Wir wollten die Sicherheit so selbständig wie möglich gestalten und gleichzeitig allen Teams die Möglichkeit geben, zur Sicherung unseres Produkts beizutragen."
Haben Sie andere Sicherheitstools evaluiert, bevor Sie Aikido ins Spiel brachten?
Wir verwendeten bereits Dependabot für das grundlegende Abhängigkeitsmanagement. Wir haben auch kurz Snyk evaluiert, hauptsächlich weil es einer der großen Anbieter ist. Aber ehrlich gesagt erschien es uns ein bisschen zu schwerfällig für unsere Bedürfnisse. Es war sehr komplex und kostete viel Geld, und wir sahen den Wert für unsere Größe und unser Setup nicht.
Was Aikido wirklich auszeichnete, war, wie schnell wir es zum Laufen brachten. Die Einrichtung war ein Kinderspiel, die Benutzeroberfläche fühlte sich an, als sei sie speziell für Entwickler entwickelt worden, und Funktionen wie AI AutoFix und automatische PRs gaben uns das Gefühl, dass es sich nicht nur um ein weiteres Dashboard handelte, sondern um etwas, das uns wirklich Arbeit abnehmen konnte. Es fühlte sich an, als ob wir einen weiteren Ingenieur in unser Team aufnehmen würden, ohne den Einstellungsprozess.
Was Aikido wirklich auszeichnete, war, wie schnell wir den Betrieb aufnehmen konnten. Es fühlte sich an, als hätten wir einen weiteren Ingenieur in unser Team aufgenommen, ohne den Einstellungsprozess.
Was ist die schnellste Zeit, die Sie von einer Sicherheitswarnung bis zur Behebung benötigen?
Bei kritischen Problemen (z. B. bei einem hochgradig gefährlichen Abhängigkeitsproblem) waren wir in der Lage, innerhalb von ein paar Stunden nach der Meldung einen Patch zu erstellen und die Korrektur zu veröffentlichen. Das ist vor allem der Art und Weise zu verdanken, wie Aikido in unseren Arbeitsablauf integriert ist: Probleme werden klar erkannt, PRs werden automatisch ausgelöst, und unsere Techniker können mit bereits vorhandenem Kontext eingreifen. Das ist ein entscheidender Vorteil, wenn es darum geht, die Zeitspanne zwischen Erkennung und Lösung zu verkürzen.
Mit Aikido ist die Sicherheit bei Runna kein Hindernis mehr. Es fügt sich nahtlos in die Arbeitsweise des Entwicklungsteams ein, automatisiert die lästigen Dinge und gibt den Ingenieuren den Kontext, den sie brauchen, um Probleme schnell zu beheben - ohne ihren Arbeitsfluss zu unterbrechen.