Wat is DevOps?

People, Proces, Tools

DevOps, een combinatie van 'Development' en 'Operations', is een werkwijze waarbij softwareontwikkeling en IT-operations als één team samenwerken. Dit zorgt voor een snellere en betere softwarelevering, mede dankzij het gebruik van automatiseringstools zoals Azure DevOps. Deze aanpak versnelt de ontwikkeling en implementatie van software, en maakt een efficiënter beheer mogelijk.

DevOpsDe acht onderdelen van het DevOps proces

DevOps omvat een continu proces waarin acht onderdelen te onderscheiden zijn: Plan, Code, Build, Test, Release, Deploy, Operate en Monitor. Deze onderdelen, alsmede DevOps hulpprogramma's en -technologieën, dragen bij aan de automatisering van de levenscyclus van jouw applicatie. Processen die voorheen handmatig door jouw teams moesten worden uitgevoerd en veel tijd in beslag namen kunnen snel en continu worden uitgevoerd wanneer je de DevOps hulpmiddelen en procedures hanteert. Denk hierbij bijvoorbeeld aan het bijwerken van code, het inrichten van een nieuwe omgeving of het continu geautomatiseerd testen van de applicatie. Daarnaast is het makkelijker om aan de standaarden met betrekking tot de veiligheid en betrouwbaarheid te voldoen, omdat deze zijn geïntegreerd in het proces.

Waarom DevOps?

Eén van de belangrijkste drijfveren om te starten met DevOps is de behoefte van bedrijven om sneller in te spelen op de veranderende markt.

Uit onderzoek is gebleken dat organisaties die goed presteren op het gebied van DevOps winstgevender zijn dan verwacht, veel vaker nieuwe software naar productie brengen, met tot 80% minder fouten. Ook kunnen deze organisaties veel sneller een fout herstellen als deze in productie voorkomt en veel sneller een wijziging in de software realiseren. Door deze snelle wijzigingen gezamenlijk met snelle feedback van geautomatiseerde testen worden de risico’s van het releasen van software naar productie een stuk kleiner. Kosten besparing kan gerealiseerd worden omdat er snel geleerd kan worden van de eindgebruiker hoe deze zijn software in productie gebruikt en welke functionaliteiten er echt toe doen.

Dit geeft aan waarom veel bedrijven op dit moment willen start met DevOps of hier nog beter in willen worden. De concurrentie is vaak hevig, concurrenten hebben hier misschien al een stap in gemaakt en de kans dat je achter gaat lopen wordt steeds groter. Maar waar moet je beginnen? Voor veel organisaties is dit heel moeilijk te bepalen. Vaak is er wel een idee maar of dit ook juist is? Als je verkeerd begint kan het zijn dat de investering niet datgene brengt wat je verwacht had of het kan zelfs zo zijn dat je slechter gaat presteren.

De belofte van DevOps

Softwarelevering automatiseren om gebruikers continu waarde te leveren

DevOps automatiseert, optimaliseert en versnelt de softwarelevering. DevOps maakt jouw processen en producten betrouwbaarder. Wanneer je DevOps-technologieën en -methoden implementeert, lever je sneller waarde voor jouw klanten. In de vorm van nieuwe en innovatieve producten of verbeteringen aan bestaande producten.

Een definitie van DevOps

DevOps according to Donovan BrownEen definitie die wat ons betreft kernachtig weergeeft waar DevOps over gaat is, is de definitie van Donovan Brown, Principal DevOps Manager bij Microsoft:
“DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.”

Deze definitie maakt duidelijk dat DevOps over  mensen, processen en tools gaat. En dat het uiteindelijk vooral gaat om het leveren van waarde aan de eindgebruiker.

DevOps is dus een werkwijze waarbij de mensen, de processen en de technologie die worden ingezet voor software ontwikkeling en IT. Bij DevOps werken de teams voor ontwikkeling, IT, kwaliteit en security nauw samen om werkzaamheden te combineren die voorheen geïsoleerd werden uitgevoerd. Dankzij de verbeterde coördinatie en samenwerking tussen de verschillende disciplines wordt de tijd tussen het moment dat een wijziging wordt toegewezen aan een systeem en het moment dat de wijziging in productie wordt genomen teruggebracht. En daarnaast is naleving van veiligheids- en betrouwbaarheidsstandaarden onderdeel van het proces. Het resultaat: betere producten, snellere levering en tevreden klanten.

Visie op een modern software ontwikkelproces

De DevOps Pipeline

Organisaties kunnen sneller en kwalitatief betere software ontwikkelen als ze het ontwikkelproces optimaliseren. Door de 8 fasen van het DevOps proces te optimaliseren verbeter je de flow van idee tot het beschikbaar stellen van functionaliteit aan de eindgebruiker. Bekijk de video voor onze visie op het DevOps proces aan de hand van onze pipleine maquette die in fysieke vorm op het Microsoft kantoor te bewonderen is.

Hoe breng ik DevOps in de praktijk

Om producten snel op de markt te kunnen brengen doorlopen de cross-functionele teams de 8 onderdelen van het DevOps process.

