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
waarom zou je kiezen voor cloud hosting

Waarom zou je voor cloud hosting kiezen?

Steeds meer organisaties migreren hun hardware en software geheel of gedeeltelijk naar de cloud. Waarom maken steeds meer bedrijven die keuze?

Lees meer

Problemen oplossen in Varnish

Problemen oplossen in Varnish

In onze laatste ChalkTalk video uit de reeks bekijken we “ Problemen oplossen in Varnish ”. Hoe weet je of een pagina juist gecached wordt of niet? Wat zijn de meest voorkomende problemen na een implementatie van Varnish? En hoe los je die problemen op?

Lees meer

Netneutraliteit

Waarom onze overheid netneutraliteit moet garanderen

Een recent artikel van freelance journalist Jan Jacobs over netneutraliteit op Doorbraak.be deed ons steigeren. Zo erg zelfs dat we ons bijna afvragen op hij betaald werd door Proximus of Telenet om zo’n stuk neer te poten.

Lees meer