Quomodo aedificare plenam inhouse development usus DevOps - VTB experientia?

DevOps exercitia laborant. Hoc ipsi nobis persuasum est, cum tempus institutionis emissionis a X temporibus redegissemus. In systemate FIS Profile, quo in VTB utimur, institutionem nunc magis quam X minuta accipit quam 10. Dimissio aedificandi tempus ab duabus septimanis ad duos dies decrevit. Numerus defectuum exsecutionis persistentium ad minimum fere decidit. Ut a "labore manuali" et dependentia venditoris excluderetur, necesse erat fusis laborare et solutiones inopinatas invenire. Infra incisa narratio singillatim est quomodo plenam evolutionem interiorem flexam struximus.

Quomodo aedificare plenam inhouse development usus DevOps - VTB experientia?
 

Incipit prologus: DevOps est philosophia

Plus anno praeterito egimus multum laboris ad ordinandam internam evolutionem et exsecutionem exercitiorum DevOporum apud VTB:

  • Processus progressus interni pro 12 systemata aedificavimus;
  • 15 fistulas deiecimus, quarum quattuor productae sunt;
  • Automated 1445 missiones test;
  • Plures emissiones paratas ab in-domus iunctionibus feliciter implevimus.

Una ex difficillimis ad ordinandum inhouse evolutionis et exsecutionis exercitiorum DevSecOps evasit systematis FIS Profile - scruta producti processus in DBMS non relationis. Nihilominus evolutionem aedificare potuimus, pipelinum deducimus, singulas sarcinas non remissas in producto instituimus, et solutiones convenire didicerunt. Negotium non facile, sed interesting et sine restrictionibus manifestis in exsequendo: hic est ratio - opus aedificandi progressionem in domo. Sola conditio est ut CD antequam ambitus productivus adhibeatur.

In primis, exsecutio algorithmus simplex et manifesta videbatur;

  • Progressionem initialem peritia enucleare atque acceptum qualitatis gradum e codice manipulus sine crassis defectibus consequi;
  • In processibus existentibus quam maxime integramus;
  • Ut codicem inter patentes gradus transferamus, fistulam incidimus et unam extremarum eius in continuationem impellimus.

Hoc tempore, turma evolutionis debitae magnitudinis artes evolvere debet et partem suae contributionis augere ad gradu acceptabili solvendo. Id est, negotium perfectum considerare possumus.

Videtur quod haec sit via omnino industria efficax ad effectum inquisitum: hic est DevOps, hic sunt metri manipulus effectus, hic est peritia congesta... Sed in praxi, aliam confirmationem accepimus quod DevOps adhuc circa philosophiam est. et non « processui gitlabii affixi, ansibilis, nexus et elenchi ulterius descendendi ».

Cum agendi consilium denuo enucleavit, intelleximus nos quoddam emissi venditoris apud nos aedificare. Ergo processus reengineering algorithmus de quo supra adiectus est, necnon peritiae evolutionis per totam viam evolutionis ad principale munus in hoc processu obtinendum est. Non est optio facillima, sed via ad rectam progressionem adstat.
 

Ubi inhouse progressione incipit? 

Non fuit amicissima ratio laborare. Architecture, erat una magna DBMS non-relationalia, ex multis obiectis exsecutabilibus separatis (scripturis, processibus, batches, etc.), quae ut opus erant dicta, et in principio capsulae nigrae elaborata: petitio et quaestiones accipit. responsionem. Aliae difficultates notatu dignae includunt:

  • Lingua exotica (MUMPS);
  • Console interface;
  • Defectus integrationis cum instrumentis et compagibus popularibus automation;
  • Data volumen in decem terabytis;
  • Oneratis plus quam 2 decies operationes per hora;
  • Significatio - Negotia-Critica.

Eodem tempore nullum repositum erat nobis fons codicis. Omnino. Documentum erat, sed omnes scientiarum et facultatum clavis externae dispositionis pro parte erant.
Nos progressionem systematis paene a scabere superare coepimus, ratione habita eius notae et distributionis humilis. October MMXVIII incepit:

  • Documenta et fundamenta codicis generationis perscrutata est;
  • Brevem progressionem a venditore susceptam studuimus;
  • Artium progressionis initialem vincitur;
  • Artificium manuale pro novis sodalibus sodaliciis compilavit;
  • Consensimus equos in modum "pugnae" comprehendere;
  • Solvitur exitus cum codice qualitate moderamine;
  • Te stet explicari constituto nam.

Tres menses peritia et nosmetipsos in systemate enucleando peregimus, et ab initio anni 2019 evolutionis inhouse incohavit eius motus ad claram futuram, interdum difficulter, sed confidenter et ex industria.

Repositorium migrationis et autotests

Primum DevOps opus est repositorium. Cito convenit de accessu praebendo, sed e currente SVN migrare oportuit cum uno trunco ​​ramo ad scopum nostrum Git cum transitu ad exemplar plurium ramorum et progressionis Git Flow. Habuimus etiam 2 iunctiones infrastructuras suas, plus partem foris manipulorum venditoris. Mihi vivere cum duobus Gits et synchronisation curare. In tali re minus duobus malis fuit.

