Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Foto: Unsplash

Moien alleguer! Mir sinn Automatisatiounsingenieuren aus der Firma Positiv Technologien a mir ënnerstëtzen d'Entwécklung vun de Produkter vun der Firma: mir ënnerstëtzen déi ganz Versammlungspipeline vun der Verpflichtung vun enger Zeil Code vun Entwéckler bis zur Verëffentlechung vu fäerdege Produkter a Lizenzen op Updateserveren. Informell gi mir DevOps Ingenieuren genannt. An dësem Artikel wëlle mir iwwer d'technologesch Etappe vum Softwareproduktiounsprozess schwätzen, wéi mir se gesinn a wéi mir se klassifizéieren.

Aus dem Material léiert Dir iwwer d'Komplexitéit vun der Koordinatioun vun der Multi-Produktentwécklung, iwwer wat eng technologesch Kaart ass a wéi et hëlleft Léisungen ze streamline an ze replizéieren, wat sinn d'Haaptstadien a Schrëtt vum Entwécklungsprozess, wéi sinn d'Verantwortungsberäicher tëscht DevOps an Teams an eiser Firma.

Iwwer Chaos an DevOps

Kuerz gesot, d'Konzept vun DevOps enthält Entwécklungsinstrumenter a Servicer, souwéi Methodologien a bescht Praktiken fir hir Notzung. Loosst eis d'global aussoen Zweck vun der Ëmsetzung vun DevOps Iddien an eiser Gesellschaft: dëst ass eng konsequent Reduktioun vun de Käschte vun der Produktioun an Ënnerhalt vu Produkter a quantitativem Begrëffer (Mannstonnen oder Maschinnestonnen, CPU, RAM, Disk, etc.). Deen einfachsten an offensichtlechste Wee fir d'Gesamtkäschte vun der Entwécklung um Niveau vun der ganzer Firma ze reduzéieren ass d'Käschte fir typesch Serien Aufgaben ze minimiséieren op all Etappe vun der Produktioun. Awer wat sinn dës Etappen, wéi se se vum allgemenge Prozess trennen, aus wéi enge Schrëtt besteet se?

Wann eng Firma ee Produkt entwéckelt, ass alles méi oder manner kloer: et gëtt normalerweis eng allgemeng Fahrplang an Entwécklungsschema. Awer wat maache wann d'Produktlinn erweidert an et méi Produkter gëtt? Op den éischte Bléck hunn se ähnlech Prozesser an Assemblée Linnen an d'Spill vun "Find X Differenzen" an Logbicher an Scripten fänkt. Wat wann et scho 5+ Projeten an der aktiver Entwécklung sinn an Ënnerstëtzung fir verschidde Versiounen, déi iwwer e puer Joer entwéckelt goufen, ass erfuerderlech? Wëlle mir sou vill Léisunge wéi méiglech a Produktpipelines weiderbenotzen oder si mir prett Sue fir eng eenzegaarteg Entwécklung fir all eenzel auszeginn?

Wéi e Gläichgewiicht tëscht Eenzegaartegkeet a Serien Léisungen ze fannen?

Dës Froen hunn zënter 2015 ëmmer méi dacks virun eis opgetrueden. D'Zuel vun de Produkter ass gewuess, a mir hu probéiert eis Automatisatiounsdepartement (DevOps), déi d'Versammlungslinne vun dëse Produkter ënnerstëtzt, op e Minimum auszebauen. Zur selwechter Zäit wollte mir sou vill Léisunge wéi méiglech tëscht Produkter replizéieren. No allem, firwat datselwecht an zéng Produkter op verschidde Manéieren maachen?

Entwécklung Direkter: "Jongen, kënne mir iergendwéi evaluéieren wat DevOps fir Produkter mécht?"

Mir sinn: "Mir wëssen net, mir hunn dës Fro net gestallt, awer wéi eng Indikatoren solle berechent ginn?"

Entwécklung Direkter: "Wie weess! Denkt ..."

