Dit klinkt ongetwijfeld bekend voor sommigen: de ontwikkeling van een nieuw project gebeurt bij de developer op een Windows omgeving waar Apache & PHP 4 op geïnstalleerd staat, de staging en QA omgeving draait op Ubuntu en Apache + PHP 5 en de live omgeving is dan weer een CentOS met Nginx en PHP-FPM op versie 5.3. Een zootje dus. En toch gebeurt het nog vaak met alle complicaties die het met zich meebrengt.

Er komen onverwachte ‘features’ boven, het ontwikkelingsproces duurt veel langer omdat er op staging & QA nog steeds problemen opduiken, de eindklant is ontevreden, … Gelukkig zijn daar oplossingen voor, maar bij velen zijn ze nog niet gekend.

Zo werken we bij Nucleus bv. standaard met Puppet, een Configuration Management System (niet je typische CMS zoals Drupal of WordPress). Dat laat ons toe om de ‘layout’ van een server te beschrijven in manifests. Of een nieuwe dedicated servers of cloud server nu Ubuntu, Apache en mod_php of CentOS, Nginx en PHP-FPM moet serveren, voor ons maakt het niet uit. Wij definiëren in Puppet welke software geïnstalleerd moet zijn en met welke instellingen en Puppet regelt de rest. Dat is de grote kracht achter de DevOps movement.

Het voordeel? Diezelfde configuratie op de server kan eenvoudig gekopieerd worden naar een Development of Staging omgeving, gehost bij Nucleus of lokaal op een virtuele machine die bv. via Vagrant gestart wordt. Uw project groeit en plots zijn er meerdere servers nodig? Geen enkel probleem, via Puppet kunnen we garanderen dat de configuratie op elke server 100% identiek is. Bij manuele configuraties treed er namelijk vaak configuration drift op; configuraties met kleine verschillen die voor complexe problemen op productie systemen zorgen. Hoofdpijnen die u dus best kan vermijden.

Door met Puppet te werken kan je ook als developer productiever zijn: de development omgeving waarop het project ontwikkeld wordt kan immers exact overeenkomen met de productie omgeving. Èn je hoeft als developer geen configuraties te wijzigen in je webserver of PHP, alles kan door Puppet gebeuren wat wij als sysadmins (vanop afstand) kunnen beheren. Geen verrassingen meer dus. Is er een aanpassing nodig op de development omgeving om het project te laten draaien (bv. enkele PHP aanpassingen of een configuratie aan de webserver)? Dan kunnen we dat meteen op productie toepassen.

Als het development proces dan ook nog eens kan uitgebreid worden met eenvoudigere en geautomatiseerde manieren om nieuwe projecten live te zetten, zoals bv. Capistrano (ruby), Phing (PHP) of Ant (Java), gaat ook dat nog vlotter. Weg met FTP. Lang leve automatische application lifecycles.

Klinkt het interessant voor een nieuw of huidig project? Neem gerust even contact op met ons, we bekijken graag uw configuratie verder. Wil je hier meer over weten? Bekijk dan zeker onze verdere info pagina’s over DevOps.

Gerelateerde berichten
Nucleus - Laravel

Wat is de beste manier om Laravel te hosten?

Wat is de beste manier om Laravel te hosten? Door Laravel, Forge en gebruiksvriendelijke deployments te combineren met managed hosting. Lees hier waarom!

Lees meer

Spectre en Meltdown

Spectre en Meltdown: wat was de échte impact ?

Spectre en Meltdown – en meer bepaald het patchen van de lekken – hebben zowat elke system administrator bezig gehouden de afgelopen dagen. Nu […]

Lees meer

Spectre en Meltdown

Important information regarding Meltdown & Spectre CPU vulnerabilities

By exception, this blogpost will be in English to inform all our clients. News has come out about highly critical vulnerabilities in all Intel […]

Lees meer