Què és DevOps?

DevOps és una combinació de pràctiques, eines i una filosofia cultural que té com a objectiu automatitzar i integrar els processos entre el desenvolupament de programari i els equips d'operacions. L'objectiu principal de DevOps és millorar la capacitat d'una organització per lliurar aplicacions i serveis a gran velocitat, evolucionant i millorant productes a un ritme més ràpid que les organitzacions que utilitzen processos tradicionals de desenvolupament de programari i gestió d'infraestructura.

Conceptes Clau de DevOps

  1. Col·laboració i Comunicació:

    • Fomentar la col·laboració entre els equips de desenvolupament i operacions.
    • Utilitzar eines de comunicació i col·laboració per millorar la transparència i la coordinació.
  2. Automatització:

    • Automatitzar les tasques repetitives i els processos manuals per augmentar l'eficiència.
    • Utilitzar eines d'automatització per a la integració contínua (CI) i el lliurament continu (CD).
  3. Monitorització i Registre:

    • Implementar sistemes de monitorització per detectar problemes de manera proactiva.
    • Utilitzar eines de registre per analitzar i resoldre problemes ràpidament.
  4. Infraestructura com a Codi (IaC):

    • Gestionar i provisionar la infraestructura mitjançant codi i tècniques de desenvolupament de programari.
    • Utilitzar eines com Terraform, Ansible, i AWS CloudFormation.
  5. Cultura de Millora Contínua:

    • Fomentar una cultura de millora contínua i aprenentatge.
    • Realitzar retrospectives regulars per identificar àrees de millora.

Beneficis de DevOps

  • Velocitat: Augmenta la velocitat de lliurament de programari, permetent a les organitzacions innovar més ràpidament.
  • Fiabilitat: Millora la qualitat de les actualitzacions d'aplicacions i la infraestructura, assegurant que es lliurin de manera fiable.
  • Escalabilitat: Permet gestionar sistemes complexos de manera eficient i escalar la infraestructura segons sigui necessari.
  • Seguretat: Integra pràctiques de seguretat en el procés de desenvolupament i operacions, conegut com DevSecOps.
  • Col·laboració: Millora la col·laboració entre els equips de desenvolupament i operacions, fomentant una cultura de treball en equip.

Eines Comunes en DevOps

Eina Descripció
Jenkins Servei d'integració contínua i lliurament continu.
Docker Plataforma per a la creació, desplegament i execució d'aplicacions en contenidors.
Kubernetes Sistema d'orquestració de contenidors per automatitzar el desplegament, l'escalat i la gestió d'aplicacions.
Ansible Eina d'automatització de configuració i gestió d'infraestructura.
Terraform Eina per a la infraestructura com a codi (IaC) que permet definir i proporcionar infraestructura a través de codi.
Git Sistema de control de versions distribuït.
Prometheus Sistema de monitorització i alerta.
Grafana Plataforma d'analítica i monitorització.

Exemple Pràctic: Automatització d'un Desplegament amb Jenkins

Pas 1: Instal·lació de Jenkins

  1. Descarregar i Instal·lar Jenkins:

    wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
    sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    sudo apt-get update
    sudo apt-get install jenkins
    
  2. Iniciar el Servei de Jenkins:

    sudo systemctl start jenkins
    sudo systemctl enable jenkins
    
  3. Accedir a la Interfície Web de Jenkins:

    • Obre un navegador web i ves a http://localhost:8080.
    • Segueix les instruccions per completar la configuració inicial.

Pas 2: Configuració d'un Projecte de Construcció

  1. Crear un Nou Projecte:

    • A la interfície de Jenkins, fes clic a "New Item".
    • Dona un nom al projecte i selecciona "Freestyle project".
  2. Configurar el Repositori de Git:

    • A la secció "Source Code Management", selecciona "Git".
    • Introdueix l'URL del repositori de Git.
  3. Configurar el Build Trigger:

    • A la secció "Build Triggers", selecciona "Poll SCM" i especifica la freqüència (per exemple, H/5 * * * * per verificar cada 5 minuts).
  4. Afegir un Pas de Construcció:

    • A la secció "Build", fes clic a "Add build step" i selecciona "Execute shell".
    • Introdueix el següent script per construir el projecte:
      #!/bin/bash
      echo "Construint el projecte..."
      ./gradlew build
      
  5. Guardar i Executar el Projecte:

    • Fes clic a "Save" per guardar la configuració.
    • Fes clic a "Build Now" per executar el projecte manualment.

Pas 3: Monitorització del Desplegament

  1. Veure els Registres de Construcció:

    • A la pàgina del projecte, fes clic a "Build History" i selecciona l'última construcció.
    • Fes clic a "Console Output" per veure els registres de la construcció.
  2. Configurar Notificacions:

    • A la secció "Post-build Actions", fes clic a "Add post-build action" i selecciona "E-mail Notification".
    • Configura les notificacions per correu electrònic per rebre alertes sobre l'estat de les construccions.

Exercici Pràctic

Objectiu

Configura un pipeline de CI/CD bàsic utilitzant Jenkins per automatitzar la construcció i el desplegament d'una aplicació simple.

Passos

  1. Instal·la Jenkins i configura un nou projecte de construcció seguint els passos descrits anteriorment.
  2. Configura el repositori de Git per al projecte.
  3. Afegeix un pas de construcció per executar les proves unitàries del projecte.
  4. Configura una notificació per correu electrònic per rebre alertes sobre l'estat de les construccions.
  5. Executa el pipeline i verifica que tot funcioni correctament.

Solució

  1. Instal·lació de Jenkins:

    • Segueix els passos descrits a la secció "Instal·lació de Jenkins".
  2. Configuració del Repositori de Git:

    • A la secció "Source Code Management", selecciona "Git" i introdueix l'URL del repositori.
  3. Afegir un Pas de Construcció per a les Proves Unitàries:

    • A la secció "Build", fes clic a "Add build step" i selecciona "Execute shell".
    • Introdueix el següent script per executar les proves unitàries:
      #!/bin/bash
      echo "Executant les proves unitàries..."
      ./gradlew test
      
  4. Configurar Notificacions per Correu Electrònic:

    • A la secció "Post-build Actions", fes clic a "Add post-build action" i selecciona "E-mail Notification".
    • Introdueix l'adreça de correu electrònic per rebre les notificacions.
  5. Executar el Pipeline:

    • Fes clic a "Build Now" per executar el pipeline.
    • Verifica els registres de construcció i assegura't que les proves unitàries s'executin correctament.

Conclusió

En aquesta secció, hem introduït els conceptes bàsics de DevOps i hem explorat com utilitzar Jenkins per automatitzar la construcció i el desplegament d'aplicacions. Hem vist com la col·laboració, l'automatització i la monitorització són elements clau per a l'èxit de DevOps. A més, hem proporcionat un exemple pràctic per configurar un pipeline de CI/CD bàsic amb Jenkins. En les properes seccions, aprofundirem en l'ús de PowerShell amb pipelines CI/CD i altres eines DevOps per millorar encara més els processos de desenvolupament i operacions.

Curs de PowerShell

Mòdul 1: Introducció a PowerShell

Mòdul 2: Scripting Bàsic

Mòdul 3: Treballant amb Objectes

Mòdul 4: Tècniques Avançades de Scripting

Mòdul 5: Automatització i Programació de Tasques

Mòdul 6: Remotització amb PowerShell

Mòdul 7: Funcions Avançades de PowerShell

Mòdul 8: PowerShell i DevOps

Mòdul 9: Millors Pràctiques i Consells Avançats

© Copyright 2024. Tots els drets reservats