Conversica ist mit Hilfe von GitLab Ultimate führend in KI-Innovationen
Möchtest du sehen, was GitLab Ultimate für dein Team tun kann?
Das Engineering-Team von Conversica suchte nach einem skalierbaren, einzelnen Tool für CI/CD.
GitLab Ultimate bietet Conversica-Entwickler(inne)n die neuesten CI/CD-Funktionen.
Weltweit führend im Bereich KI
Conversica ist ein führender Anbieter von künstlicher Intelligenz für Unternehmen und der einzige Anbieter von KI-gestützter Lead-Engagement-Software für Marketing- und Vertriebsorganisationen. Conversica wird von über 1.500 Unternehmen weltweit verwendet und bietet SaaS, damit Benutzer(innen) durchdachte Kampagnen erstellen können, um Kund(inn)en zu gewinnen und zu halten.
Der Nachteil von unzusammenhängenden Tools
Das Entwicklungsteam von Conversica verwendete TeamCity für CI/CD, Quay.io für die Docker-Image-Registry und GitHub für die Quellcodeverwaltung. Dies war ein zusammengewürfelter Ansatz, bei dem die Tools in einem gewissen Maß um GitHub herum konsolidiert wurden, aber nicht ausreichend, um eine kontrollierte Umgebung zu bilden. Das Entwicklungsteam war verärgert und hatte Probleme mit dem Zugriff auf die Tools. „Bei TeamCity gibt es eine Art interne XML-Konfiguration, die das Tool auf mittelalterliche Weise speichert und die für Entwickler(innen) sehr undurchsichtig ist“, erklärt Rob Fulwell, Engineering Manager bei Conversica. „So greifen sie nur über die Benutzeroberfläche darauf zu, was nicht die bevorzugte Arbeitsweise von Entwickler(inne)n ist. Sie arbeiten lieber mit Textdateien.“
Der unzusammenhängende Workflow war letztendlich zu langsam für die geschäftlichen Anforderungen des Unternehmens. „Wir wurden von den Vertriebs- und Marketingmitarbeiter(inne)n unter Druck gesetzt, Funktionen schneller bereitzustellen“, sagt Fulwell. „In der Vergangenheit mussten wir uns auf die Bereitstellung konzentrieren, vielleicht mit dem Nachteil einer wachsenden Technical Debt.“
Das Team verlor immer mehr Zeit bei der Behebung von Pipeline-Ausfällen, anstatt sich auf Maßnahmen zu konzentrieren, mit denen das Unternehmen aus der Masse hervorstechen konnte. „Außerdem hatten wir Bedenken, ob wir die zukünftigen Anforderungen an die Sicherheit und das Scannen von Lizenzen in unseren Systemen umsetzen können“, so Fulwell.
Erstellung von kleinen Softwareprojekten
Nachdem Fachleute im Vorfeld recherchiert hatten, beschloss Conversica, GitLab für alle Engineering-Teams einzuführen, und schloss die Migration innerhalb von drei Monaten erfolgreich ab. Eine der Anforderungen von Conversica im Rahmen des Entscheidungsprozesses bestand darin, dass das ausgewählte Tool eine klare Dokumentation bietet, um Migrationsprobleme zu erleichtern. „Wir haben tatsächlich darauf geachtet, dass die Dokumentation zu den besten zählte. Andernfalls hätten wir unsere Entscheidung, zu einem anderen Toolset zu wechseln, meiner Meinung nach noch einmal eingehend überdacht“, erläutert Fulwell.
Fulwells Team fungierte als Berater für die anderen Engineering-Teams, während sie lernten, wie sie ihre Pipelines unter GitLab implementieren können. „Wir haben viel mit Entwickler(inne)n in anderen Teams zusammengearbeitet und gemeinsam mit ihnen die Pipelines zusammengestellt“, sagt Fulwell. „Wir haben sichergestellt, dass wir die Standards einhalten, die wir hinsichtlich einer guten Pipeline haben, und anschließend die richtigen Fortschritte bei automatisierten Tests machen. So haben wir es geschafft, GitLab im gesamten Team einzuführen.“
Conversica entschied sich für GitLab Ultimate, um das Tool ohne Einschränkungen optimal zu nutzen. „Wir hosten selbst – das bedeutet, wenn wir einige APIs intern entwickeln und die Infrastruktur aufbauen müssen, um dies zu ermöglichen, dann können wir das jetzt tun“, so Fulwell.
Bei GitHub gab es einige „Drosselungen“, bei denen Entwickler(innen) warten mussten und nicht arbeiten konnten. Die Entwickler(innen) waren zwar in der Lage, mehr Aufrufe anzunehmen, aber sie verfügten nicht über den nötigen Rahmen, um dieses Produktionsniveau zu erreichen. Mit GitLab Ultimate sind sie nicht mehr untätig.
Moderne Benutzeroberfläche, transparente Pipelines, erweiterte Skalierungsmöglichkeiten
Ein klarer Vorteil des Wechsels zu GitLab ist die Möglichkeit, die Pipeline von Anfang bis Ende zu visualisieren. Conversica musste kürzlich eine Notfallwiederherstellung für etwas durchführen, das an einem Wochenende bereitgestellt wurde. In GitLab konnte der spezifische Commit dargestellt werden, der in der jeweiligen Umgebung bereitgestellt wurde. „Beim ersten Mal hat es mich fast umgehauen. Ich konnte von dieser Umgebung buchstäblich mit einem Klick auf die Spitze des Main-Branches in eine andere Umgebung wechseln“, so Fulwell. Es war zwar möglich, TeamCity und GitHub im Notfall zurückzusetzen, aber nicht mit einem einzelnen Klick. Es waren mehrere Schritte erforderlich, um den richtigen Commit zu finden. „Eine Pipeline von Anfang bis Ende zu durchlaufen, ist so mühelos mit Gitlab – das ist ein enormer Vorteil, wenn man nach einem Fehler oder ähnlichem sucht“, sagt er.
Die Benutzeroberfläche ist übersichtlicher und für Entwickler(innen) einfacher zu verstehen als der vorherige Tooling-Workflow des Unternehmens. Die End-to-End-Integration mit Quellcodekontrolle über CI/CD bis hin zur Bereitstellung bietet dem Entwicklungsteam eine Effizienz, die mit der vorherigen Toolgruppe nicht möglich war. Die Engineering-Teams können nun effizienter miteinander kommunizieren, die Projekte der anderen untersuchen und erfolgreich zusammenarbeiten. Die Bereitstellung wird vereinfacht und kann schneller erfolgen, da Vertrauen in die Pipeline-Bereitstellung besteht. Sicherheit findet jetzt auf Codeebene statt – etwas, das Conversica zuvor nicht hatte.
Conversica stellt von ECR zu EKS und zur selbstverwalteten GitLab-Ultimate-Instanz bereit. Das Unternehmen verwendet noch keine Kubernetes-Integration, sucht jedoch nach Möglichkeiten, diese zu implementieren. „Der Wechsel zu GitLab fühlte sich in Bezug auf Skalierung, Zuverlässigkeit und Sicherheit ganz natürlich an“, so Fulwell. „Es hat definitiv gut funktioniert, da wir in der Lage waren, AWS-Systeme, die wir bereits verstanden haben, zu implementieren und zu optimieren.“
Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung korrekt.