• Gaia - Digital Asset Management

Het afgelopen jaar hebben we flink gesleuteld aan de onderliggende structuur en werking van Gaia om met name de stabiliteit te verbeteren. De reden? Gaia beheert miljoenen foto’s en had een flinke upgrade nodig om bij te blijven. In dit blog leggen we je alles uit over de problemen die we tegenkwamen, hoe we dit hebben opgelost en wat we blijven doen om jouw content veilig te bewaren.

Hoe worden mijn bestanden opgeslagen in Gaia?

Allereerst een klein stukje context over de verwerking van jouw media binnen het platforn. Wanneer gebruikers media (afbeeldingen of video) uploadt, gaan deze eerst door onze Media Processor. Dit proces zorgt ervoor dat afbeeldingen in verschillende maten (gecomprimeerd) worden opgeslagen. Idem dito voor video’s. Dit is noodzakelijk om media snel te kunnen tonen in het overzicht en snel navigeren tussen foto’s mogelijk te maken. De Media Processor behandelt eenmalig deze bestanden en zet deze vervolgens door naar de opslag.

Tijdens de ontwikkeling van het platform was opslag bij een datacentrum dat gevestigd is in Nederland een must. Daarnaast wilden we alles in eigen beheer houden zodat we de opslag gaandeweg kunnen aanpassen naar onze wensen en snel kunnen schakelen bij eventuele problemen. Er is gekozen voor een eigen oplossing waarbij we storage servers hebben ingericht met Linux en een zelf ontwikkelde storage driver. Deze driver zorgt ervoor dat binnenkomende bestanden veilig worden opgeslagen en alleen bereikbaar zijn voor verzoeken vanuit Gaia zelf.

Welke problemen hebben we verholpen in deze update?

De storage servers hadden twee belangrijke kwaaltjes: ten eerste was de bandbreedte niet alleen gelimiteerd, maar ook gedeeld. Dat zorgde ervoor dat we niet altijd de volledige gigabit verbinding konden gebruiken en met het groeiende gebruik werd dat een steeds belangrijkere bottleneck. Ten tweede hadden we de infrastructuur van Gaia verbeterd waardoor we meer afbeeldingen tegelijkertijd konden verwerken. Dit leidde echter tot de situatie waarbij al deze media op nagenoeg hetzelfde moment binnenkwamen op de storage servers, wat zorgde voor extra stress op het netwerk. Toen we daarna ook video gingen aanbieden via Gaia werd dit probleem flink versterkt en begonnen de eerste kuren op te treden.

Aangezien de Media Processor ook nog eens per direct de bestanden verwerkt bij een upload zorgde dit ervoor dat uploads soms door de gelimiteerde bandbreedte (of andere zaken) niet of niet volledig werden voltooid. Downloads zijn ook afhankelijk van dezelfde systemen en hierdoor bleven we steeds storingen ervaren die, naarmate Gaia groter werd, ook moeilijker werden om op te lossen.

 

Hoe hebben we deze problemen opgelost?

Begin dit jaar hebben we de gehele infrastructuur aangepakt om Gaia toekomstbestendig te maken en gebruikers van een stabielere en snellere omgeving te voorzien. Het platform zelf is nu schaalbaar geworden waardoor we makkelijker kunnen opschalen in drukke periodes. Met behulp van verbindingen tot 20 Gigabit kunnen gebruikers media nu met 2 tot 4 Gigabyte per seconde uploaden én downloaden.

De storage servers hebben we verruild voor Azure blockstorage in Nederland. Naast goede service afspraken wordt media nu ook op drie verschillende plekken veilig gebackupt (ook buiten Azure om afhankelijkheid te voorkomen). Bovendien kan Gaia nu nog sneller media tonen. De Media Processor heeft ook een update gekregen en slaat per direct het originele bestand permanent op waarna het dat bestand vervolgens gebruikt om afbeeldingen te comprimeren of video’s te transcoderen. Dit zorgt ervoor dat we de uploads altijd kunnen aannemen en deze (in het geval van issues) ook later kunnen behandelen.

Tot slot is het platform uitvoerig getest en blijven we de prestaties nauwlettend in de gaten houden. Hierdoor is het tijd voor wat nieuwe functionaliteiten binnen het platform zelf, waarvoor we nu gelukkig alle ruimte hebben om verder te bouwen. 


© Gaia Media B.V.