Plan

Gebruik methoden en processen zoals kanbanborden en Agile om werkzaamheden te identificeren en bij te houden. Wanneer werkzaamheden visueel worden bijgehouden, hebben belanghebbenden duidelijk inzicht in de capaciteit van het ontwikkelingsteam en kunnen ze taken beter plannen en prioriteren. Hierdoor kunnen onderbrekingen worden voorkomen.

Code

Schrijf code met moderne versiebeheersystemen als Git om voortdurend en op een veilige manier te integreren met de master branch. Wanneer een functie is voltooid, dient de ontwikkelaar een pull-request in. Zodra de aanvraag is goedgekeurd, worden de wijzigingen samengevoegd met de master branch en wordt de oude branch verwijderd.

Build en TestBuild & Test

Wanneer je code incheckt in Git of een ander versiebeheersysteem, wordt er een geautomatiseerd buildproces voor gestart. De code wordt getest en gevalideerd door testautomatisering, zodat fouten in een vroeg stadium kunnen worden opgespoord, wanneer alles nog vers in het geheugen van de ontwikkelaar ligt en eventuele problemen sneller, beter en goedkoper kunnen worden opgelost. Dit automatiseringsproces voor bouwen en testen wordt ook wel continue integratie (CI; Continuous Integration) genoemd. Een artefact dat klaar is voor implementatie in de productieomgeving is het resultaat van een succesvolle bouw- en integratiebewerking die voorziet in continue levering (CD; Continuous Delivery); de mogelijkheid om op elk moment te implementeren naar de productieomgeving.

Release & Deploy

Zodra een wijziging is getest en gevalideerd, kan deze worden geïmplementeerd in de productieomgeving. Wanneer je een methode voor continue delivery hanteert, is de uiteindelijke implementatie naar de productieomgeving een handmatig beheerde zakelijke beslissing.

Met continue implementatie wordt het volledige proces geautomatiseerd. Dit begint bij het doorvoeren van de code en resulteert in de uiteindelijke productie. Wanneer jouw code automatisch wordt geïmplementeerd, hebben uw klanten meteen toegang tot nieuwe functies zodra ze klaar zijn.

Operate & monitor

Zodra een product live is, levert de analytics informatie over de prestaties en gebruikspatronen van jouw app. Realiseer een hoge beschikbaarheid door onmiddellijk geavanceerde diagnostische gegevens te genereren op basis waarvan jouw team snel actie kan ondernemen. Los problemen voor gebruikers op en verzamel gegevens om weloverwogen zakelijke beslissingen te nemen met het oog op toekomstige ontwikkeling. En dankzij het geautomatiseerde nalevingsbeleid, waarbij wordt gebruikgemaakt van infrastructuur als code en beleid als code, weet je zeker dat de apps die je in de productie implementeert de gewenste statusconfiguraties gebruiken en voldoen best practices voor beveiliging.

Aan de slag met DevOps in Azure

Azure biedt een end-to-end, geautomatiseerde oplossing voor DevOps, inclusief geïntegreerde beveiliging en bewaking. Kies voor de toegankelijke manier om jouw apps in de cloud te ontwikkelen en te laten draaien. De ontwikkelaarservaring van Azure DevOps wordt geïntegreerd met de hulpprogramma's van jouw keuze. Ben je Java-ontwikkelaar? Prachtig! Azure biedt namelijk systeemeigen integraties met Eclipse. Als je met Jenkins bouwt, kun je deze automatiseringsserver gebruiken om rechtstreeks naar Azure te implementeren. Laat jouw teams voor ontwikkeling, IT-werkzaamheden en kwaliteitscontrole samenwerken om toepassingen in de cloud te testen, te implementeren, te bewaken en te beheren. In combinatie met Azure Stack voorziet Azure in een consistente hybride DevOps-ervaring die kan worden ingezet voor apps en workloads met regelgevingsvereisten of andere aangepaste vereisten. Gebruik jouw vaardigheden, processen en hulpprogramma's in de omgeving waarin je jouw app wilt draaien. Meer weten over DevOps in Azure? Lees onze whitepaper DevOps met Azure en Azure DevOps.

Doorlopend innovatie mogelijk maken

Ontwikkeling in de cloud vereenvoudigen en versnellen

Besteed minder tijd aan het bouwen van leveringspipelines en meer tijd aan het ontwikkelen van software. Gebruik een end-to-end DevOps-oplossing om apps in de cloud te ontwikkelen en te draaien, of je nu een bestaande leveringspipeline wilt verbeteren of een volledig nieuw project wilt beginnen. Gebruik Node.js, .NET, Azure DevOps of Jenkins. Azure is de eenvoudigste manier om toepassingen in de cloud te ontwikkelen en te draaien.

Betrouwbaarheid en herhaalbaarheid vergroten

Besteed minder tijd aan het beheren van de infrastructuur en beveiliging en meer tijd aan het ontwikkelen van innovatieve oplossingen. Met Azure kun je doorlopend implementeren met geïntegreerde beveiliging en bewaking van het hoogste niveau. Profiteer van de IaC-hulpprogramma's (infrastructuur als code), zoals Azure Resource Manager of Terraform, om herhaalbare, betrouwbare implementaties te doen.

Ontwikkelen en implementeren zoals je dat wilt

Bepaal zelf welke hulpprogramma's je gebruikt. Een open, end-to-end DevOps-proces is geschikt voor elke keten van hulpprogramma's, inclusief open source hulpprogramma's, voor de gehele workflow. Je kunt Ansible, Docker, Kubernetes of elk ander hulpprogramma gebruiken met Azure.

Azure voor DevOps verkennen

Azure DevOps ServerBlijf in jouw pipeline werken met uw favoriete open source hulpprogramma's en hulpprogramma's van derden. Of kies voor Azure DevOps om jouw end-to-endketen van DevOps-hulpprogramma's in te delen en aan te vullen.

Ontwikkelen

Vereenvoudig het ontwikkelingsproces via de systeemeigen integraties van Azure met Visual Studio en Visual Studio Code. Als je een Java-ontwikkelaar bent, kun je de Azure-werkset gebruiken om te profiteren van de geavanceerde Azure-ervaringen in IDE's van derden, zoals Eclipse en IntelliJ.
Deel code, bouw en verzend software met een onbeperkt aantal Git-opslagplaatsen en gebruik de Agile-methode voor werkbeheer met Azure DevOps. Richt binnen enkele minuten omgevingen voor ontwikkelaars in met DevTest Labs.

Bouwen en testen

Stel CI/CD-pijplijnen in en beheer pakketten met Azure DevOps. Verplaats bestaande Jenkins-builds en -pipelines naar Azure en gebruik invoegtoepassingen voor dynamische agenten om de infrastructuurvereisten en kosten te reduceren.
Maak tijdige levering met hoge kwaliteit mogelijk door DevTest Labs in te zetten voor het instellen en beheer van uw testomgevingen. Bouw, test en verzend iOS-, macOS-, Android- en Windows-apps sneller en met meer vertrouwen door de levenscyclus van de apps te automatiseren met Visual Studio App Center. Test op duizenden echte apparaten, distribueer jouw apps naar bètatesters en App Stores en bewaak het gebruik ervan aan de hand van crash- en analysegegevens.

Implementeren

Via infrastructuur als code worden omgevingsdefinities vastgelegd als declaratieve code, zoals JSON of YAML, zodat inrichting en configuratie kunnen worden geautomatiseerd. Gebruik Azure Resource Manager of Terraform om op een betrouwbare manier duplicaatomgevingen in te richten. Beheer automatisering en configuratie met Azure Automation en hulpprogramma's zoals Ansible, Chef of Puppet.
Automatiseer met Azure DevOps Release Management het testen en leveren van jouw software in meerdere omgevingen, tot aan de productie met goedkeuringsgates. Je kunt ook rechtstreeks vanuit jouw Jenkins-pipelines naar Virtual Machines, Web Apps of Azure Container Service implementeren.

Bewaken en uitvoeren

Bewaak de status van de infrastructuur en integreer deze in bestaande dashboards in Grafana, Kibana of Azure Portal met Azure Monitor. Gebruik Log Analytics om snel logboekgegevens van meerdere locaties te verbinden, te verzamelen en te transformeren tot inzichten en acties. Stel problemen vast en optimaliseer uw toepassing met Application Insights.
Kies voor Azure Policy of Chef Automate om ervoor te zorgen dat in jouw ingerichte infrastructuur en toepassingen voldoen aan de vereisten. En als je daarnaast ook Security Center inzet, beperk je de blootstelling aan dreigingen en kun je snel beveiligingsproblemen opsporen en oplossen.

Consistente DevOps voor de hybride cloud

Azure Stack is een uitbreiding van Azure waarmee je cloudfunctionaliteit kunt gebruiken in on-premises omgevingen. Lever Azure-services vanuit jouw datacentrum met de juiste balans tussen flexibiliteit en controle voor werkelijk consistente hybride cloudimplementaties.

Gebruik Azure DevOps Server om te profiteren van hetzelfde complete pakket met DevOps-services en -mogelijkheden als voor Team Services, maar met de mogelijkheid om alles on-premises uit te voeren.

Gericht investeren in DevOps?

Heb je ondersteuning nodig bij het opzetten of structureel verbeteren van uw DevOps Proces? Bekijk dan eens ons DevOps Program.  Heb je andere vragen of wil je een afspraak, wij gaan graag vrijblijvend met je in gesprek. Vul jouw gegevens in in onderstaand formulier en wij nemen binnen een dag contact met je op.

Meer weten over DevOps?

Contactverzoek

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.
  • Pascal Kruijmel

    Account Manager

    Plan een meeting

      • LinkedIn
      • Mail
      • Telefoon
      • 085 – 487 52 22
        pascalk@delta-n.nl
        Connect met Pascal
        invisible box
  • Blijf volledig op de hoogte