Vroeger was alles eenvoudiger en kon je op een simpele manier je website aanpassen. Maar vroeger was niet alles per se beter, want bij aanpassingen was de kans groter dat websites tijdelijk plat lagen. Hoewel de wereld nu dus complexer is geworden, kunnen we vandaag wel probleemloos websites aanpassen zónder enige downtime. En dat doen we met Atomic Deployment.
Downtime voor websites in het verleden
Vroeger was het heel simpel om aanpassingen voor je website online te zetten. Je moest enkel maar de websitebestanden aanpassen en deze via File Transfer Protocol (FTP) terug naar de juiste map op de server uploaden. Maar vroeger was niet altijd alles beter.
Het aanpassen van websitebestanden kon namelijk problemen meebrengen. Als een van de geüploade bestanden een fout bevatte, lag je website volledig plat en kreeg je te maken met downtime. Vervolgens moest je manueel uitzoeken welk bestand de fout veroorzaakte om dan in het slechtste geval al je aanpassingen ongedaan te moeten maken en opnieuw te moeten beginnen. Een proces dat urenlang kon duren.
Zero-downtime deployment dankzij Atomic Deployment
Tegenwoordig komt er veel meer kijken bij het online zetten van websites. Assets moeten gebuild worden, packages/dependencies worden geïnstalleerd via Composer, er worden tests uitgevoerd…
Als we dit op de “old-school” manier zouden doen via FTP, zou het hele proces om aanpassingen online te zetten heel erg lang duren, waarbij de kans op downtime heel groot is.
Maar wanneer we bij Innomedio aanpassingen online zetten, streven we altijd naar een 'zero-downtime deployment' waarbij een website geen seconde moet plat liggen. Hiervoor gebruiken we een techniek genaamd Atomic Deployment.
Wat is Atomic Deployment?
Bij Atomic deployment gaan we alle aanpassingen niet uploaden en overschrijven naar de bestaande map met de websitebestanden, maar gaan we een nieuwe map aanmaken. In deze nieuwe map uploaden we de nieuwste versie (met de laatste aanpassingen) van de codedatabase. Nadien voeren we nog de nodige acties uit zoals het installeren van dependencies via Composer en het builden van de assets.
Het grote voordeel van Atomic Deployment is dat dit allemaal op de achtergrond gebeurt, aangezien de vorige versie van de website nog online staat via de bestaande map. Als alle nodige aanpassingen zijn doorgevoerd, laten we de server voor de website simpelweg linken naar de nieuwe map die we hebben aangemaakt. Hierdoor kunnen we de aanpassingen meteen online zetten zonder ook maar één seconde downtime.
Foolproof fouten opsporen
In het hele proces van het “klaarzetten” van de nieuwe versie zit ook het uitvoeren van tests op onze code. Komen hier fouten uit, dan zal het proces afgebroken worden, en wordt er geen nieuwe versie online geplaatst. Op die manier kunnen we fouten opsporen en oplossen zonder dat ze ooit online zijn gezet.
Natuurlijk zijn we ook maar mensen en sluipen er soms nog fouten in de aanpassingen. Maar ook dat is geen probleem. Als de nieuwste aanpassingen toch een fout bevatten, kunnen we gewoon terug naar de vorige websiteversie (oude map) linken, wederom zonder ook maar één seconde downtime. Zo kunnen we meteen beginnen met debuggen en uitzoeken waar de fout in de nieuwe aanpassingen zit.
Wil je ook graag een goede website zonder downtime?
3 minuten leestijd in ruil voor nooit meer downtime, geen slechte deal he? Wil je graag meer weten over hoe wij concreet Atomic Deployment toepassen of heb je nog andere vragen? Contacteer ons dan vrijblijvend via het onderstaande formulier!