DevOps is een evoluerende filosofie en framework dat snellere, betere applicatieontwikkeling en snellere release van nieuwe of herziene softwarefuncties of -producten aan klanten stimuleert.
De praktijk van DevOps stimuleert soepelere, continue communicatie, samenwerking, integratie, zichtbaarheid en transparantie tussen applicatieontwikkelingsteams (Dev) en hun collega's van het IT-operationsteam (Ops).
Deze nauwere relatie tussen Dev en Ops doordringt elke fase van de DevOps-levenscyclus: van de initiële softwareplanning tot de code-, build-, test- en releasefasen en tot de implementatie, activiteiten en continue monitoring. Deze relatie zorgt voor een continue terugkoppeling naar klanten voor verdere verbetering, ontwikkeling, testen en implementatie. Een van de gevolgen van deze inspanningen kan zijn dat de benodigde functiewijzigingen of -toevoegingen sneller en continu worden uitgebracht.
Sommige mensen groeperen DevOps-doelen in vier categorieën: cultuur, automatisering, meting en delen (CAMS) en DevOps-tools kunnen hierbij helpen. Deze tools kunnen de ontwikkelings- en operationsworkflows beter stroomlijnen en geschikt maken voor samenwerking, waardoor voorheen tijdrovende, handmatige of statische taken die betrokken waren bij integratie, ontwikkeling, testen, implementatie of bewaking, worden geautomatiseerd.
Waarom DevOps belangrijk is
Naast de inspanningen om barrières voor communicatie en samenwerking tussen ontwikkelings- en IT-operationsteams weg te nemen, is een kernwaarde van DevOps de klanttevredenheid en de snellere levering van waarde. DevOps is ook ontworpen om bedrijfsinnovatie te stimuleren en om processen continu te verbeteren.
De praktijk van DevOps stimuleert een snellere, betere en veiligere levering van meerwaarde aan de eindklanten van een organisatie. Deze waarde kan de vorm aannemen van frequentere productreleases, -functies of -updates. Het kan gaan om de snelheid waarmee een productrelease of nieuwe functie bij de klant terechtkomt, en dat allemaal met de juiste kwaliteits- en beveiligingsniveaus. Of de focus ligt misschien op hoe snel een probleem of bug wordt geïdentificeerd en vervolgens wordt opgelost en opnieuw wordt uitgebracht.
De onderliggende infrastructuur ondersteunt DevOps ook met naadloze performance, beschikbaarheid en betrouwbaarheid van software wanneer deze voor het eerst wordt ontwikkeld en getest en vervolgens in productie wordt genomen.
Geschiedenis van DevOps
Veel DevOps-methoden voor het stroomlijnen van softwareontwikkeling en -implementatie hebben een vroege basis voor flexibele softwareontwikkeling en leanprogrammering. Maar DevOps evolueerde oorspronkelijk vanuit verschillende basisbewegingen om de activiteiten van ontwikkelaars en hun collega's van het operationsteam te harmoniseren.
In de vroege jaren 2000 ontstond de noodzaak om de beschikbaarheid van populaire websites zoals Google en Flickr te handhaven tegen grote aantallen hits. Deze behoefte heeft geleid tot het gebruik van Software Reliability Engineers (SRE's): operationsmedewerkers die nauw samenwerken met ontwikkelaars om ervoor te zorgen dat de sites blijven draaien nadat code in productie werd genomen.
In 2009 presenteerden de technici van Flickr John Allspaw en Paul Hammond hun eigen DevOps-achtige methodologie op een conferentie. Hun presentatie kreeg de titel '10+ implementaties per dag: samenwerking van Dev en Ops bij Flickr'. In datzelfde jaar organiseerde Patrick Debois de eerste DevOps-dag in België. Er werd ook een hashtag #DevOps gemaakt en deze won aan kracht toen meer DevOps-dagen over de hele wereld werden gehouden.
In de komende jaren werden tools en frameworks voor de branche en open source ontwikkeld en voorgesteld om de doelen van DevOps te bevorderen.
NetApp en DevOps
NetApp helpt betere bedrijfsresultaten te bevorderen met DevOps: operationsteams leveren geautomatiseerde infrastructuur met minder engineering, en ontwikkelaars werken in betrouwbare en voorspelbare omgevingen met minder frictie. Met NetApp®-technologie kunt u vol vertrouwen de services en mogelijkheden leveren die uw organisatie nodig heeft om de productiviteit van ontwikkelaars te maximaliseren, zowel on-premises als in cloudomgevingen.
NetApp maakt het voor ontwikkelaars-, test-, QA- en operationsteams eenvoudig om infrastructuurresources (zoals persistente storagevolumes) als code te gebruiken, allemaal vanuit vertrouwde tools in de DevOps-pipeline. Voorbeelden zijn storage-API's van NetApp en IAC-integraties met tools zoals Puppet, Ansible, Docker, Kubernetes en OpenShift.
Maar NetApp maakt het ontwikkelaars niet alleen gemakkelijk om storage als code te gebruiken. Met NetApp-technologie kunnen operationsteams ook met vertrouwen resources provisionen en leveren aan ontwikkelings- en testpersoneel. Ontwikkelaars en testers kunnen de codering- en testcycli vervolgens versnellen door snelle, tijdbesparende storagefuncties, zoals snapshots of klonen, zelf te provisionen. Met deze functies kunnen kopieën van realtime productiedata of codesets binnen enkele seconden of minuten als code worden geleverd om de ontwikkeling en QA-workflow te versnellen.
De toewijding van NetApp aan de community strekt zich uit tot thePub. Deze ontwikkelaarscommunity moedigt samenwerking aan, deelt tips en trucs en behandelt ideeën over de nieuwste DevOps-praktijken en -protocollen.