Què és DevOps? Metodologia, principis i etapes de DevOps explicats



Compreneu què és DevOps i les diverses etapes del cicle de vida de DevOps. Aquesta publicació també conté exemples per explicar cada fase implicada en DevOps des del desenvolupament fins al desplegament.

Si esteu en la indústria de les TI, és probable que hagueu escoltat una de les paraules de moda més populars anomenada DevOps. Si voleu seguir una carrera a DevOps, és cert que és beneficiós i gratificant optar per un . Abans de continuar, us suggeriré que passeu pels següents blocs:

Els deu motius principals per aprendre DevOps





Moltes grans empreses de TI han adoptat DevOps com el seu camí a seguir. Per tant, en aquest bloc discutiré què és exactament DevOps i els punts que tractaré són els següents:



Què és DevOps?

  • El terme DevOps és una combinació de dues paraules: Desenvolupament i Operacions. DevOps és una pràctica que permet a un únic equip gestionar tot el cicle de vida del desenvolupament de l'aplicació, és a dir, el desenvolupament, les proves, el desplegament i la supervisió.

  • L’objectiu final de DevOps és disminuir la durada del cicle de vida del desenvolupament del sistema mentre s’ofereixen funcions, correccions i actualitzacions amb freqüència en una sincronització estreta amb els objectius empresarials.

  • DevOps és un enfocament de desenvolupament de programari amb l'ajut del qual podeu desenvolupar programari de qualitat superior ràpidament i amb més fiabilitat. Consta de diverses etapes com ara desenvolupament continu, integració contínua, proves contínues, desplegament continu i seguiment continu.



Per tant, des del que és DevOps, fem una ullada a la història de DevOps.

Història de DevOps

Abans de DevOps, teníem dos enfocaments per al desenvolupament de programari, és a dir, Waterfall i Agile.

Model de cascada

  • El model de cascada és un model de desenvolupament de programari bastant senzill i lineal. Aquest model segueix un enfocament de dalt a baix.

  • Aquest model té diversos començaments per Recopilació i anàlisi de requisits . Aquesta és la fase en què obteniu els requisits del client per desenvolupar una aplicació. Després d'això, intenteu analitzar aquests requisits.

  • La següent fase és la Disseny fase on es prepara un pla del programari. Aquí us plantejareu com serà el programari.

  • Un cop el disseny estigui llest, avanceu més amb el Implementació fase on comenceu amb la codificació de l'aplicació. L’equip de desenvolupadors treballa junts en diversos components de l’aplicació.

  • Un cop hàgiu completat el desenvolupament de l'aplicació, el provareu a Verificació fase. Hi ha diverses proves realitzades a l'aplicació, com ara proves d'unitats, proves d'integració, proves de rendiment, etc.

  • Un cop finalitzades totes les proves de l'aplicació, es desplegarà als servidors de producció.

  • Per fi, arriba el Manteniment fase. En aquesta fase, es supervisa l'aplicació per obtenir el rendiment. Els problemes relacionats amb el rendiment de l'aplicació es resolen en aquesta fase.

Avantatges del model de cascada:

  • Fàcil d'entendre i utilitzar

  • Permet fer proves i anàlisis fàcils

  • Estalvia una quantitat important de temps i diners

  • Ideal per a projectes petits si es defineixen clarament tots els requisits

  • Permet la departamentalització i el control directiu

Desavantatges del model de cascada:

  • Arriscat i incert

    invertint un número a Java
  • Manca de visibilitat del progrés actual

  • No és adequat quan els requisits continuen canviant

  • És difícil fer canvis al producte quan es troba en fase de proves

  • El producte final només està disponible al final del cicle

  • No apte per a projectes grans i complexos

Metodologia Àgil

La metodologia àgil és un enfocament de desenvolupament de programari basat en iteracions on el projecte de programari es divideix en diverses iteracions o sprints. Cada iteració té fases com el model de cascada, com ara Reunió de requisits, disseny, desenvolupament, proves i manteniment. La durada de cada iteració és generalment de 2 a 8 setmanes.

