Trace Id is missing
Naar hoofdinhoud gaan

DevOps-zelfstudie - introductie

Zelfstudie: het softwareleveringsproces verbeteren met DevOps

Er zijn veel verschillende fasen, concepten en onderdelen in DevOps, en deze DevOps-zelfstudie is ideaal om te leren wat DevOps is en hoe je je softwareleveringsproces ermee kunt verbeteren.

Inzicht krijgen in DevOps

We beginnen deze DevOps-zelfstudie met het introduceren van diverse basisdefinities om je inzicht te geven in wat DevOps is en hoe DevOps zich verhoudt tot je algemene softwareontwikkelingsproces.

  • DevOps is een softwareontwikkelingsmethode waarmee de samenwerking tussen ontwikkeling en operations wordt bevorderd, wat leidt tot een snellere en betrouwbaardere softwarelevering. Met DevOps, dat algemeen wordt beschouwd als een cultuur, worden mensen, processen en technologieën met elkaar verbonden voor een continue waardelevering.

    Meer informatie over DevOps

  • Het softwareontwikkelingsproces kan zeer handmatig zijn, wat kan leiden tot een aanzienlijk aantal codefouten. Ontwikkel- en operationsteams werken vaak langs elkaar heen, waardoor de softwarelevering kan worden vertraagd en belanghebbenden van het bedrijf teleurgesteld kunnen raken. DevOps zorgt voor efficiëntie binnen alle taken die horen bij de ontwikkeling, implementatie en het onderhoud van software.

    Het verbinden van ontwikkeling en operations leidt tot verbeterde zichtbaarheid, nauwkeurigere vereisten, betere communicatie en snellere introductie op de markt.

  • Met DevOps wordt de kloof tussen ontwikkeling en operations overbrugd, waardoor de efficiëntie tussen de ontwikkeling en implementatie van software aanzienlijk wordt verbeterd. Bij DevOps wordt sterk de nadruk gelegd op automatisering, waardoor het algemene aantal fouten kan worden beperkt.

  • De filosofie van DevOps is het nemen van end-to-end verantwoordelijkheid binnen alle aspecten van het project. In tegenstelling tot traditionelere softwareontwikkelingsmethoden, wordt met DevOps de kloof tussen ontwikkel- en operationsteams overbrugd. Deze overbrugging ontbreekt vaak, waardoor het softwareleveringsproces sterk kan worden belemmerd.

    De kloof tussen het ontwikkelteam en het operationsteam kan leiden tot problemen en ondoelmatigheden bij de sofwarelevering. Dankzij het uitgebreide framework van DevOps voor het ontwikkelen en uitbrengen van software wordt deze kloof overbrugd.

  • DevOps als Agile zijn beide softwareontwikkelingsmethoden, maar hebben een iets andere focus. DevOps is een cultuur die is gericht op het bevorderen van de efficiëntie voor alle belanghebbenden die betrokken zijn bij de ontwikkeling, de implementatie en het onderhoud van software. Agile is een lean manufacturing-proces dat een productieframework voor softwareontwikkeling biedt. Agile is vaak specifiek voor het ontwikkelteam, terwijl het bereik van DevOps zich uitstrekt tot alle belanghebbenden die betrokken zijn bij de productie en het onderhoud van software. Bij elkaar vormen DevOps en Agile een uiterst efficiënte omgeving voor softwareontwikkeling.

Je DevOps-leerproces verdiepen met deze taken

Elke sectie in deze DevOps-zelfstudie bevat een aantal taken om verder te komen met het creëren van een DevOps-werkwijze. Neem even de tijd om de volgende vragen te beantwoorden:

  • Welke uitdagingen bent u zoal tegengekomen bij de ontwikkeling en implementatie van software?
  • Welke gebieden van de ontwikkeling en implementatie van software wil je efficiënter maken?

De basisprincipes van de DevOps-werkwijze