Wéi an deem berühmte Film: "Ech sinn an engem Hotel! .." - "Uh ... Kënnt Dir mir de Wee weisen?" Op Reflexioun si mir zur Konklusioun komm, datt mir als éischt d'Finale Zoustand vun de Produkter musse entscheeden; dëst gouf eisen éischte Goal.

Also, wéi analyséiert Dir eng Dose Produkter mat zimlech groussen Teams vun 10 bis 200 Leit a bestëmmen moossbar Metriken wann Dir Léisunge replizéiert?

1:0 zugonschte vum Chaos, oder DevOps op de Schëllerblades

Mir hunn ugefaang mat engem Versuch IDEF0 Diagrammer a verschidde Geschäftsprozess Diagrammer aus der BPwin Serie ze gëllen. D'Verwirrung huet nom fënneften Quadrat vun der nächster Etapp vum nächste Projet ugefaang, an dës Quadrate fir all Projet kënnen am Schwanz vun engem laange Python ënner 50+ Schrëtt gezeechent ginn. Ech hu mech traureg gefillt a wollt um Mound jäizen - et passt am Allgemengen net.

Typesch Produktioun Aufgaben

Modelléiere vun Produktiounsprozesser ass eng ganz komplex an ustrengend Aarbecht: Dir musst vill Daten aus verschiddenen Departementer a Produktiounsketten sammelen, veraarbechten an analyséieren. Dir kënnt méi iwwer dëst am Artikel liesen "Modelléiere vu Produktiounsprozesser an enger IT Firma".

Wéi mir ugefaang hunn eise Produktiounsprozess ze modelléieren, hate mir e spezifescht Zil - all Employé ze vermëttelen, déi an der Entwécklung vun de Produkter vun eiser Firma involvéiert ass, an un de Projektmanager:

  • wéi Produkter an hir Komponenten, ab dem Engagement vun enger Zeil vum Code, de Client erreechen a Form vun Installateuren an Updates,
  • wéi eng Ressourcen gi fir all Etapp vun der Produktioun vu Produkter zur Verfügung gestallt,
  • wéi eng Servicer an all Etapp involvéiert sinn,
  • wéi d'Verantwortungsberäicher fir all Etapp ofgrenzt sinn,
  • wat Kontrakter existéieren op der Entrée an Sortie vun all Etapp.

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Klickt op d'Bild wäert et a voller Gréisst opmaachen

Eis Aarbecht an der Firma ass a verschidde funktionell Beräicher opgedeelt. D'Richtung vun der Infrastruktur beschäftegt sech mat der Optimiséierung vun der Operatioun vun all de "Eisen" Ressourcen vum Departement, wéi och d'Automatiséierung vun der Deployment vu virtuelle Maschinnen an der Ëmwelt op hinnen. D'Richtung vun der Iwwerwaachung gëtt 24/7 Service Performance Kontroll; mir bidden och Iwwerwachung als Service fir Entwéckler. D'Workflow Richtung liwwert Teams mat Tools fir Entwécklungs- an Testprozesser ze managen, den Zoustand vum Code ze analyséieren an Analysen iwwer Projeten ze kréien. A schliisslech bitt d'Webdev-Richtung d'Publikatioun vu Verëffentlechungen op den GUS- a FLUS-Aktualiséierungsserveren, souwéi d'Lizenz vu Produkter mat dem LicenseLab-Service. Fir d'Produktiounspipeline z'ënnerstëtzen, hu mir vill verschidde Supportservicer fir Entwéckler opgeriicht an ënnerhalen (Dir kënnt Geschichten iwwer e puer vun hinnen op alen Meetups lauschteren: Op!DevOps! 2016 и Op!DevOps! 2017). Mir entwéckelen och intern Automatisatiounsinstrumenter, inklusiv Open Source Léisungen.

