Einführung

Haben Sie World of Tanks gespielt? Über 180 Millionen Spieler haben das teambasierte Massively Multiplayer Online Action Game oder einen der anderen Titel der Serie, World of Warplanes oder World of Warships, gespielt. Damit ist Wargaming einer der Marktführer im Free-to-Play-MMO-Markt. Die Aufrechterhaltung einer Führungsposition im hart umkämpften Spielemarkt ist nicht einfach, und Wargaming muss die Spieler durch schnelllebige Aktualisierungszyklen im Spiel beschäftigen.

Herausforderung

Es braucht eine große Truppe, um so komplexe Spiele zu entwickeln, und Wargaming hat über 4500 Mitarbeiter, die in mehr als 20 Büros und Entwicklungszentren auf der ganzen Welt arbeiten und an Titeln für Handys, PCs, MACs und verschiedene Spielkonsolen arbeiten. Jeder Titel hat seine eigenen Produzenten, Designer, Entwickler und Publisher, von denen einige Drittstudios sind, die sich – sicher – an die Wargaming-Infrastruktur anschließen müssen.

Ein wichtiger Schritt vor der Veröffentlichung eines Spiel-Updates für Fans ist der Game Build, eine Kombination aus kompiliertem Code und Media Assets, wie Texturen, Audio- und Videoinhalten. Mehrere Teams aus vielen Büros tragen zu jedem Spielbau bei, und der Bau selbst muss so schnell wie möglich, aber auch zuverlässig und kontrollierbar zwischen den verschiedenen Teams ausgetauscht werden.

Es mag nicht nach einer großen Herausforderung klingen, bis Sie alle Anforderungen von Wargaming erfüllt haben. Jeder Build ist groß, mit 50 GB und mehr an Code, Audio und Video. Diese großen Dateien müssen über die verfügbaren Netzwerkkanäle übertragen werden, was großartig sein kann, oder eine nicht so große 10Mbps mit hoher Latenz und Paketverlust. Unabhängig von den Einschränkungen des Netzwerkkanals muss der Build schnell durchlaufen werden.

Wargaming war sich sicher, dass sie dies mit einer Peer-to-Peer-Lösung lösen mussten, die die Einschränkungen des Netzwerkkanals durch die gleichzeitige Verwendung mehrerer Knoten überwinden konnte. Gleichzeitig erforderten sie von dieser geschäftskritischen Netzwerkkomponente einen sehr robusten Satz an zentralisierten Verwaltungsfunktionen. Sie müssen in der Lage sein, den Fortschritt zu verfolgen und Übertragungen von einer Webschnittstelle aus manuell zu stoppen und neu zu starten sowie den Bandbreitenverbrauch zu kontrollieren. Sie arbeiten mit Drittanbietern zusammen und müssen in der Lage sein, den Zugriff mit granularen Kontrollen zu sichern. Plattformübergreifende Unterstützung und einfache Integration mit dem Rest des Stapels und in den Workflow waren ebenfalls wichtig.

Lösung

Das Ingenieurteam evaluierte 14 verschiedene Synchronisationslösungen und ging tief in 4 Lösungen ein. Als sie Resilio für einen Spin nahmen, waren sie angenehm überrascht. „Unsere Ingenieure haben innerhalb einer Stunde eine erfolgreiche Testversion bereitgestellt – ohne eine Menge Handbücher zu lesen -, die das beste Ergebnis aller von uns getesteten Lösungen lieferte“, sagt Roman Sakno, Enterprise Architect bei Wargaming.

Alles in allem war Resilio der klare Gewinner aufgrund seiner Kombination aus sehr hoher Leistung und durchgängiger Einfachheit. Die reine Peer-to-Peer-Architektur führte zu deutlichen Geschwindigkeitsverbesserungen. „Resilio erfüllte alle unsere technischen Anforderungen, war aber auch sehr einfach zu implementieren und in unseren Workflow zu integrieren. Uns hat auch gefallen, dass die Einfachheit auf transparente Preise und klare Dokumentation übertragen wurde“, erklärte Sanko.

Wargaming hat Resilio Connect erfolgreich an 10 geografischen Standorten implementiert. Einerseits wird es verwendet, um BitBucket-Builds über die REST-API zu synchronisieren. Es ist auch eng mit TeamCity und Jenkins integriert und wird verwendet, um Builds mit DevOps-Teams auf verschiedenen Kontinenten zu synchronisieren.

Vorteile

  • Robuste Leistung über Netzwerkkanäle mit begrenzter Bandbreite mit Latenz und Paketverlust durch Integration von WAN-Optimierung.
  • Beschleunigen Sie die Übertragung sehr großer Dateien mit verschiedenen Arten von Inhalten – Binär-, Audio- und Videodateien.
  • Fein abgestimmte Benutzerzugriffskontrolle, einschließlich der Verwaltung von Drittanbietern.
  • Webbasierte Verfolgung des Synchronisationsfortschritts mit manueller Unterbrechung & Fortführung und Ausnahmebehandlung (z.B. Platzmangel)
  • Plattformübergreifende Unterstützung (Linux, Windows, Ubuntu-Server und CentOS) sowie Unterstützung aller Paketformate
  • Einfache Integration mit CI/CD-Tools Jenkins und TeamCity
  • Flexible API zur Integration in bestehende Arbeitsabläufe

Technische Beschreibung

Das wichtigste kollaborative Entwicklungswerkzeug ist BitBucket, das über Commit-Hook und seine REST-API in Resilio integriert ist. Wenn jemand die Datei in Git LFS ändert, die auf BitBucket gehostet wird, benachrichtigt Resilio Connect, dass die Datei von Git LFS am aktuellen Standort mit einem anderen Standort synchronisiert wird.

In erster Linie wird die Integration genutzt, um Audio/Video/Texturen von unseren Designern zu übertragen. Auf der anderen Seite ist Resilio eng mit TeamCity und Jenkins integriert. Wenn ein Build abgeschlossen ist, ruft CI Resilio einfach per API auf, um den Transfer zu starten und die Datei an das DevOps-Team zu senden, das sich auf dem anderen Kontinent befindet.

Sie benötigen unsere Hilfe?

Kontaktieren Sie uns

In einem ersten Gespräch teilen Sie uns Ihre Wünsche und Anforderungen mit. Auf dieser Basis erarbeiten wir ein individuelles Konzept für Sie.

Support

Jetzt Anrufen

Kontakt

Kontaktieren Sie uns und starten Sie eine großartige Zusammenarbeit.