DevOps

DevOps helpt bij het sneller naar de markt brengen van software, zonder verlies van kwaliteit.

  • Wat is DevOps?
  • Wat zijn de voordelen?
  • Wat voor tools zijn er?

Wat is DevOps?

DevOps staat letterlijk voor het samenbrengen en optimaliseren van ontwikkeling (Dev) en operaties (Ops). Dit procesmodel beoogt ontwikkeling, kwaliteitsborging en exploitatie samen te laten smelten tot een continue eenheid van processen. Deze methodologie is daarom een essentiële uitbreiding van de agile ontwikkeling systematiek en continuous delivery.

DevOps is tegenwoordig een van de meest besproken onderwerpen in de agile softwareontwikkelingswereld. Veel marktleiders gebruiken DevOps om softwareontwikkeling en QA-processen te optimaliseren. Het gebruik van DevOps verhoogt de prestaties, het zakelijk succes en het concurrentievermogen van uw bedrijf. Addcode heeft specialisten op dit gebied, die u kunnen ondersteunen bij het optimaliseren van uw DevOps. Als eerste stap kan advies van een Addcode DevOps-ingenieur uitkomst bieden.

Welke voordelen kan DevOps u opleveren?

Wanneer u geen gebruikmaakt van DevOps, krijgt u te maken met vertraagde time-to-market, kwaliteitsproblemen en moeilijkheden in wendbaarheid en communicatie tussen ontwikkelteams.

De inzet van DevOps voorkomt deze problemen. De voordelen die dit u oplevert zijn:

  • Snelheid en kwaliteit. Door continue levering (Continuous Integration) van software toe te passen wordt de oplevering van software versneld. Door het snelle geven van feedback ontdekken ontwikkelaars fouten in het systeem in een vroeg stadium, waardoor ze deze sneller kunnen oplossen. Hierdoor kan het team zich focussen op de kwaliteit van het product en kunnen een aantal van deze processen worden geautomatiseerd.
  • Zakelijke voordelen. Met DevOps kan een team sneller reageren op veranderingen in de markt, nieuwe functies ontwikkelen en bestaande functies verbeteren. Dit versnelt de time-to-market en verbetert de waardering van de oplossingen.
  • Beter voor uw organisatie. DevOps is vooral gericht op het stimuleren van samenwerking tussen verschillende mensen en groepen binnen organisaties. DevOps-principes en -praktijken leiden tot betere communicatie tussen teamleden, evenals tot verhoogde productiviteit en flexibiliteit. Teams die DevOps gebruiken, blijken productiever en multidisciplinair te zijn.