An de leschte fënnef Joer huet eis Aarbecht vill vun der selwechter Aart a Routine Operatiounen accumuléiert, an eis Entwéckler aus aneren Departementer kommen haaptsächlech aus dem sougenannten typesch Aufgaben, d'Léisung vun deem komplett oder deelweis automatiséiert ass, verursacht keng Schwieregkeeten fir Performeren an erfuerdert keng bedeitend Quantitéiten un Aarbecht. Zesumme mat de féierende Beräicher, mir analyséiert esou Aufgaben a konnt eenzel Kategorien vun Aarbecht ze identifizéieren, oder Produktioun Schrëtt, d'Etappe goufen an ondeelbar Schrëtt opgedeelt, a verschidde Etappen addéieren Produktioun Prozess Kette.

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Dat einfachst Beispill vun enger technologescher Kette sinn d'Etappe vun der Assemblée, der Installatioun an dem Test vun all eise Produkter bannent der Firma. Am Tour, zum Beispill, besteet d'Baustadium aus villen getrennten typesche Schrëtt: Quelle vu GitLab eroflueden, Ofhängegkeeten an Drëtt-Partei-Bibliothéiken virbereeden, Eenheetstestung a statesch Codeanalyse, Ausféierung vun engem Build-Skript op GitLab CI, Verëffentlechung vun Artefakten am Repository op Artifactory a Generatioun vu Verëffentlechungsnotizen duerch eisen internen ChangelogBuilder Tool.

Dir kënnt iwwer typesch DevOps Aufgaben an eisen aneren Artikelen iwwer Habré liesen: "Perséinlech Erfahrung: wéi eis kontinuéierlech Integratioun System ausgesäit"An"Automatiséierung vun Entwécklungsprozesser: wéi mir DevOps Iddien bei Positive Technologies implementéiert hunn".

Vill typesch Produktiounsketten bilden Fabrikatiounsprozess. D'Standard Approche fir Prozesser ze beschreiwen ass funktionell IDEF0 Modeller ze benotzen.

E Beispill fir e Fabrikatioun CI Prozess ze modelléieren

Mir bezuelt speziell Opmierksamkeet op d'Entwécklung vun Standard Projeten fir eng kontinuéierlech Integratioun System. Dëst huet et méiglech gemaach d'Vereenegung vun de Projeten z'erreechen, ënnersträicht de sougenannte Fräisetzung bauen Schema mat Promotiounen.

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Hei ass wéi et funktionnéiert. All Projete kucken typesch aus: Si enthalen d'Konfiguratioun vun Versammlungen, déi an de Snapshot-Repository bei Artifactory falen, duerno ginn se ofgesat an op Testbänken getest, an dann an de Release Repository gefördert. Den Artifactory Service ass en eenzegen Verdeelungspunkt fir all Bauartefakter tëscht Teams an aner Servicer.

Wa mir eis Verëffentlechungsschema staark vereinfachen an generaliséieren, da enthält et déi folgend Schrëtt:

  • Cross-Plattform Produktversammlung,
  • Deployment fir Testbänken,
  • Lafen funktionell an aner Tester,
  • getest Builds förderen fir Repositories bei Artifactory ze verëffentlechen,
  • Verëffentlechung vun der Verëffentlechung baut op Update Serveren,
  • Liwwerung vun Versammlungen an Updates fir d'Produktioun,
  • d'Installatioun an d'Aktualiséierung vum Produkt starten.

Zum Beispill, betruecht den technologesche Modell vun dëser typesch Fräisetzung Schema (nodréiglech einfach Modell) a Form vun engem funktionell IDEF0 Modell. Et reflektéiert d'Haaptstadien vun eisem CI Prozess. IDEF0 Modeller benotzen de sougenannte ICOM Notatioun (Input-Kontroll-Output-Mechanismus) fir ze beschreiwen, wéi eng Ressourcen an all Etapp benotzt ginn, baséiert op wéi eng Regelen an Ufuerderunge geschafft ginn, wat d'Ausgab ass, a wéi eng Mechanismen, Servicer oder Leit eng bestëmmte Stuf implementéieren.

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Klickt op d'Bild wäert et a voller Gréisst opmaachen

