Wat is mogelijk?

Het is altijd raadzaam om het redundante proces te automatiseren, zoals implementatie of serverconfiguratie en -beheer dat anders veel tijd en inspanningen kost. Dit is zo'n open source-tool ontwikkeld en onderhouden door Red Hat die het proces van provisioning, configuratiebeheer, app-implementatie, continue levering, beveiliging en compliance en orkestratie automatiseert. Op hoog niveau is het een eenvoudige automatiseringstaal die de IT-applicatie-infrastructuur, de app-levenscyclus in an play playbooks kan beschrijven. Het maakt gebruik van YAML, een voor mensen leesbare datanerialisatie-taal.

Begrip

Het is eenvoudig, krachtig en agentloos. Het grootste onderscheid tussen ansible en andere tools ligt in de architectuur, het werkt op het "Push" -model, dwz er hoeft geen extra software op de server te worden geïnstalleerd. Standaard beheert het externe verbindingen via SSH (Linux & Unix) of WinRM (Windows).

Hieronder is dit architectuurdiagram van Ansible

Laten we de functionaliteit van de afzonderlijke componenten in detail bekijken.

Een mogelijke automatiseringsmotor omvat een inventaris, API, modules en plug-ins.

Ansible Playbook: het maakt gebruik van het playbook voor automatisering en orkestratie van IT-infrastructuur. Dit speelboek bestaat uit een automatiseringstaak die dient als invoer voor de ansible automation-engine die beschrijft hoe een bepaald stuk automatisering zal werken.

Dit playbook bestaat uit een reeks "play" die de automatiseringstaak definieert voor een reeks hosts die "inventaris" worden genoemd. Elk 'spel' bestaat uit meerdere taken die een of meer hosts in de inventaris kunnen bedienen. Al deze taken deden een beroep op een Ansible-module, een klein stukje code dat een specifieke taak uitvoert.

Een typisch voorbeeld van een taak is het installeren van software of het plaatsen van een configuratiebestand op de server. Een complexere taak zou kunnen zijn om de hele infrastructuur voor cloudformatie in Amazon EC2 op te voeren.

Het wordt geleverd met honderden modules, variërend van het beheer van netwerkapparaten, eenvoudig configuratiebeheer tot modules voor het onderhoud van de infrastructuur op elke cloudaanbieder.

Deze modules zijn zo ontworpen dat eerst wordt gecontroleerd of de taak moet worden uitgevoerd of niet, bijvoorbeeld, als een mogelijke taak is om een ​​Tomcat-server te starten, wordt de taak alleen uitgevoerd als deze nog niet actief is. Dit fenomeen wordt aangeduid als "Idempotency" waarmee configuratie herhaaldelijk zonder chaos kan worden uitgevoerd.

Deze playbook-taken kunnen ook worden hergebruikt, deze herbruikbare eenheden worden "Role" genoemd. Deze rollen kunnen eenvoudig worden gebruikt om redundante taken uit te voeren, zoals het toepassen van een gemeenschappelijke serverconfiguratie op de ontwikkelings-, UAT- en productieserver.

Opmerking: u hoeft deze rollen niet helemaal opnieuw te schrijven, de Ansible Galaxy-communitysite bevat duizenden rollen die u kunt gebruiken en aanpassen volgens uw behoeften.

Wat kunt u doen met Ansible?

Hiermee kunt u de onderstaande taken automatiseren. laten we een voorbeeld van een deeltje bekijken om het op een eenvoudige manier te begrijpen.

Laten we aannemen dat u een Java-webtoepassing heeft die op meerdere servers moet worden geïmplementeerd, namelijk dev, UAT en prod. Om het oorlogsbestand te implementeren, moet u eerst de webserver en databaseserver op de hele machine instellen. Ook moeten dezelfde SQL-scripts in alle databases worden uitgevoerd om de database in te stellen. Nu heeft het geen zin om deze redundante taak handmatig uit te voeren.

Hiermee hoef je alleen maar eenvoudige taken in het playbook te schrijven en Ansible zal deze overbodige taken voor je uitvoeren.

Benodigde vaardigheden

In tegenstelling tot puppet & chef (automatiseringstool zoals ansible) die de kennis van robijn vereist, hoef je met ansible geen ingewikkelde programmeertaal te leren. Ansible maakt gebruik van YAML, een door mensen leesbare taal op hoog niveau die gemakkelijk kan worden begrepen door IT Admin. Ook zijn de meeste algemene taken beschikbaar in de vorm van een playbook in de Ansible Galaxy Community die je kunt uitbreiden als je wilt.

Waarom zouden we Ansible gebruiken?

Tot nu toe hebben we het gehad over wat Ansible in staat is. Laten we nu eens kijken waarom we Ansible in onze projecten zouden moeten gebruiken.

  1. Hiermee kunt u bepaalde processen terugbrengen van uren tot minuten.
  2. Het elimineert repetitieve taken
  3. Het bespaart tijd en verbetert de productiviteit.
  4. Minder fouten en fouten.
  5. Verhoog de verantwoordingsplicht en compliance.

Wie is het juiste publiek om Ansible-technologieën te leren?

Je moet denken dat deze technologie verband houdt met de IT-infrastructuur en het onderhoud, die meestal wordt verzorgd door de IT-beheerder of het implementatieteam en dat jij als ontwikkelaar dit niet hoeft te begrijpen, maar laat me dit stereotype doorbreken. Zoals u weet dat in DevOps ontwikkeling en operations werken is geïntegreerd, biedt het een stabiele omgeving voor zowel ontwikkeling als operations. Het is dus belangrijk dat een ontwikkelaar de taak moet begrijpen die in de playbooks is geschreven en als er een wijziging in de ontwikkelomgeving is, moet hij / zij in staat zijn om dienovereenkomstig wijzigingen in het playbook aan te brengen voor andere omgevingen voor een soepele orkestratie van de toepassingslevenscyclus.

Hoe deze technologie u helpt bij de groei van uw carrière?

Het is must-have technologie in je cv. Tegenwoordig probeert elk ander bedrijf alle processen die ze kunnen automatiseren om de algehele productiviteit en efficiëntie van de applicatie en bronnen te verhogen. Enterprise-applicaties die doorgaans op verschillende servers over de hele wereld worden geïmplementeerd, vereisen een constante serverconfiguratie en -beheer, wat een goede hoeveelheid tijd en inspanningen vereist. Als je een zeer goede kennis van automatiseringstool zoals Ansible hebt en in staat bent om een ​​playbook te schrijven om deze overtollige taak te automatiseren, zal dit je zeker onderscheiden en je helpen bij je carrièregroei.

Conclusie

Na het lezen van dit artikel moet u een duidelijk begrip hebben van wat Ansible is, wat ansible in staat is en hoe u de algehele efficiëntie en productiviteit in uw project kunt verbeteren door Ansible te implementeren. Als je diep in dit onderwerp wilt ingaan, kun je de whitepaper en voorbeelden van playbooks raadplegen die beschikbaar zijn op de officiële website van Red Hat Ansible.

Aanbevolen artikelen

Dit is een gids geweest voor What is Ansible. Hier hebben we de werking van Ansible besproken en ook hoe en waar het kan helpen bij loopbaangroei. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Hoe Ansible Commands te gebruiken
  2. Wat is PowerShell?
  3. Wat is Python?
  4. Wat is Apache