Twitter Behance Pinterest Instagram Mailchimp Dribbble

Je website in één keer online


Veel mensen zetten een website online door bestanden een voor een naar de server te uploaden. Dit kan professioneler en eenvoudiger. Een website uploaden via het FTP-protocol met een programma als Filezilla of Transmit is ouderwets. Het is foutgevoelig en de website is tijdens het uploaden niet of deels niet bereikbaar. Je website werkt pas als alle files geüpload zijn. Als je een website aan het ontwikkelen bent, dan doe je dit doorgaans op je eigen machine. De website is op dat moment niet toegankelijk via het internet, maar draait alleen op jouw computer. Hiervoor heb je serversoftware nodig. De softwareconfiguratie die jij gebruikt komt echter zelden overeen met de softwareconfiguratie op de server waar de website uiteindelijk zal draaien. Dit kan problemen opleveren, als je de website online wil gaan zetten. De website werkt niet en je hebt geen idee wat er aan de hand is. Dit hoeft niet en kan ook anders.

In dit artikel lees je hoe wij onze websites ontwikkelen en online zetten en wat dit voor voordelen heeft. Je website staat bij updates in één keer online en heeft geen downtime, hij wordt gehost op een eigen server zonder dat je deze hoeft te configureren en je kunt eenvoudig wijzigingen terugdraaien.

Wordt één website gehacked, dan lopen alle websites op dezelfde server gevaar. Niet cool!

Shared hosting

Traditioneel worden websites op shared hosting gehost. Dat betekent dat je samen met heel veel andere mensen op dezelfde server een stukje schijfruimte huurt. Is er iets mis op één site dan heeft dat consequenties voor de andere websites. Heeft één website bijvoorbeeld te maken met piekbelasting, dan gaat dit ten koste van de prestatie van andere websites. Wordt één website gehacked, dan lopen alle websites op dezelfde server gevaar. Niet cool! Daarnaast wordt er op een shared-hosting-server vaak veel software geïnstalleerd die jij als klant helemaal niet gebruikt. Ook dat gaat ten koste van de prestatie van jouw website.

Virtual Private Server

Een Virtual Private Server (VPS) is in feite ook een gedeeld stuk van een server, maar het betreft wel een privé-omgeving waarbij de gebruiker root access heeftDat betekent dat hij de server volledig zelf kan configureren en installeren. Je installeert dus alleen de essentiële software, die je nodig hebt om jouw website te kunnen draaien. Je kunt zelfs bepalen op welke besturingsprogramma je server draait. Dit heeft een positief effect op de prestatie van je website. Bij veel hostingproviders, die VPS’en aanbieden, kun je zelf de snelheidsspecificaties van je VPS kiezen. Deze prestaties zijn gedeeld, maar wel verdeeld per VPS. Als één VPS op een server de boel verstiert, heeft dit in principe geen nadelige gevolgen voor de andere gebruikers.

Het configureren van zo’n VPS is echter gespecialiseerd werk. Je moet kunnen werken met de terminal om UNIX-commando’s in te voeren, zodat je de benodigde serversoftware kunt installeren en configureren. Het heeft mij best wat tijd gekost om dit onder de knie te krijgen. Als het werkt dan werkt het, maar ik ben geen systeembeheerder en heb dus vaak trial en error nodig om de boel weer aan de praat te krijgen. Dat moet anders kunnen!

Trellis

Roots maakt gratis open source tools voor de WordPress-community. Eén van hun tools is Trellis. Met Trellis kan je met één commando op je eigen computer een kale, ongeconfigureerde VPS voorzien van alle software die nodig is om WordPress te draaien. De VPS wordt volledig geïnstalleerd en geconfigureerd. Dit alles gebeurt veilig en snel. Je huurt een VPS (bijvoorbeeld bij Digital Ocean), na 30 seconden heb je een IP-adres, je slaat dit IP-adres samen met een handvol wachtwoorden op in de config files van Trellis en voert één commando in om de server te configureren.

Maar hier houdt het niet op. Met Trellis is het ook mogelijk om lokaal (op je eigen computer) een ontwikkelomgeving in te richten. Hiervoor wordt een zogeheten Virtual Machine ingericht, die exact dezelfde softwareconfiguratie krijgt als de uiteindelijke VPS. Als je website dan lokaal werkt, dan werkt hij ook op de VPS. Dit is een zekerheid.

Het grote voordeel is, dat je met de methode die Trellis gebruikt voor het online zetten van je website geen downtime hebt.

Deployment (online zetten)

Het online zetten van een website doe je ook met Trellis. Als je al gewend bent om met versiebeheersoftware GIT te werken, dan zit je goed. Per omgeving (ontwikkelomgeving, testomgeving, productieomgeving) kun je in Trellis aangeven welke branch (vertakking) van je GIT-project gebruikt moet worden. Hierdoor is het mogelijk om een testomgeving aan te bieden aan je klant, waarop je nieuwe features kunt testen die nog niet op de uiteindelijke productieomgeving moeten staan. Met één commando in de terminal kun je Trellis op de VPS de laatste versie van je branch laten downloaden en installeren.

Het grote voordeel is, dat je met de methode die Trellis gebruikt voor het online zetten van je website, geen downtime hebt. Je website is dus niet offline. De laatste versies van je site worden afzonderlijk van elkaar op de server gezet en de actieve versie van je website wijst automatisch naar de laatste versie. De verwijzing naar de laatste versie wordt pas aangepast zodra deze versie gedeployed is. Met deze methode is het ook mogelijk om in een fractie van een seconde een rollback te doen naar een oudere versie van je website, zonder dat je downtime hebt. Dit kan bijvoorbeeld nodig zijn als er onverhoopt een ernstige fout in de nieuwste versie van je website is geslopen.

Trellis Git
De twee branches die de website op dit moment heeft. Master (de productie-omgeving) en Develop (de ontwikkel-omgeving).
Trellis local config
Het configuratiebestand van de ontwikkel-omgeving.
Trellis production config
Het configuratiebestand van de productie-omgeving.
Trellis provision
De server configureer je met het bovenste commando.
Trellis deployment
De website zet je online met het bovenste commando.
Trellis Hanne
Als je geluk hebt zet Hanne je website online door op 'Enter' te drukken.

Meer weten?

Vanzelfsprekend gebruiken wij Trellis voor het online zetten van onze websites. We hosten ze bij Digital Ocean en de kosten hiervan berekenen we door in een servicecontract. Wil je meer weten over Trellis en het gebruik hiervan, ben je ontwikkelaar en heb je hulp nodig of wil je jouw website ook op deze manier laten hosten? Neem contact met ons op of deel je ervaringen in de comments.

Gerelateerde artikelen: