devops tutorial ultimate guide devops
Dit is een complete DevOps-tutorialserie van 25+ tekst- en videohandleidingen die alle aspecten van de DevOps behandelen, zoals Wat is DevOps, DevOps-principes en de architect.
Lijst met tutorials in DevOps Training Series
# 1) Inleiding tot DevOps (Deze tutorial)
#twee) DevOps en softwaretests
DevOps VIDEO-zelfstudies:
# 3) Video-instructie 1: DevOps achtergrond, definitie, waarde, voordelen, gewoonten en best practices
- Deel 1 Blok 1 - DevOps ontraadselen
# 4) Videozelfstudie 2: DevOps-praktijken op basis van de Agile-principes, bronbeheer en DevOps-automatisering
Deze video-tutorial is onderverdeeld in 6 blokken:
- Deel 2 Blok 1 - DevOps Practice gebaseerd op Agile Manifesto
- Deel 2 Blok 2 - Bron- en versiebeheer in DevOps
- Deel 2 Blok 3 - Automatisering in DevOps
- Deel 2 Blok 4 - Kleine hoeveelheden leveringen in DevOps
- Deel 2 Blok 5 - Samenwerking in DevOps Teams
- Deel 2 Blok 6 - Hoe u samenwerking in DevOps Teams ontwikkelt
# 5) Video-instructie 3: DevOps verwerkt continue integratie, continu testen en continue levering
Deze video-tutorial is onderverdeeld in 4 blokken:
- Deel 3 Blok 1 - Continue integratie in DevOps
- Deel 3 Blok 2 - Continue levering in DevOps
- Deel 3 Blok 3 - Continue implementatie in DevOps
- Deel 3 Blok 4 - Continu testen in DevOps
# 6) Video-instructie 4: DevOps-configuratiebeheer en live monitoring van applicatieprestaties
Deze video-tutorial is onderverdeeld in 3 blokken:
- Deel 4 Blok 1 - Configuratiebeheer in DevOps-praktijken
- Deel 4 Blok 2 - Releasebeheer in DevOps
- Deel 4 Blok 3 - Monitoring van applicatieprestaties in DevOps
# 7) Video-instructie 5: Samenvatting van de hele cursus.
- Deel 5 Blok 1 - Samenvatting van DevOps-videotutorials
Tekstlessen:
# 8) Shift naar links testen
# 9) Hoe u de softwarekwaliteit kunt verbeteren door middel van continue integratie
# 10) Continu leveringsproces
DevOps-tools:
#elf) DevOps-tools
# 12) Installatie en configuratie van veelgebruikte open source DevOps-tools
# 13) Beste tools voor continue integratie
# 14) Toptools voor continue levering
Microsoft VSTS-zelfstudie:
#vijftien) Microsoft VSTS deel 1
# 16) Microsoft VSTS deel 2
AWS DevOps-tools:
# 17) AWS DevOps Tools Deel 1 (CodeCommit)
# 18) AWS DevOps Tools Deel 2 (CodeBuild)
# 19) AWS DevOps Tools deel 3 (CodeDeploy)
#twintig) Implementatie van .NET-webtoepassingen met behulp van AWS Elastic Beanstalk
Ansible voor DevOps:
#eenentwintig) Ansible Deel 1: Installatie en configuratie
# 22) Ansible Deel 2: Taakautomatisering met Playbooks
# 2. 3) Ansible Part 3: Ansible Roles en integratie met Jenkins
# 24) Integratie van Jenkins met Selenium
# 25) Hudson Continuous Integration Tool
# 26) DevOps-serviceproviderbedrijven
# 27) DevOps sollicitatievragen
Laten we beginnen met de eerste tutorial in deze serie.
Wat je leert:
- Inleiding tot DevOps
- Overzicht van Agile en DevOps
- Gaat DevOps alleen over Tools?
- Onderdelen van DevOps
- Overzicht
- Aanbevolen literatuur
Inleiding tot DevOps
DevOps gaat niet alleen over tools, maar het bevat ook een reeks best practices die het mogelijk maken om de kloof tussen de ontwikkelings- en operationele teams op het gebied van continue integratie en implementatie te overbruggen door een geïntegreerde set tools te gebruiken om de softwarelevering te automatiseren.
hoe u een .xml-bestand opent
Het is absoluut noodzakelijk dat de ontwikkelaars de operationele kant begrijpen en vice versa. Het doel van DevOps is dus simpelweg om elke organisatie te helpen bij het snel leveren van applicaties aan de eindgebruikers en het mogelijk maken van snellere feedback van eindgebruikers, wat vandaag de dag nodig is voor elk bedrijf.
Overzicht van Agile en DevOps
Er is geen verschil tussen Agile en DevOps. In plaats daarvan vullen ze elkaar aan. Laten we beginnen met het Watervalmodel te bekijken, waar alle vereisten zijn bevroren, en ontwerp en ontwikkeling achter elkaar worden uitgevoerd totdat een stabiel product beschikbaar is.
Het probleem hier is dus dat als er in dit stadium een verandering in de behoefte van de klant is, er geen manier is om de veranderde behoefte op te nemen en te leveren.
Om het probleem van het aanpassen aan de behoeften van de klant beter aan te pakken dan bij de watervalmethode, was Agile-adoptie. Het idee hier was om software te ontwikkelen in kleinere sprints of iteraties, zeg ongeveer 2 tot 3 weken, die de ontwikkelingsteams hielp om aan de feedback van de eindgebruiker te werken en de wijzigingen in de nieuwere releases op te nemen.
Daarom moeten ontwikkelings- en operatieteams agile zijn in hun werkterrein enDevOpswerd geboren om een betere samenwerking tussen hen mogelijk te maken.
Agile brengt processen zoals XP, SCRUM enz. En DevOps brengt praktijken met zich mee zoals continue integratie, continue levering, continu testen en continue monitoring, die we in detail zullen zien naarmate we verder gaan in deze tutorial.
Gaat DevOps alleen over Tools?
In zekere zin zou je kunnen zeggen dat je tools nodig hebt om DevOps te implementeren. Het is waar, maar tools zijn slechts versnellers.
Maar eigenlijk gaat het om de volgende 3 aspecten:
Mensen Het is erg belangrijk om te trainen en een zeer gemotiveerd team van mensen te hebben om effectief te kunnen communiceren en samenwerken tijdens deze hele reis van culturele verandering.
Werkwijze: Aangezien we het hebben over culturele verandering voor de implementatie van DevOps, is het zeer noodzakelijk om werkwijzen en strategieën te hebben die waarde toevoegen aan de klant. Een goede manier om dit te doen, is door een AS-IS-volwassenheidsbeoordeling uit te voeren, lacunes te bekijken en een stappenplan voor de uitvoering van passende aanbevelingen voor te stellen.
Ik zal niet diepgaand ingaan op hoe ik deze assessments heb gedaan, maar ik zal graag alle input hierover delen.
Gereedschap: Ten slotte gaat het om het gebruik van de versnellers door het proces te automatiseren met behulp van standaard DevOps-tools die vandaag beschikbaar zijn. Het kan Open-Source (Jenkins, Git etc.), Commercial (Microsoft TFS, VSTS, IBM Rational, Jira etc.) of een combinatie van beide zijn.
Onderdelen van DevOps
Ik hoop dat je nu een idee zou hebben van wat DevOps is.
Laten we nu eens kijken naar de volgende 4 componenten van DevOps die de kern vormen vanuit het oogpunt van implementatie en ook de organisaties hebben goede automatiseringsraamwerken ontwikkeld rond hetzelfde aanbieden als een service aan hun klanten.
- Continue integratie
- Continu testen
- Continue levering
- Continu toezicht
Ik heb echt geloofd dat als een ontwikkelaar in deze modus moet werken, er een uitvoeringsitem zoals een taak of een defect (in Agile kan het een onderdeel van een gebruikersverhaal zijn) aan hem moet worden toegewezen om hem in staat te stellen het werk binnen het tijdsbestek van de sprint.
Dus zelfs voordat de hierboven genoemde stappen kunnen worden geïmplementeerd, moeten deze ontwikkelaarstaken of -defecten in een Sprint worden gepland. Dus tools zoals JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS etc. helpen bij het maken van de Agile Release / Sprint-plannen.
Laten we nu elk van deze componenten in detail bekijken.
# 1) Continue integratie
Als ontwikkelaar werk je aan de taken of defecten die zijn toegewezen en check je de code meerdere keren per dag in op een gedeelde repository. Op dezelfde manier checken de andere leden van het team de code ook in bij de gedeelde repository.
Je integreert dan daadwerkelijk al het werk van de teamleden in een gemeenschappelijke build-server en voert een geautomatiseerde build uit. Het regelmatig uitvoeren van deze integraties en geautomatiseerde builds wordt Continuous Integration genoemd.
Deze praktijk helpt om problemen zeer vroeg op te sporen en zorgt er ook voor dat alle modules die zijn geïntegreerd, werken zoals vereist. Dus als u deze aanpak niet volgt, kan de integratie van het werk van het team eens per maand plaatsvinden, wat te laat kan zijn om integratieproblemen op te sporen en op te lossen.
Voorbeeld van een continue integratieworkflow:
# 2) Continue levering
Continuous Delivery is de volgende stap na continue integratie. Het doel van Continuous Delivery is om de ingebouwde applicatie zo snel mogelijk in productie te brengen. Tijdens dit proces doorloopt het verschillende fasen in de levenscyclus van levering, d.w.z. QA, Staging, Productieomgevingen enz.
Dit proces van het regelmatig afleveren van de applicaties die in verschillende fasen zijn ingebouwd, staat bekend als Continuous Delivery.
Continue levering helpt bij een snellere time-to-market in vergelijking met traditionele methoden, minder risico, verlaging van de kosten door meer automatisering in het releaseproces aan te moedigen en vooral snellere feedback van de eindgebruikers om een kwaliteitsproduct te produceren.
Uit mijn ervaring heb ik gezien dat dit proces prima werkt voor elke vorm van webapplicatie-ontwikkeling.
Ik heb ook behoorlijk wat assessments gedaan op DevOps-implementaties voor organisaties in de semiconductor-business, maar vanwege hun bestaande release cyclus dit gebied van Continuous Delivery lijkt er niet in te passen, aangezien het meer een watervalproces is dat wordt gevolgd en implementaties worden uitgevoerd wanneer en wanneer daarom wordt gevraagd in een klantomgeving.
Voorbeeld van werkstroom voor continue levering:
In het bovenstaande diagram kunt u de verschillende beschikbare omgevingen bekijken en dus kan deze voorziening van de infrastructuur voor de omgevingen ook worden geautomatiseerd tijdens dit continue leveringsproces.
# 3) Continu testen
Uit de bovenstaande 2 praktijken kwamen we te weten dat CI en CD helpen bij het implementeren van de applicatie of bij wijzigingen in de productie. Dit hele proces omvat de juiste validatie van code en de integratie ervan met alle componenten die erbij betrokken zijn om ervoor te zorgen dat de applicatie werkt zoals bedoeld en vrij is van bugs of defecten.
Continu testen is dus het proces waarbij verschillende soorten geautomatiseerde tests worden uitgevoerd, beginnend met het CI-proces tot het moment dat de applicatie uiteindelijk in productie wordt genomen.
Je kunt uit het vorige diagram zien dat we in de stap Continuous Integration alle ontwikkelaarswerk integreren in een gemeenschappelijke build-server en ook tijdens deze fase zouden de ontwikkelaars een bepaald aantal unit-tests uitvoeren.
Zodra deze integratie en tests foutloos werken, worden de applicatie of wijzigingen pas in de QA-omgeving geïmplementeerd na het aanvragen van deze kwaliteitspoorten en goedkeuringen.
In de QA-omgeving worden de functionele tests uitgevoerd en opnieuw op basis van de goedkeuringen die het zou worden geïmplementeerd in een staging-omgeving die op hetzelfde niveau zou zijn als de productiesystemen en acceptatietests die worden uitgevoerd. Zodra deze activiteit is voltooid, wordt de applicatie of de wijzigingen uiteindelijk geïmplementeerd in de productiesystemen.
Men kan hier dus opmerken dat continu testen als activiteit begint bij de CI-fase zelf en een zeer verplichte stap is tijdens het continue leveringsproces.
Voorbeeldtestworkflow in het continue leveringsproces:
hoe u waarden in een array toevoegt
# 4) Continue monitoring
Als de applicatie of wijzigingen worden geïmplementeerd in de productieomgeving, zal het operationele team proberen de applicatie en omgeving te bewaken vanuit het oogpunt van uptime, stabiliteit en beschikbaarheid. Dit proces staat bekend als continue monitoring.
De operationele teams zullen hun eigen software hebben om de omgeving te bewaken, maar zullen ook hun rol moeten spelen om de ingezette applicaties op eventuele problemen te controleren. Hiervoor zouden ze met de ontwikkelteams moeten werken om bepaalde tools te bouwen voor het analyseren van de applicatieproblemen.
Dus problemen met de infrastructuur, het milieu en de applicaties worden gecontroleerd tijdens het proces van continue monitoring.
Overzicht
In deze tutorial kwamen we te weten wat het DevOps-proces precies inhoudt, inclusief de verschillende componenten die erbij betrokken zijn. Deze componenten helpen om de levering van applicaties te versnellen en ook om de time-to-market te besparen, wat vandaag de dag de behoefte van het bedrijfsleven is vanuit een competitief oogpunt.
In de komende reeks tutorials in het DevOps-segment, zul je de verschillende video's / waarschijnlijke DevOps-tools bekijken die de teams kunnen gebruiken en ook de implementatie van DevOps met behulp van bepaalde tools voor on-premise en cloud.
En zoals gezegd en gedaan, vond ik de implementatie van DevOps een spannende, in de manier van kijken vanuit een organisatieverandering.
Onze aanstaande tutorial zal je alles uitleggen over DevOps en softwaretesten.
Aanbevolen literatuur
- Diepgaande Eclipse-zelfstudies voor beginners
- Continue levering in DevOps
- Continue implementatie in DevOps
- Tutorial DevOps Testing: welke invloed heeft DevOps op QA-testen?
- Continue integratie in DevOps
- Continu testen in DevOps
- Samenvatting van DevOps-videotutorials
- AWS CodeCommit-zelfstudie voor DevOps-implementatie in de cloud