DevOps Introductie voor beginners

DevOps is een modewoord geworden, wat voor veel mensen veel verschillende dingen betekent.


Het is een uitdaging om te begrijpen en te definiëren wat DevOps precies is. En daarom, als je fundamentele concepten van DevOps kent waar de meeste mensen mee associëren en de geschiedenis van hoe het is geëvolueerd, krijg er dan een holistische kijk op.

De oorsprong van DevOps

DevOps is een perfect voorbeeld van agile softwareontwikkeling. Het idee van DevOps kwam voort uit de noodzaak om de verhoogde softwaresnelheid bij te houden en door middel van agile methoden te bereiken. De enorme vooruitgang in de agile cultuur en praktijken van het afgelopen decennium heeft de behoefte aan een meer holistische benadering van de end-to-end levenscyclus van softwarelevering blootgelegd.

U vraagt ​​zich misschien af ​​wat agile softwareontwikkeling is –

Soepele ontwikkeling is een brede term voor het definiëren van verschillende iteratieve en incrementele methodologieën voor softwareontwikkeling. De populaire agile-methodologieën zijn Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development en Extreme Programming (XP).

De kernwaarden en visie van al deze agile methodieken zijn hetzelfde, maar elk met een unieke aanpak. Al deze methodologieën bevatten iteraties en continue feedback om met succes verfijnde software te verfijnen en op te leveren. Al deze methodologieën omvatten doorlopende planning, continue testen, continue integratie en andere eindeloze vormen voor zowel het project als de software.

In tegenstelling tot de conventionele waterval-achtige processen, zijn deze behendige methodologieën licht van gewicht en hebben ze het inherent aanpasbare karakter. Een van de beste dingen van deze agile methodologieën is dat ze allemaal gericht zijn op het versterken van mensen als het gaat om samenwerken en samen snelle beslissingen nemen.

Afbeelding door Segue

De idealen van DevOps voeren de uitgebreide agile ontwikkelingspraktijk uit om de beweging van softwareverandering te verfijnen door de build, validatie, implementatie en verschillende stadia van levering. Het stelt het crossfunctionele team in staat om het volledige eigendom van het softwareproduct te hebben, van ontwerp tot productie.

Uitdagingen opgelost door DevOps

Implementatieproces Gedistribueerde applicaties vereisen vaak dat de binaire en configuratiebestanden op meerdere servers worden geïmplementeerd. Het wordt uitdagender als je een boerderij met servers hebt. Het wordt een uitdaging om erachter te komen wat, hoe en waar te implementeren. Het voor de hand liggende resultaat?

Lang wachten om de artefacten in de volgende omgeving van de route tot leven te brengen, veroorzaakt het uitstellen van alles zoals testen, tijd om te leven, enz..

DevOps staat de software toe of webontwikkelaars en IT-operaties om het proces in te zetten in een samenwerkingssessie die volledig onberispelijk is. Het stelt ons in staat om te verifiëren wat werkt en het vervolgens naar een hoger niveau te tillen met automatisering om continue ontwikkeling te implementeren. Het creëert ook mogelijkheden voor meer frequente ontwikkeling.

DevOps-doelstellingen

Het verbetert de samenwerking tussen belanghebbenden van planning tot levering en implementeert automatisering van het leveringsproces om:

  • Verbeter de frequentie van de implementatie
  • Bereik een snellere tijd om het eindproduct op de markt te brengen
  • Verlaagt het faalpercentage van nieuwe releases
  • Het verkort de doorlooptijd tussen fixes
  • Verbetert de tussentijd voor het herstel

Algemeen DevOps-scenario

De hele software komt naar het ontmoetingspunt voordat een nieuw softwareproject wordt gestart. Het team is opgebouwd uit ontwikkelaars, testers, operationele en ondersteunende professionals. Het team maakt het plan voor het maken van een volledig functionele software die klaar is voor de implementatie.

Elke dag wordt nieuwe code geïmplementeerd zodra de ontwikkelaars deze hebben voltooid. De geautomatiseerde testprocedure zorgt ervoor dat de code klaar is om te worden geïmplementeerd. Zodra de code het groene signaal krijgt van het automatiseringstestproces, wordt deze geïmplementeerd bij een klein aantal gebruikers. De code wordt korte tijd gecontroleerd om er zeker van te zijn dat er geen onvoorziene problemen zijn en is stabiel. De nieuwe code wordt vervolgens geïmplementeerd bij de rest van de gebruikers zodra de laatste monitoring heeft aangetoond dat de code stabiel is. Een aanzienlijk deel van de stappen na planning en ontwikkeling wordt uitgevoerd zonder menselijke tussenkomst.

Verschillende fasen van DevOps-volwassenheid

Er zijn veel verschillende fasen van DevOps-volwassenheid. Hier zijn de belangrijkste zinnen die u moet kennen.

Watervalontwikkeling