In der Regel, an funktionnelle Modeller ass et méi einfach ze zerstéieren an d'Beschreiwung vu Prozesser detailléiert. Awer wéi d'Zuel vun den Elementer wiisst, gëtt et ëmmer méi schwéier eppes iwwer si ze verstoen. Awer an der realer Entwécklung ginn et och Hëllefsstadien: Iwwerwaachung, Produkt Zertifizéierung, Automatisatioun vun Aarbechtsprozesser an anerer. Et ass genee wéinst dem Skaléierungsproblem datt mir dës Beschreiwung opginn hunn.

Gebuert vun der Hoffnung

An engem Buch si mir op al sowjetesch Kaarte begéint, déi technologesch Prozesser beschreiwen (déi iwwregens nach ëmmer op ville staatlechen Entreprisen an Universitéite benotzt ginn). Waart, waart, well mir hunn och e Workflow! .. Et gi Stadien, Resultater, Metriken, Ufuerderungen, Indicateuren, asw., a sou weider ... Firwat probéiert net och Flowsheets op eis Produktpipelines anzesetzen? Et war e Gefill: "Dat ass et! Mir hunn dee richtege Fuedem fonnt, et ass Zäit et gutt ze zéien!

An enger einfacher Tabell hu mir décidéiert Produkter no Kolonnen opzehuelen, an technologesch Etappen a Produktpipeline Schrëtt no Reihen. Meilesteen sinn eppes Grousses, sou wéi e Produktbauschrëtt. A Schrëtt sinn eppes méi kleng a méi detailléiert, sou wéi de Schrëtt fir de Quellcode op de Build Server erofzelueden oder de Schrëtt fir de Code ze kompiléieren.

Op de Kräizunge vun de Reihen a Spalten vun der Kaart setzen mir d'Status fir eng spezifesch Etapp a Produkt erof. Fir Statuse gouf eng Rei vu Staaten definéiert:

  1. Keng Informatioun - oder onpraktesch. Et ass noutwendeg fir d'Nofro fir eng Etapp am Produkt ze analyséieren. Entweder ass d'Analyse scho gemaach, mä d'Bühn ass am Moment net gebraucht oder ass net wirtschaftlech gerechtfäerdegt.
  2. Opgestallt - oder am Moment net relevant. Eng Etapp an der Pipeline ass néideg, awer et gi keng Kräfte fir dëst Joer ëmzesetzen.
  3. Geplangt. D'Etapp ass fir d'Ëmsetzung dëst Joer geplangt.
  4. Ëmgesat. D'Bühn an der Pipeline gëtt am erfuerderleche Volumen ëmgesat.

Den Dësch ausfëllen huet Projet fir Projet ugefaang. Als éischt goufen d'Etappen an d'Schrëtt vun engem Projet klasséiert an hir Statuse goufen opgeholl. Dunn hunn se den nächste Projet geholl, d'Statusen dra fixéiert an d'Etappen a Schrëtt bäigefüügt, déi a fréiere Projete gefeelt hunn. Als Resultat hu mir d'Etappen an d'Schrëtt vun eiser ganzer Produktiounspipeline an hir Statusen an engem spezifesche Projet kritt. Et huet sech eppes ähnleches wéi d'Produktpipeline Kompetenzmatrix erausgestallt. Mir hunn esou eng Matrix eng technologesch Kaart genannt.

Mat Hëllef vun der technologescher Kaart koordinéiere mir metrologesch raisonnabel mat den Teams d'Aarbechtspläng fir d'Joer an d'Ziler, déi mir zesumme wëllen erreechen: wéi eng Etappe mir dëst Joer an de Projet bäidroen, a wéi eng mir verloossen fir spéider. Och am Laf vun der Aarbecht kënne mir Verbesserungen an den Etappen hunn, déi mir fir nëmmen ee Produkt ofgeschloss hunn. Dann erweidere mir eis Kaart an stellen dës Verbesserung als Bühn oder als neie Schrëtt vir, dann analyséiere mir fir all Produkt a fanne wat d'Machbarkeet ass fir d'Verbesserung ze replizéieren.

Si kënne géint eis protestéieren: "Dëst ass alles, natierlech, gutt, nëmme mat der Zäit wäert d'Zuel vun de Schrëtt an Etappe verbuedent grouss ginn. Wéi ze sinn?