Procés àgil

  • A Agile, una empresa publica l’aplicació amb algunes funcions d’alta prioritat a la primera iteració.

    què és un fil de dimoni
  • Després del llançament, els usuaris finals o els clients us donaran comentaris sobre el rendiment de l'aplicació.

  • A continuació, feu els canvis necessaris a l'aplicació juntament amb algunes funcions noves i l'aplicació es torna a llançar, que és la segona iteració.

  • Repetiu tot aquest procediment fins aconseguir la qualitat del programari desitjada.

Avantatges del model Agile

  • Respon de manera adaptativa als canvis de requisits favorablement

  • La solució d’errors al principi del procés de desenvolupament fa que aquest procés sigui més rendible

  • Millora la qualitat del producte i el fa molt lliure d’errors

  • Permet la comunicació directa entre les persones que participen en un projecte de programari

  • Molt adequat per a projectes a llarg i llarg termini

  • Requisits mínims de recursos i molt fàcil de gestionar

Inconvenients del model Agile

  • Molt dependent dels requisits clars del client

  • Molt difícil de predir temps i esforços per a projectes més grans

  • No apte per a projectes complexos

  • Manca d’eficiència documental

  • Augment dels riscos de mantenibilitat

Ara anem a continuar i discutir les fases i eines de DevOps.

Etapes i eines de DevOps

Com es va esmentar anteriorment, les diverses etapes com ara el desenvolupament continu, la integració contínua, les proves contínues, el desplegament continu i el seguiment continu constitueixen el cicle de vida de DevOps. Ara fem una ullada a cadascuna de les etapes del cicle de vida de DevOps una per una.

Etapa 1: desenvolupament continu

Eines utilitzades: Git, SVN, Mercurial, CVS

Flux del procés:

  • Aquesta és la fase que implica la 'planificació' i la 'codificació' del programari. Vostè decideix la visió del projecte durant la fase de planificació i els desenvolupadors comencen a desenvolupar el codi de l’aplicació.

  • No hi ha Eines DevOps que són necessaris per a la planificació, però hi ha diverses eines per mantenir el codi.

  • El codi pot estar en qualsevol idioma, però el manteniu mitjançant les eines de control de versions. Aquest procés de manteniment del codi es coneix com Gestió del codi font.

  • Després de desenvolupar el codi, passareu a la fase d’integració contínua.

Etapa 2: integració contínua

Eines: Jenkins, TeamCity, Travis

Flux del procés:

  • Aquesta etapa és el nucli de tot el cicle de vida de DevOps. És una pràctica en la qual els desenvolupadors necessiten comprometre canvis al codi font amb més freqüència. Pot ser diàriament o setmanalment.

  • A continuació, creeu totes les confirmacions i això permet la detecció precoç dels problemes si hi són presents. El codi de construcció no només implica la compilació, sinó que també inclou revisió de codi, proves d’unitats, proves d’integració i empaquetatge.

  • El codi que admet noves funcionalitats és amb el codi existent. Com que hi ha un desenvolupament continu de programari, cal integrar el codi actualitzat de manera contínua i fluida amb els sistemes per reflectir els canvis als usuaris finals.

  • En aquesta etapa, utilitzeu les eines per crear / empaquetar el codi en un fitxer executable per poder reenviar-lo a les fases següents.

Etapa 3: proves contínues

Eines: Jenkins, Selenium TestNG, JUnit

