Wat is DevOps?

In DevOps worden mensen, processen en technologieën samengebracht om klanten continu waarde te kunnen leveren. DevOps, een samenstelling van dev (development; ontwikkeling) en ops (operations; beheer), is een manier van software ontwikkeling waarbij de ontwikkel- en beheeractiviteiten worden gekoppeld. Dit vereist coördinatie en samenwerking tussen verschillende, voorheen geïsoleerde disciplines. Kwaliteitscontroles en beveiligingsteams maken in het DevOps-model ook deel uit van het bredere team.

DevOpsDe acht fasen van het DevOps proces

DevOps omvat een continu proces waarin acht ‘fasen’ 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 uw applicatie. Processen die voorheen handmatig door uw teams moesten worden uitgevoerd en veel tijd in beslag namen kunnen snel en continu worden uitgevoerd wanneer u de DevOps hulpmiddelen en procedures hanteert. Denk hierbij bijvoorbeeld aan het bijwerken van code of het inrichten van een nieuwe omgeving, 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.

Dit geeft aan waarom veel bedrijven op dit moment hiermee een start willen maken of hier nog beter in willen worden. De concurrentie is vaak hevig, 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 en versnelt de softwarelevering. DevOps maakt uw processen en producten betrouwbaarder. Wanneer u DevOps-technologieën en -methoden implementeert, levert u sneller waarde voor uw 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.

Hoe breng ik DevOps in de praktijk

Om producten snel op de markt te kunnen brengen doorlopen de cross-functionele teams de 8 fasen 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 u code incheckt in Git of een ander versiebeheersysteem, wordt er een geautomatiseerd buildproces voor gestart. De code wordt getest en gevalideerd 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 u 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 uw 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 uw app. Realiseer een hoge beschikbaarheid door onmiddellijk geavanceerde diagnostische gegevens te genereren op basis waarvan uw 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 u zeker dat de apps die u 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 uw apps in de cloud te ontwikkelen en te laten draaien. De ontwikkelaarservaring van Azure DevOps wordt geïntegreerd met de hulpprogramma's van uw keuze. Bent u Java-ontwikkelaar? Prachtig! Azure biedt namelijk systeemeigen integraties met Eclipse. Als u met Jenkins bouwt, kunt u deze automatiseringsserver gebruiken om rechtstreeks naar Azure te implementeren. Laat uw 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 uw vaardigheden, processen en hulpprogramma's in de omgeving waarin u uw 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 u 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 kunt u 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 u dat wilt

Bepaal zelf welke hulpprogramma's u 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. U kunt Ansible, Docker, Kubernetes of elk ander hulpprogramma gebruiken met Azure.

Azure voor DevOps verkennen

Azure DevOps ServerBlijf in uw pipeline werken met uw favoriete open source hulpprogramma's en hulpprogramma's van derden. Of kies voor Azure DevOps om uw 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 u een Java-ontwikkelaar bent, kunt u 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 uw 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 uw software in meerdere omgevingen, tot aan de productie met goedkeuringsgates. U kunt ook rechtstreeks vanuit uw 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 uw ingerichte infrastructuur en toepassingen voldoen aan de vereisten. En als uw daarnaast ook Security Center inzet, beperkt u de blootstelling aan dreigingen en kunt u snel beveiligingsproblemen opsporen en oplossen.

Consistente DevOps voor de hybride cloud

Azure Stack is een uitbreiding van Azure waarmee u cloudfunctionaliteit kunt gebruiken in on-premises omgevingen. Lever Azure-services vanuit uw 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?

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

Meer weten over DevOps?

Contactverzoek

  • Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.
  • Miquel Asmus

    Account Manager

      • LinkedIn
      • Mail
      • Telefoon
      • 085 – 487 52 20
        miquela@delta-n.nl
        Connect met Miquel
        invisible box
  • Blijf volledig op de hoogte