Mir hunn Standard a zimmlech komplett Beschreiwunge vun den Ufuerderunge fir all Etapp a Schrëtt agefouert, sou datt se vu jidderengem bannent der Firma op déiselwecht Manéier verstane ginn. Mat der Zäit, wéi Verbesserunge agefouert ginn, kann e Schrëtt an eng aner Etapp oder Schrëtt absorbéiert ginn, an da wäerte se "Zesummebroch". Zur selwechter Zäit passen all Ufuerderungen an technologesch Nuancen an d'Ufuerderunge vun der Generaliséierungsstadium oder Schrëtt.

Wéi den Effekt vun replizéiert Léisungen ze evaluéieren? Mir benotzen eng extrem einfach Approche: mir attributéieren déi initial Kapitalkäschte fir d'Ëmsetzung vun enger neier Etapp un alljährlechen allgemenge Produktkäschten, an deelen se dann ënner jidderengem wann Dir replizéiert.

Deeler vun der Entwécklung si schonn als Meilesteen a Schrëtt op der Kaart gewisen. Mir kënnen d'Reduktioun vun de Käschte vum Produkt beaflossen duerch d'Aféierung vun der Automatisatioun fir typesch Etappen. Duerno betruechte mir d'Verännerunge vun de qualitative Charakteristiken, quantitativen Metriken an de Gewënn vun den Teams (a Mannstonnen oder Maschinnestonnen Spueren).

Technologesch Kaart vum Produktiounsprozess

Wa mir all eis Etappen a Schrëtt huelen, se mat Tags codéieren an se an eng Kette ausbauen, da wäert et ganz laang an onverständlech sinn (genau dee selwechte "Python Schwanz" iwwer dee mir am Ufank vum Artikel geschwat hunn) :

[Production] — [InfMonitoring] — [SourceCodeControl] — [Prepare] — [PrepareLinuxDocker] — [PrepareWinDocker] — [Build] — [PullSourceCode] — [PrepareDep] — [UnitTest] — [CodeCoverage] — [StaticAnalyze] — [BuildScenario] — [PushToSnapshot] — [ChangelogBuilder] — [Deploy] — [PrepareTestStand] — [PullTestCode] — [PrepareTestEnv] — [PullArtifact] — [DeployArtifact] — [Test] — [BVTTest] — [SmokeTest] — [FuncTest] — [LoadTest] — [IntegrityTest] — [DeliveryTest] — [MonitoringStands] — [TestManagement] — [Promote] — [QualityTag] — [MoveToRelease] — [License] — [Publish] — [PublishGUSFLUS] — [ControlVisibility] — [Install] — [LicenseActivation] — [RequestUpdates] — [PullUpdates] — [InitUpdates] — [PrepareEnv] — [InstallUpdates] — [Telemetry] — [Workflow] — [Communication] — [Certification] — [CISelfSufficiency]

Dëst sinn d'Etappe vu Bauprodukter [Build], ofsetzen se fir Serveren ze testen [Deploy], Testen [Test], Promotioun vu Builds fir Repositories ze verëffentlechen baséiert op de Resultater vum Test [Promotéieren], Generéiere a Verëffentlechungslizenzen [Lizenz], Verëffentlechung [ Verëffentlechen] op der GUS Update Server a Liwwerung zu FLUS Update Serveren, Installatioun an Aktualiséierung vun Produit Komponente op de Client senger Infrastruktur benotzt Produit Configuratioun Management [Installéieren], souwéi Kollektioun vun Telemetrie [Telemetry] aus installéiert Produiten.

Zousätzlech zu hinnen, kënnen separat Etappen ënnerscheeden: Infrastruktur Staat Iwwerwachung [InfMonitoring], Quellcode Versioun [SourceCodeControl], Build Ëmfeld Virbereedung [Preparéieren], Projet Gestioun [Workflow], suergt Teams mat Kommunikatioun Tools [Kommunikatioun], Produkt Zertifizéierung [ Zertifizéierung] an d'Selbststännegkeet vun CI Prozesser garantéieren [CISelfSufficiency] (zum Beispill Onofhängegkeet vun Versammlungen vum Internet). Dosende vu Schrëtt an eise Prozesser ginn net emol berücksichtegt, well se ganz spezifesch sinn.

