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

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster