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
Meet the Hackers

Meet the hackers: drie visies op IT security

Better safe than sorry. Dat was de boodschap achter Meet the hackers, onze workshop rond ethical hacking. In het gezellig kader van de schuur […]

Lees meer

GDPR voor developers

GDPR voor developers: praktische tips

Er bestaat al gigantisch veel informatie over GDPR. Informatie voor CEO’s, CIO’s, marketing managers… maar GDPR voor developers? Amper. Daar willen we met deze blogpost verandering in brengen. Wat moet je als developer weten over GDPR? En welke praktische tips kunnen we je geven?

Lees meer

DevOps Mythes

6 DevOps mythes die we graag uit de wereld helpen

DevOps is een hot topic. Je vindt er dan ook heel veel informatie over. Helaas is niet al die informatie even zinvol of correct. […]

Lees meer