Migratio repositorii identidem dilata est, mense Aprili tantum ope collegarum ex acie prima completa est. Cum Git Flow decrevimus res simplicia in initio servare et in rerum classicarum ratione cum hotfix, evolvere et emittere. dominum constituerunt relinquere (aka prod-amo). Quare haec optio nobis optimal esse infra explicabitur. Repositorium externum pertinens venditoris, communis duabus iugis, operarius adhibitus est. Synchronis cum repositorio interno secundum schedulam. Nunc cum Git et Gitlab processibus automatis fieri potuit.

Eventus autotestorum mire facile certus est - parati sumus in compage facta. Proprietates systematis attentis, vocans operationem separatam, erat pars comprehensibilis processus negotii et simul ut unitas test. Omnia, quae supersunt, notitias probationis praeparare ac desideratum ordinem vocandi scriptorum disponendi et eventus aestimandi erant. Cum catalogus missionum, ex statisticis operandi formatus, critica processus et methodologiae regressionis exsistentes, peractae, automatice probationes apparere coeperunt. Iam potuimus aedificare pipeline incipere.

Quomodo erat: exemplum ante automation

Exemplar exsistens processus exsecutionis separatum est fabula. Utraque modificatio manually transfertur ut sarcina institutionis incrementalis separatae. Proxima adnotatione manuali in Jira accessit et institutionem manualem in ambitus. Ad singulas fasciculos, omnia clara videbant, sed cum emissione praeparanda erant magis implicata.

Conventus per singulas traditiones fiebat quae sui iuris erant. Quaelibet mutatio nova traditio est. Inter alia, 60-70 versiones technicae additae sunt ad 10-15 fasciculorum principalium compositionis remissionis - versiones consecutae, cum aliquid addere vel excludere ex emissione et reflexione mutationum in venditionibus extra emissionem.

Res intra traditiones inter se implicatae sunt, praesertim in codice exsecutabili, quod minus erat quam dimidium unicum. Multae clientelae erant tum in codice iam inaugurato tum in eo cuius institutionem modo destinatam erat. 

Codicis versionem debitam obtinendam, ordinem institutionis stricte sequi oportuit, in quo res corpore multoties renovatae, nonnullae 10-12 temporibus erant.

Post fasciculorum fasciculorum inaugurari, manuale habui mandata sequi ut occasus initializes. Dimissio a venditore coacta et inaugurata est. Compositio emissionis paene ante momentum exsecutionis declaratur, quod creationem fasciculorum "decoutionis" implevit. Quam ob rem, pars notabilis commeatuum ab emissione solvendi commotus cum sua cauda "decouptionum".

Manifestum est hac accessu - aenigma emissionis convenire in gradu sarcinae - unicum dominum ramum nullam significationem practicam habuisse. Institutionem productionis ab una et dimidia ad duas horas laboris manualis accepit. Bonum est quod saltem in gradu institutionis ordo obiecti processui definitus est: agri et structurae coram eis datae sunt et procedendi initi sunt. Sed hoc solum intra sarcinam separatam laboravit.

Consequens consequentis logicus erat defectus obligatoriae institutionis in forma obliquarum versionum obiectorum, codice supervacuo, instructionibus carens et mutuis influentiis obiectorum, quae post emissionem aestuose tollebantur. 

Primae updates: committite ecclesiam et traditionem

Automatio incepit transmittere codicem per tibiam per hanc viam:

  • Sume perfectam traditionem e repono;
  • Inaugurare eam in ambitu dedicato;
  • Currite autotests;
  • Censeo institutionem eventum;
  • Sequentes pipeline vocant a parte temptationis mandatum.

Postero pipelineorum munus in Jira subcriptio et mandata ut distribuantur delectis ansulis probatis, quae in exsequenda opera exsequenda pendent. Trigger - litteras de promptu tradendi ad inscriptionem datam. Quod quidem fusum evidens erat, sed alicubi committitur. Mense Maio MMXIX, translatio Codicis in ambitus nostros cum impedimentis incepit. Processus inceptus est, quidquid reliquum est, in decern figuram perducere;

  • Unaquaeque modificatio perficitur in ramo separato, qui respondet sarcinae institutionis et mergitur in scopo domini rami;
  • Felis pipeline launch est species novae committere in ramo magistri per petitionem merge, quae ab assertoribus ab quadrigis inhouse clauditur;
  • Repositoria semel in quinque minutis synchronisedantur;
  • Coetus involucrum institutionis incepit, adhibito collectore a venditore accepto.

Post haec vestigia iam exsistentes ad codicem reprimendum et transferendum, ad fistulam deducendam et ad nostrum latus conveniant.

Haec optio deductae sunt mense Iulio. Difficultates transitus in aliqua displicentia venditoris et in prima acie consecuta sunt, sed proximo mense omnia aspera oras removere et processum inter iunctos instituere curavimus. ecclesiam nunc habemus per committimus et traditionem.
Mense Augusto primam institutionem singulae sarcinae in productione instrumenti nostri pipelini perficiendam curavimus, et ab Septembri, sine exceptione, omnes officinae singularum fasciculorum non-remissionum per instrumentum nostrum CD fiebant. Praeterea assequi potuimus participationem operis inhouse operum XL% compositionis emissionis cum minoribus quadrigis quam venditor - hoc est certa victoria. Gravissimum opus manebat - ad emissionem congregandam et instituendam.

