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
mds bugs

Wat zijn de nieuwe MDS CPU-bugs en wat doen wij eraan?

Je herinnert je misschien nog dat begin vorig jaar er een heel aantal veiligheidsproblemen zijn gevonden in de processoren van Intel. Helaas hebben gisteravond […]

Lees meer

Nucleus & Combell

Nucleus & Combell: twee maanden later

We zijn intussen bijna twee maanden na de overname van Nucleus door Combell. Achter de schermen werken we hard aan de integratie van de twee bedrijven.

Lees meer

http/3

Wat is HTTP/3? En wat betekent het voor jou?

Eind 2018 liet de IETF weten dat het HTTP-over-QUIC protocol voortaan als HTTP/3 door het leven gaat. Zo wordt het de derde officiële versie wordt van het http-protocol. Dat vergt wat uitleg.

Lees meer