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.
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.
Er zijn een paar veelgebruikte DevOps-methoden die organisaties kunnen gebruiken om de ontwikkeling en productreleases te versnellen en te verbeteren. Ze nemen de vorm aan van softwareontwikkelingsmethoden en -praktijken. De meest populaire zijn bijvoorbeeld Scrum, Kanban en Agile:
Volgers van DevOps-praktijken gebruiken vaak bepaalde DevOps-vriendelijke tools als onderdeel van hun DevOps-toolketen. Het doel van deze tools is het verder stroomlijnen, verkorten en automatiseren van de verschillende fasen van de softwareleveringsworkflow (of pipeline). Veel van dergelijke tools bevorderen ook de kernprincipes van DevOps op het gebied van automatisering, samenwerking en integratie tussen ontwikkelings- en operationsteams. Hieronder ziet u een voorbeeld van tools die in verschillende DevOps-levenscyclusfasen worden gebruikt.
DevOps-praktijken weerspiegelen het idee van continue verbetering en automatisering. Veel praktijken zijn gericht op een of meer ontwikkelingscyclusfasen. Deze praktijken omvatten:
De voorstanders van DevOps beschrijven verschillende zakelijke en technische voordelen, waarvan er veel kunnen leiden tot gelukkigere klanten. Voordelen van DevOps zijn onder meer:
Veel DevOps-methoden voor het stroomlijnen van softwareontwikkeling en -implementatie hebben een vroege basis voor agile softwareontwikkeling en lean programmering. 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 jaren erna werden open-source tools en frameworks voor de branche ontwikkeld en voorgesteld om de doelen van DevOps te bevorderen.
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. Lees verder over waarom NetApp is gemaakt voor DevOps.
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.