Vóór de tijd van voortdurende integratie schreven ontwikkelteams een enorme hoeveelheid code en vervolgens werden die van verschillende teams samengevoegd voor het vrijgeven. De versies van de code waren zo verschillend dat ze vroeger een groot aantal wijzigingen vereisten.

Het aanbrengen van deze aantallen wijzigingen duurde langer dan een paar maanden. Dit proces was niet productief.

Continue integratie

Het is een gewoonte om een ​​nieuw ontwikkelde code zo snel mogelijk te integreren met de belangrijkste code die moet worden vrijgegeven. Als het gaat om het vrijgeven van de code, helpt continue ontwikkeling om veel tijd te besparen.

DevOps heeft deze term niet geïntroduceerd. Continue integratie is een agile engineeringpraktijk die voortkomt uit de Extreme Programming-methodologie. DevOps heeft deze praktijk overgenomen omdat automatisering vereist is als het gaat om het succesvol uitvoeren van continue integratie. Continue integratie is vaak de eerste op weg naar volwassenheid van DevOps.

De continue integratie vanuit het perspectief van DevOps omvat de stappen zoals het controleren van de code, het compileren in bruikbare code en het uitvoeren van enkele van de noodzakelijke validatietests. ‘

Doorlopende levering

Het is een verlengstuk van continue integratie en tevens de tweede fase van DevOps.

Met continue levering kunt u extra automatisering en testen toevoegen. Zodat u niet alleen de code snel met de belangrijkste coderegel samenvoegt, maar ook de code bijna klaar maakt om te implementeren zonder menselijke tussenkomst.

Het is een gewoonte om uw codebase in een bijna gebruiksklare staat te houden.

Continue implementatie

Continue implementatie is de geavanceerde evolutie van continue levering. Deze praktijk stelt ons in staat om alle manieren in productie te zetten zonder enige menselijke tussenkomst.

Het team dat aan continue ontwikkeling werkt, implementeert nooit code zonder te testen. Alle nieuw gemaakte code wordt geautomatiseerd getest voordat deze in de productiefase komt. De code wordt geïmplementeerd bij een klein aantal gebruikers en er is een geautomatiseerde feedbacklus die de kwaliteit en het gebruik bewaakt voordat de code naar het volgende niveau gaat.

Er is een klein aantal bedrijven zoals Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU en Google, enz. Die zich continu ontwikkelen.

De waarde

DevOps richt zich sterk op het ontwikkelen van een samenwerkingscultuur en het verbeteren van de efficiëntie door automatisering met verschillende DevOps-tools. Om DevOps voor uw softwareoplossing te implementeren, moet u de combinatie van zowel cultuur als tools gebruiken.

DevOps-cultuur

De DevOps is een bepaalde cultuur die helpt om de samenwerking te verbeteren, de chaos te verminderen, gedeelde verantwoordelijkheden op een betere manier te behandelen, automatisering, kwaliteitsverbetering, feedbackwaardering en automatisering te implementeren.

Agile-methoden zijn altijd de beste holistische manier geweest om software te leveren. Als het gaat om het meten van de voortgang, doet het agile ontwikkelteam het in termen van werkende software. Dankzij de flexibele methode van de DevOps-cultuur kunnen producteigenaren, ontwikkelaars, testers en UX-mensen nauw samenwerken met hetzelfde doel voor ogen.

DevOps-tools

Bevat de tools voor configuratiebeheer, testen en bouwen van systemen, ontwikkelen van applicaties, besturen van versies en, monitoring. Als het gaat om het implementeren van continue integratie, continue levering en continue implementatie, hebben ze verschillende tools nodig en tegelijkertijd gebruiken ze dezelfde tools. U zult meer tools moeten gebruiken naarmate u verder komt in de leveringsketen.

Laten we enkele van de populaire tools en praktijken kennen.

Broncode-opslagplaats – dit is een plek waar ontwikkelaars kunnen inchecken en de code kunnen wijzigen. De broncoderepository beheert verschillende versies van de code die is ingecheckt, zodat het ervoor kan zorgen dat ontwikkelaars over elkaars code schrijven.

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse, etc. zijn enkele van de populaire coderepository-tools.

Bouw server: – de build-server is de automatiseringstool die wordt gebruikt om de code in broncode respiratory in de uitvoerbare codebasis te compileren. Enkele van de meest gebruikte tools voor build-servers zijn Jenkins, SonarQube, Artifactory.

Configuratiebeheer – Puppet, Chef, Ansible, SaltStack, Run Deck, etc. helpt bij het beheren van de configuratie voor applicatie en infrastructuur om de consistentie tussen omgevingen te behouden.

Virtuele infrastructuur – AWS, GCP, Azure is de top drie van openbare cloudproviders die bijna alle infrastructuurdiensten aanbieden. Ze bieden een API waarmee u de infrastructuur kunt inrichten en beheren als een code.

Conclusie

Ik hoop dat het je een idee geeft over DevOps en als dit je opwindt, dan kun je deze online masterclass proberen Cursus.

Artikel door Payal Goyal

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map