Nu willen we inzicht geven in de belangrijkste concepten van de DevOps-werkwijze. In deze sectie van het DevOps-handboek worden de hoofdonderdelen uitgelegd en verhelderd.

  • Agile-ontwikkeling wordt algemeen gebruikt door softwareteams en is een leveringsaanpak die verwant is aan lean manufacturing. De ontwikkeling vindt plaats in korte, incrementele sprints. Hoewel er verschillen zijn met DevOps, sluiten de twee benaderingen elkaar niet uit. Met Agile-procedures en -hulpprogramma's kan de efficiëntie binnen het ontwikkelteam worden verbeterd, wat bijdraagt aan de algehele DevOps-cultuur.

    Aan de slag met Agile-planning met behulp van Azure Boards

  • Voor een team dat samenwerkt, is versiebeheer een essentieel onderdeel van nauwkeurige, efficiënte softwareontwikkeling. In een versiebeheersysteem — zoals  Git — wordt een momentopname van je bestanden gemaakt, waardoor je op elk gewenst moment terug kunt keren naar elke gewenste oudere versie. Met een versiebeheersysteem kun je erop vertrouwen dat er geen conflicten optreden met de wijzigingen waaraan je werkt.

    Beginnen met het gebruik van versiebeheer met Azure Repos

  • Continue integratie is het proces van het automatiseren van builds en testprocessen als de code is voltooid en deze wordt doorgevoerd in het systeem. Zodra de code is doorgevoerd, wordt deze automatisch gevalideerd. Vervolgens wordt alleen geteste en gevalideerde code opgenomen in de hoofdbroncode, ook wel de master branch of trunk genoemd. Met continue integratie wordt dit proces geautomatiseerd, wat leidt tot aanzienlijke efficiëntieverbetering. Fouten worden vroegtijdig geïdentificeerd, namelijk voordat de code wordt toegevoegd aan de master branch.

    Beginnen met het implementeren van continue integratie met Azure Pipelines

  • Continue levering is de fundamentele werkwijze binnen DevOps waarmee software snel en betrouwbaar kan worden geleverd. Hoewel het proces lijkt op het overkoepelende concept van DevOps, is continue levering het framework waarin elk codeonderdeel bij voltooiing wordt getest, gevalideerd en doorgevoerd, waardoor op elk gewenst moment software kan worden geleverd. Continue integratie is een proces dat deel uitmaakt van continue levering.

    Beginnen met het implementeren van continue levering met Azure Pipelines

  • De inrichting en configuratie van resources, on premises of in de cloud, vormen een hoofdonderdeel van omgevingsbewerkingen. Via procesautomatisering en het gebruik van hulpprogramma's die een declaratieve infrastructuurdefinitie bieden, bijvoorbeeld op tekst gebaseerde definitiebestanden, kunnen teams resources op een betrouwbare, herhaalbare manieren implementeren en configureren. De op tekst gebaseerde definitiebestanden kunnen als code worden beheerd met versiebeheer, waardoor eenvoudige terugdraaiacties mogelijk zijn en omgevingen opnieuw kunnen worden gemaakt en kunnen worden afgebroken. Technologieën als Terraform en Ansible zijn algemene oplossingen voor de implementatie van infrastructuur als code.

    Infrastructuur in Azure maken met behulp van Terraform

    Meer informatie over het gebruik van Ansible met Azure

  • De verantwoordelijkheid van DevOps blijft niet beperkt tot de ontwikkeling van software, maar strekt zich uit tot de levering, waaronder ook de prestaties van de software vallen. Met het hele DevOps-proces wordt een feedbacklus gemaakt, waardoor uiteindelijk gegevenspunten ontstaan waarmee een toekomstig project kan worden verbeterd en het besluit om de software te implementeren kan worden gevalideerd. Bewaking en logboekregistratie zijn belangrijke elementen voor de ondersteuning van gevalideerd leren, dat vervolgens ondersteuning biedt voor het algemene initiatief om consistent te streven naar een efficiënter softwareontwikkelings- en leveringsproces.

    Meer informatie over het verzamelen en analyseren van telemetriegegevens met Azure Monitor

  • In de gehele levenscyclus worden feedback en telemetriegegevens verzameld om op basis daarvan beslissingen te nemen voor de volgende cyclus. Deze informatie wordt gevalideerd leren genoemd. Gevalideerd leren helpt inzicht te bieden in nieuwe manieren om de inspanningstijd per cyclus te beperken. De verzamelde gegevens worden vervolgens gebruikt om manieren te vinden om de mate van automatisering te verhogen, processen te verbeteren en de implementatie sneller en efficiënter voor te bereiden.

Je DevOps-leerproces verdiepen met deze taken

Neem even de tijd om de volgende vragen te beantwoorden nu dat je hebt geleerd wat de belangrijkste concepten van een DevOps-werkwijze zijn:

  • Welke onderdelen van uw ontwikkelingsproces zijn handmatig en zijn te verbeteren door automatisering?
  • Zijn er mogelijkheden om continue integratie te introduceren in het bouwproces van uw team?
  • Hoe wordt de infrastructuur momenteel beheerd in uw team? Is het proces herhaalbaar en betrouwbaar of kan het worden verbeterd door infrastructuur als code te gebruiken?
  • Welke telemetriegegevens zijn te gebruiken voor uw werk?
  • Door welke andere gegevenspunten kan gevalideerd leren worden ondersteund?

Je DevOps-cultuur creëren

Het volgende deel van deze DevOps-zelfstudie gaat over het creëren van een DevOps-cultuur. Als u voorbereidingen treft om DevOps in uw bedrijf in te voeren, komt u ongetwijfeld verschillen tegen ten opzichte van de huidige manier waarop u software levert.

Het creëren van een nieuwe cultuur gaat niet van de ene dag op de andere en is niet zo eenvoudig als het kopen van een nieuwe set hulpprogramma's. Mogelijk moet je wijzigingen aanbrengen in de huidige structuren, werkstromen en gewoonten van je team om de leden in staat te stellen DevOps te leren kennen en ermee te werken.

Ontdek hoe Microsoft een DevOps-cultuur heeft gecreëerd

Je DevOps-leerproces verdiepen met deze taken

Elke sectie in deze DevOps-zelfstudie bevat een aantal taken om verder te komen met het creëren van een DevOps-werkwijze. Neem even de tijd om de volgende vragen te beantwoorden:

  • Welke uitdagingen bent u zoal tegengekomen bij de ontwikkeling en implementatie van software?
  • Welke gebieden van de ontwikkeling en implementatie van software wil je efficiënter maken?

Aan de slag met Azure DevOps

Lever software sneller en betrouwbaarder met een moderne set ontwikkelingsservices. Plan slimmer, werk beter samen en verzend sneller: gebruik alle DevOps-functies of kies de opties die geschikt zijn voor jou.