Continuous Integration (CI) en Continuous Delivery (CD)

    Een belangrijke pijler van DevOps die onze experts hanteren is CI/CD. Dit proces doorloopt een continue proces van stappen, waardoor de kwaliteit van de opgeleverde producten continue wordt verbeterd voor oplevering. Development en operations aan de hand van CI/CD ziet er als volgt uit:

    1. Softwareontwikkelaars schrijven meerdere keren per dag code in kleine blokjes zodat het gemakkelijk kan worden getest.
    2. Continu geautomatiseerd testen en integreren. Een kwaliteitsbewakingsteam bepaalt hoeveel code moet worden getest met automatiseringstools zoals Selenium, Ranorex, UFT, etc. De integratie (Continuous Integration) gebeurt met behulp van specifieke tools zoals Jenkins, GitLab CI, Bamboo en TeamCity.
    3. CD – Continuous Deployment. In dit stadium wordt de geteste code opgeleverd om in productie te gaan. Ook hierbij kan automatisering van deze processen een rol spelen. Er zijn verschillende geautomatiseerde tools die ontwikkelaars kunnen gebruiken voor nieuwe releases, zoals Chef, Puppet, Azure Resource Manager en Google Cloud Deployment Manager.
    4. Continuous Feedback.  De laatste fase van de DevOps-levenscyclus is de algehele bewaking van het proces en de terugkoppeling naar de softwareontwikkeling. Problemen kunnen worden geïdentificeerd en de feedback van het team en de gebruikers wordt geanalyseerd om eventuele onjuistheden te melden. Door dit terug te koppelen aan de ontwikkelaars, kan het product continue verbeterd worden.

    Door dit proces continue te doorlopen en voor een groot deel te automatiseren door middel van testautomatisering en geautomatiseerde testen, is het mogelijk om sneller te werken en de kwaliteit van de applicatie te verbeteren. Dit gaat op basis van continue implementatie voor zowel oude als nieuwe software.

     

    Welke tools gebruiken wij bij het creëren van een geautomatiseerde release-pijplijn?

    Bij Addcode maken we gebruik van een aantal tools die de DevOp van uw software ontwikkeling efficiënt automatiseren, leveren en monitoren. Voorbeelden hiervan zijn:

    • Als Continuous Integration tool wordt de open source automatiseringstool Jenkins voornamelijk gebruikt. Met behulp hiervan wordt de integratie van veranderingen in een softwareontwikkelingsproject vereenvoudigd.
    • Docker vereenvoudigt de levering van applicaties met behulp van containers. Containers, die alle benodigde pakketten bevatten, kunnen gemakkelijk als bestanden worden getransporteerd en geïnstalleerd. Containers zorgen voor de scheiding en het beheer van bronnen die op een computer worden gebruikt, bijv. Code, runtime-modules, systeemtools, systeembibliotheken, oftewel alles wat op een computer kan worden geïnstalleerd.
    • Kubernetes. Deze term komt oorspronkelijk uit het Grieks en betekent zoiets als “stuurman”. Kubernetes regelt de administratie, monitoring en communicatie tussen individuele containers, van waaruit bijvoorbeeld een cloud-applicatie wordt opgezet, een nieuwe versie wordt geïnstalleerd en waarmee hun functionele afhankelijkheden worden gestuurd.

    Continue integratie van de verschillende disciplines in plaats van geïsoleerde disciplines, zorgen voor een verbeterde samenwerking en uiteindelijk efficiënte en kwalitatieve softwareontwikkeling.

    • Snellere time-to-market
    • Continue verbetering van kwaliteit
    • Automatisering van processen

    Nog meer ondersteuning bij de kwaliteit van uw software

    Technosoft - Bas Strijker
    Bas Strijker – manager operations Addcode

    “Wij hebben altijd al voorop gelopen bij het implementeren en integreren van DevOps in onze softwareontwikkelings- en kwaliteitsborgingsprocessen. Wij delen onze kennis en ervaring graag met onze klanten en andere geïnteresseerden. Onze DevOps-ingenieurs hebben een goede reputatie opgebouwd en geven regelmatig presentaties op congressen (zie onder).

    Wat doet een DevOps-ingenieur in de praktijk?

    Onze experts houden zich dagelijks bezig met:

    • Inventariseren van de bestaande automatiseringstools en programmeertalen die al in de ontwikkeling worden gebruikt.
    • Introductie en automatisering van workflows voor Continuous Delivery en Integration, rekening houdend met de bestaande tools en programmeertalen.
    • Opstellen van specificaties en documentatie.
    • Infrastructuurbeheer.
    • Scripting, codering en deelname aan productontwikkeling.
    • DevOps-ingenieur moet tegelijkertijd een teamspeler en teamleider zijn, aangezien de  DevOps-cultuur is gebaseerd op communicatie en samenwerking.

    Wat zijn de vereisten voor Addcode DevOps-ingenieurs?

    Addcode heeft een aantal vereisten opgesteld voor de DevOp-ingenieurs. Zo leveren we u de beste expertise van de markt:

    • Een gedegen technische achtergrond.
    • Ervaring met DevOps-gerelateerde automatiseringstools.
    • Uitstekende programmeervaardigheden.
    • Uitgebreide kennis van databasesystemen.
    • Goede sociale en communicatieve vaardigheden

    dutch business cases in Moldova