Et wäert vill méi einfach sinn de ganze Produktiounsprozess ze verstoen an ze kucken wann Dir et an der Form virstellt technologesch Kaart; Dëst ass eng Tabell an där déi eenzel Produktiounsstadien an ofgebaute Schrëtt vum Model a Reihen opgeholl ginn, an a Kolonnen eng Beschreiwung vun deem wat an all Etapp oder Schrëtt gemaach gëtt. Den Haaptaccent läit op d'Ressourcen déi all Etapp ubidden an d'Ofgrenzung vu Verantwortungsberäicher.

D'Kaart fir eis ass eng Zort Klassifizéierer. Et reflektéiert déi grouss technologesch Deeler vun der Produktioun vu Produkter. Dank et gouf et méi einfach fir eis Automatisatiounsteam mat Entwéckler ze interagéieren a gemeinsam d'Ëmsetzung vun Automatisatiounsstadien ze plangen, wéi och ze verstoen wat d'Aarbechtskäschte a Ressourcen (Mënsch an Hardware) dofir erfuerderlech sinn.

An eiser Firma gëtt d'Kaart automatesch aus der Jinja Schabloun als normal HTML-Datei generéiert, an dann op de GitLab Pages Server eropgelueden. E Screenshot mat engem Beispill vun enger voll generéierter Kaart ka gekuckt ginn Link.

Chaos managen: D'Saachen an Uerdnung setzen mat der Hëllef vun enger technologescher Kaart

Klickt op d'Bild wäert et a voller Gréisst opmaachen

Kuerz gesot, d'technologesch Kaart ass e generaliséiert Bild vum Produktiounsprozess, wat kloer klasséiert Blocke mat typesch Funktionalitéit reflektéiert.

Struktur vun eiser Stroossekaart

D'Kaart besteet aus verschiddenen Deeler:

  1. Titelberäich - hei ass eng allgemeng Beschreiwung vun der Kaart, Basiskonzepter ginn agefouert, d'Haaptressourcen an d'Resultater vum Produktiounsprozess sinn definéiert.
  2. Dashboard - hei kënnt Dir d'Affichage vun Daten fir eenzel Produkter kontrolléieren, e Resumé vun den implementéierten Etappen a Schrëtt am Allgemengen fir all Produkter gëtt zur Verfügung gestallt.
  3. Technologesch Kaart - eng tabulär Beschreiwung vum technologesche Prozess. Op der Kaart:
    • all Etappen, Schrëtt an hir Coden ginn;
    • kuerz a komplett Beschreiwunge vun den Etappe ginn;
    • d'Input Ressourcen a Servicer an all Etapp benotzt ginn uginn;
    • d'Resultater vun all Etapp an eng separat Schrëtt ginn uginn;
    • de Beräich vun der Verantwortung fir all Etapp a Schrëtt gëtt uginn;
    • déi technesch Ressourcen, wéi HDD (SSD), RAM, vCPU, an de Mann-Stonnen néideg der Aarbecht op dëser Etapp ze ënnerstëtzen, souwuel am aktuellen Moment - e Fakt, an an Zukunft - e Plang, goufen bestëmmt;
    • fir all Produkt gëtt uginn wéi eng technologesch Etappen oder Schrëtt dofir ëmgesat goufen, geplangt fir Ëmsetzung, irrelevant oder net ëmgesat ginn.

Entscheedung baséiert op der technologescher Kaart

Nodeems Dir d'Kaart ënnersicht hutt, ass et méiglech e puer Aktiounen ze huelen - ofhängeg vun der Roll vum Employé an der Firma (Entwécklungsmanager, Produktmanager, Entwéckler oder Tester):

  • verstoen wéi eng Etappe fehlen an engem richtege Produkt oder Projet an de Besoin fir hir Ëmsetzung bewäerten;
  • Ofgrenzung vun Verantwortungsberäicher tëscht verschiddenen Departementer wa se op verschidden Etappe schaffen;
  • Accord op Kontrakter op den Entréeën an Sortie vun de Bühnen;
  • Är Etapp vun der Aarbecht an de Gesamtentwécklungsprozess integréieren;
  • méi präziist bewäerten de Besoin fir Ressourcen all Etapp z'ënnerstëtzen.