Flux del procés:

  • Aquesta és l'etapa en què proveu el programari desenvolupat contínuament per detectar errors mitjançant eines de prova d'automatització. Aquestes eines permeten als controladors de qualitat provar múltiples bases de codis a fons en paral·lel per garantir que no hi hagi cap defecte en la funcionalitat. En aquesta fase, podeu utilitzar Docker Containers per simular l'entorn de prova.

  • Seleni s'utilitza per fer proves d'automatització i els informes els genera TestNG . Podeu automatitzar tota aquesta fase de proves amb l'ajut d'una eina d'integració contínua anomenada Jenkins.

  • Suposem que heu escrit un codi de seleni a Java per provar la vostra aplicació. Ara podeu crear aquest codi amb ant o maven. Un cop heu creat el codi, proveu-lo per a la prova d’acceptació d’usuaris (UAT). Tot aquest procés es pot automatitzar mitjançant Jenkins .

Etapa 4: desplegament continu

Eines utilitzades:

Gestió de la configuració: xef, titella, Ansible

Conteniment: Docker, Vagrant

Flux del procés:

  • Aquesta és l'etapa en què es desplega el codi als servidors de producció. També és important assegurar-vos que implementeu correctament el codi a tots els servidors. Abans de continuar, intentem entendre algunes coses sobre la gestió de configuracions i Eines de contenidors . Aquests conjunt d'eines us ajuden a assolir el desplegament continu (CD).

  • Gestió de la configuració és l’acte d’establir i mantenir la coherència en els requisits funcionals i el rendiment d’una aplicació. Permeteu-me dir això en paraules més senzilles, és el fet de llançar desplegaments als servidors, programar actualitzacions a tots els servidors i, sobretot, mantenir les configuracions coherents a tots els servidors.

  • Les eines de contenidors també tenen un paper igualment crucial en l'etapa de desplegament. Les eines de contenidors ajuden a produir consistència en entorns de desenvolupament, prova, posició en fase i producció. A més d'això, també ajuden a augmentar i reduir les instàncies ràpidament.

Etapa 5: seguiment continu

Eines utilitzades: Splunk, ELK Stack, Nagios, Nova relíquia

Flux del procés:

  • Aquesta és una etapa molt crítica del cicle de vida de DevOps en què superviseu contínuament el rendiment de la vostra aplicació. Aquí registreu informació vital sobre l’ús del programari. A continuació, processeu aquesta informació per comprovar la correcta funcionalitat de l'aplicació. En aquesta fase, solucioneu els errors del sistema, com ara poca memòria, el servidor no accessible, etc.

  • Aquesta pràctica implica la participació de l'equip d'Operacions que supervisarà l'activitat de l'usuari per detectar errors o qualsevol comportament indegut del sistema.Les eines de seguiment continu us ajuden a controlar de prop el rendiment de l’aplicació i els servidors i també us permeten comprovar la salut del sistema de manera proactiva.

    com crear una matriu d'objectes

Finalment, discutirem qui és exactament un enginyer de DevOps.

Qui és un enginyer de DevOps?

DevOps Engineer és algú que entén el cicle de vida del desenvolupament de programari i que té la comprensió directa de diverses eines d’automatització per al desenvolupament de canonades digitals (canalitzacions CI / CD).

DevOps Engineer treballa amb els desenvolupadors i el personal de TI per supervisar les versions del codi. Són desenvolupadors que s’interessen pel desplegament i les operacions de xarxa o administradors de sistemes que tenen passió per la creació de scripts i la codificació i passen al costat del desenvolupament on poden millorar la planificació de proves i desplegaments.

Per tant, això era tot del meu costat en aquest article sobre Què és DevOps. Espero que hagueu entès tot el que he comentat aquí. Si teniu alguna pregunta, mencioneu-ho a la secció de comentaris.

A continuació es mostra una llista de blocs que poden resultar interessants:

  1. Tutorial de lliurament continu
  2. Tutorial de contenidors Docker
  3. Tutorial de titelles

Ara que ho has entès Què és DevOps , consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació en certificació Edureka DevOps ajuda els estudiants a entendre què és DevOps i a adquirir experiència en diversos processos i eines DevOps com Puppet, Jenkins, Nagios, Ansible, Xef, Saltstack i GIT per automatitzar diversos passos en SDLC.

Tens alguna pregunta? Esmenta’l a la secció de comentaris i et respondrem.