Ultima solutio: cumulativo institutionem packages 

Optime intelleximus mandatum venditoris scripturus esse automationem sic-ita: ipsum processum recogitare debebamus. Solutio apparebat - copiam cumulativam colligere e ramo emissione cum omnibus obiectis versionum quaeruntur.

Nos conceptus probatione coepimus: sarcinam dimissionis manum convenerunt secundum contenta exsecutionis praeteritae et in ambitus nostros constituimus. Omnis elaboraret ex sit, vim everti conceptam ad. Deinceps decrevimus litem scriptionis initializationis uncinis et inclusis in committendo. Novam sarcinam paravimus et eam in ambitus tentantes tamquam partem ex forma renovationis probavimus. Institutio valuit, etsi amplis commentationibus a quadrigis exsequendis. Praecipuum autem est quod nos praemisit ad productionem in Novembrem emissio data cum nostro conventu.

Mense proxime relicto, manus lecta commeatus plane insinuavit tempus breve esse. Ex emissione ramum aedificare constituerunt, sed cur separabitur? Prod-simile non habemus, et rami existentes boni non sunt - multum est codice supervacuo. Enixe opus est nos precidere pred-abere, et hoc super tria milia committit. Manu convenire non est omnino optio. Adumbravimus scripturam quae per logam productam institutionem currit et orationes ad ramum committit. Tertium tempus recte laboravit, et post "a lima" ramus paratus erat. 

Nostrum fabricatorem ad sarcina institutionis scripsimus et in hebdomada complevimus. Tunc debuimus mitigare instrumentum e core functionis systematis, cum fons apertus sit. Post seriem repressionum ac modificationum, eventus felix habebatur. Interim compositio emissionis figurata est ad rectam institutionem cuius ambitus cum productione probationis figere necesse erat, et scriptum separatum ad hoc scriptum erat.

Naturaliter multa commentaria circa primam institutionem fuerunt, sed altiore codice laboraverunt. Et post circa tertiam institutionem omnia bona spectare inceperunt. Compositio temperantiae et versionis imperium obiectorum separatim in modo manuali viverra erat, qui in hac scaena satis iustificatus erat.

Accessit provocatio numerus non-remissionum qui ratio habenda erat. Sed cum Prod-sicut ramus et Rebase, negotium perlucidum est.

Primum, cito et sine mendis

Accessimus emissionem cum eu habitudine et plusquam duodecim officinarum felicium in diversis circuitibus. Sed ad litteram Pridie fatalibus, evenit ut venditor opus non compleverit ad solutionem ad institutionem praeparandam in via acceptata. Si propter aliquam causam nostra aedificatio non operatur, emissio dissipabitur. Labore nostrum qui maxime molestiae. Nullo modo ad nos receptum est. Ideo cogitavimus per optiones alternativas, consilia praeparata agere et institutionem inchoare.

Mire, tota emissio, quae plus quam 800 objecta consistit, recte incepit, primum ac mox X minutas. Horam habuimus inhibendo tigna quaerentes errores, sed nullum invenimus.

Tota postridie silentium fuit in chat emissione: nullae exsequendae quaestiones, pravae versiones vel "inconveniens" codicem. Etiam nescio quo modo inconcinnus fuit. Postea commentationes nonnullae prodierunt, sed ad alia systemata et experientiam priorem, eorum numerus et prioritas notabiliter inferiores erant.

Accessit etiam effectus effectus cumulativus in qualitate conventus et tentationis auctus. Ob multiplices institutiones plenae remissionis, vitia aedificandi et errores instruere opportune modo notati sunt. Expertus in plena solutione configurationum effecit ut etiam defectus cognosceret in mutua influentia obiectorum quae in incrementalibus institutionibus non apparuerunt. Certum fuit successum, praesertim nostrum 57% collationem ad emissionem datam.

Results et conclusiones

Anno minus quam potuimus;

  • Exoticam rationem internam evolutionis plenam curvum utens;
  • Remota discrimine venditoris dependentiam;
  • CI/CD pro amicissimo legato duc;
  • Excitationem processus ad novum gradum technicum excitandum;
  • Instruere tempus significanter minuere;
  • Insigniter numerum errorum exsecutionem minuunt;
  • Confidenter te profiteor ut peritum evolutionis principem.

Nimirum multa quae describitur similis prorsus lutum, sed haec sunt lineamenta systematis et limitationes processus in eo existentes. In momento, mutationes affectatae IS Profile products et officia (rationes domini, chartae plasticae, rationum compendiorum, fiduciari, pecuniae creditae), sed potentia accessus cuilibet IS applicari potest ad quod munus exercitiorum DevOps exsequendi positum est. Exemplar cumulativum tuto replicari potest ad exsecutiones subsequentes (inclusas non-relationes) e pluribus deliberatis.

Source: www.habr.com

Add a comment