Zesummefaassend all déi uewe genannte

D'Routing ass versatile, erweiterbar an einfach ze pflegen. Et ass vill méi einfach eng Beschreiwung vu Prozesser an dëser Form z'entwéckelen an z'erhalen wéi an engem strikte akademesche IDEF0 Modell. Zousätzlech ass eng tabulär Beschreiwung méi einfach, méi vertraut a besser strukturéiert wéi e funktionnelle Modell.

Fir déi technesch Ëmsetzung vun de Schrëtt hu mir e speziellen internen Tool CrossBuilder - e Layer-Tool tëscht CI Systemer, Servicer an Infrastruktur. Den Entwéckler brauch säi Vëlo net ze schneiden: an eisem CI-System ass et genuch fir ee vun de Skripte (déi sougenannte Task) vum CrossBuilder-Tool auszeféieren, deen et korrekt ausféiert, andeems d'Features vun eiser Infrastruktur berücksichtegt ginn. .

Resultater

Den Artikel huet sech als zimlech laang erausgestallt, awer dëst ass inévitabel wann Dir d'Modelléierung vu komplexe Prozesser beschreiwen. Zum Schluss wëll ech eis Haaptideeën kuerz fixéieren:

  • D'Zil fir DevOps Iddien an eiser Gesellschaft ëmzesetzen ass d'Käschte vun der Produktioun an Ënnerhalt vun de Produkter vun der Firma a quantitativem Begrëffer (Mannstonnen oder Maschinnestonnen, vCPU, RAM, Disk) konsequent ze reduzéieren.
  • E Wee fir d'Gesamtkäschte vun der Entwécklung ze reduzéieren ass d'Käschte fir Standard Serien Aufgaben ze minimiséieren: Etappen a Schrëtt vum technologesche Prozess.
  • Eng typesch Aufgab ass eng Aufgab, där hir Léisung komplett oder deelweis automatiséiert ass, keng Schwieregkeete fir d'Performer verursaacht an keng bedeitend Aarbechtskäschte erfuerdert.
  • De Produktiounsprozess besteet aus Etappen, d'Etappen sinn an ondeelbar Schrëtt opgedeelt, déi typesch Aufgabe vu verschiddene Skala an Ëmfang sinn.
  • Vun disparate typesch Aufgaben hu mir zu komplexe technologesche Ketten a Multi-Level Modeller vum Produktiounsprozess komm, déi duerch e funktionnellen IDEF0 Modell oder enger méi einfacher technologescher Kaart beschriwwe kënne ginn.
  • Déi technologesch Kaart ass eng tabulär Representatioun vun de Stadien a Schrëtt vum Produktiounsprozess. Dat Wichtegst: d'Kaart erlaabt Iech de ganze Prozess a senger Ganzheet ze gesinn, a grousse Stécker mat der Méiglechkeet se ze detailléiert.
  • Baséierend op der technologescher Kaart ass et méiglech d'Noutwennegkeet ze beurteelen fir Etappen an engem bestëmmte Produkt aféieren, Verantwortungsberäicher ofzegrenzen, Kontrakter op den Input an Output vun Etappen averstanen, a méi präzis de Besoin fir Ressourcen beurteelen.

An den folgenden Artikelen wäerte mir méi detailléiert beschreiwen wéi eng technesch Tools benotzt gi fir verschidden technologesch Etappen op eiser Kaart ëmzesetzen.

Auteuren vum Artikel:

  • Alexander Pazdnikov - Head of Automation (DevOps) bei Positive Technologies
  • Timur Gilmullin - Deputéiert Head of Automation Department (DevOps) bei Positive Technologies

Source: will.com

Setzt e Commentaire