Au'aunaga tu'ufa'atasi i au atina'e

Talofa! O loʻu igoa o Pasha Chernyak, o aʻu o se taʻutaʻua taʻutaʻua i QIWI, ma o le asō ou te fia talanoa e uiga i le le maalofia. E uiga i Legacy.

Sei o tatou amata i le fesili: o le a le Legacy service? O se auaunaga fa'aleaganu'u o se 'au'aunaga e le'i pa'ia e le fa'atupuina mo le vaiaso/masina/tausaga? Po'o se 'au'aunaga na tusia e se tagata fai polokalame e le'i poto masani, mo se fa'ata'ita'iga, e oe fa'apitoa, ae o le tausaga talu ai? Ma o lea ua e mālūlū ma sili atu lou poto masani. Po'o le auaunaga a le Legacy o se auaunaga ua e filifili e te le toe faia ma o lo'o fa'agasolo malie se mea e sui ai? Po o le a lava le tulaga, o le tuʻua o sea auaunaga e aunoa ma se tausiga ma le le faʻafouina o se pomu taimi e ono pa mulimuli ane.

Au'aunaga tu'ufa'atasi i au atina'e

A'o le'i agai i luma i le auala e galulue ai i matou i le QIWI ma a matou auaunaga Talatuu, o le a ou ta'u atu ia te oe le auala na matou aumaia ai le oka i auaunaga i totonu o le atotupe. Ua lua nei tausaga o ou nafa ma lana faatinoga. Afai ei ai se faʻafitauli, latou te valaʻau muamua ia te aʻu. E masani ona leai so'u neura e vala'au atu i se isi tagata i le 11 i le afiafi, o lea sa tatau ai ona 'ou nofo i lalo ma su'esu'e auaunaga uma i la matou vaega.

Ae o aʻu, pei o soʻo se tagata, e fiafia e moe i le po, o lea na ou taumafai ai e taulimaina le faʻaleagaina: "Alii, aisea ua e valaʻau mai ai ia te aʻu?" Na ou maua ai se tali le mautonu e pei o le "O ai isi?" Aua ou te faʻaleleia auaunaga, ma e le iloa e tama poʻo ai e valaʻau.

O le mea lea, i se tasi o faʻamatalaga lata mai o le vaega pito i tua o le Wallet, na matou filifili ai e tatau ona matou faia se faʻailoga ma se lisi o a matou auaunaga, microservices ma atotupe monoliths, ma i latou e nafa ma i latou. O faʻailoga e masani ona aoga, i totonu o tapulaʻa talafeagai.

I le faaopoopo atu i faamatalaga e uiga i ai e nafa ma le a, sa i ai tali i fesili: o ai e ona le auaunaga, o ai e nafa ma lona atinae, fausaga ma le taamilosaga o le olaga. O tagata e nafa ma lenei auaunaga o tagata ia e mafai ona toe faaleleia pe a tupu se mea. E iai le aiā tatau a lē e ana le auaunaga e tu'u ai le +2 i commits, e tatau fo'i ona iai i latou e nafa ma le iloiloga a'o le'i talia e lenei tautua se tautinoga fou.

A o faagasolo taimi, na amata ona faʻaaogaina faiga fou, mo se faʻataʻitaʻiga, femalagaaʻi i Kubernetes, ituaiga uma o siaki, spotbugs, ktlint, o le i ai o ogalaau i Kibana, autodiscovery auaunaga nai lo le faʻamaonia saʻo o tuatusi ma isi mea aoga. Ma i so'o se mea na mafai ai e le matou laulau ona fa'atumauina le taua o la matou tautua. Mo i matou, o se ituaiga o siaki lea e fai mai e mafai e lenei 'auʻaunaga ona faia lenei mea, ae e leʻi oʻo i le taimi nei. o fea o loʻo faʻalauiloa ai galuega faʻapotopotoga i TeamCity, faʻafefea ona faʻapipiʻiina, o loʻo teuina ai faʻapogai o suʻega end2end, ata mai sauniga teuga e uiga i le fausaga, e uiga i filifiliga na faia. O le mea e sili ona lelei, ou te manaʻo i nei faʻamatalaga uma e taoto i se mea ma ia i ai pe a manaʻomia. O le mea lea, o la matou faʻailoga na avea ma amataga mo le sailiga o faʻamatalaga.

Ae o le QIWI, e ui lava e tumau pea le agaga o se amataga, o se kamupani tele. Ua 12 nei o matou tausaga, ma ua sui au: o tagata e o ese, o tagata e o mai, o ni au fou ua fausia. Ma sa matou mauaina le tele o auaunaga i la matou vaega na matou mauaina. O nisi na sau mai le au atinaʻe mai isi 'au, o nisi e fesoʻotaʻi faʻatasi ma le atotupe, o lea o loʻo i ai le matou auaunaga i la matou paleni. Malamalama i le a ma le auala e galue ai - aisea? E aoga le auaunaga, ma o loʻo i ai a matou oloa faʻapitoa e mautinoa e manaʻomia le faʻaleleia.

E faapefea ona tupu

Ae i se taimi i le taimi tatou te iloa ai ua taofi le auaunaga i lana galuega, ua i ai se mea ua malepelepe - o le a le mea e fai i se tulaga faapena? Ua na ona le toe galue le auaunaga. O na uma lava. Ma na matou iloa e uiga i lenei mea, muamua, faʻafuaseʻi, ma lona lua, ono masina mulimuli ane. E tupu. Pau lava le mea na matou iloa o le a faʻapipiʻiina ai masini masini, o mea na maua ai, ma na o le pau lava. Matou te faia se git clone ma faʻafefe i le mafaufau o le tagata na tusia lenei mea i nai tausaga talu ai, ae o le a se mea tatou te vaʻaia? E leai se Spring Boot e masani ia i matou, e ui lava matou te masani i mea uma, ae o loʻo i ai le matou faʻaputuga atoa ma mea uma. Masalo o loʻo i ai se Spring Framework iina? Ae leai.

O le tagata na tusia nei mea uma sa faigata ma tusia mea uma i Java mama. E leai ni mea faigaluega masani mo se atinaʻe, ma e tulaʻi mai se manatu: e manaʻomia ona tatou toe tusia uma nei mea. E iai a matou microservices, ma mai soʻo se toaster e sau ai le masani "Alii, microservices o mea ia e te manaʻomia!" Afai e faʻafuaseʻi ona tupu se mea, e mafai ona e faʻaaogaina soʻo se gagana ma o le a lelei mea uma.

O le mea la o lea ua leai se matou tagata faatau e nafa ma lea auaunaga. O a manaoga faapisinisi sa ia te ia, o le a le mea e tatau ona fai e lenei auaunaga? Ma o le 'au'aunaga e fa'apipi'i fa'atasi i au faiga fa'apisinisi.

Ia taʻu mai ia te aʻu, o le a le faigofie o le toe tusia o se auaunaga e aunoa ma le iloa o ana pisinisi manaʻomia? E le o manino pe faʻafefea ona faʻamauina le tautua; pe iai ni metrics e le o iloa. O a latou, pe afai ei ai, e sili atu ona le iloa. Ma i le taimi lava e tasi, o le 'au'aunaga o lo'o i ai se numera tele o vasega o pisinisi e le mafai ona malamalama i ai. O loʻo iai se mea i totonu o se ituaiga faʻamaumauga, lea matou te leʻi iloa foi se mea.

O fea e amata ai?

Mai le pito sili ona talafeagai - o le maua o suʻega. E masani lava o loʻo i ai ni faʻamatalaga tusitusia iina ma e mafai ona e faia ni faʻaiuga e uiga i le mea o loʻo tupu. O le taimi nei o le TDD ua faʻalelei, ae matou te vaʻai i le 5 tausaga talu ai na toetoe lava tutusa mea uma ma le taimi nei: e toetoe lava a leai ni suʻega iunite, ma latou te le taʻuina mai ia i matou se mea. Ia, sei vagana ai se ituaiga o faʻamaoniga, pe faʻafefea ona sainia nisi xml ma se tusi faʻamaonia masani.

Sa le mafai ona matou malamalama i se mea mai le code, o lea na matou o ai e vaai po o le a le mea o loʻo i totonu o le masini komepiuta. Na matou tatalaina le ogalaau o le tautua ma maua ai se mea sese http client i totonu; o le tusi faamaonia na sainia e le tagata lava ia na faʻapipiʻi i totonu o punaoa talosaga na matua pala. Na matou faʻafesoʻotaʻi a matou au suʻesuʻe, na latou talosagaina se tusi faamaonia fou, na latou tuʻuina mai ia i matou ma o loʻo toe galue le auaunaga. E foliga mai na o le pau lena. Pe leai? A uma mea uma, e galue le tautua, e faʻatino ai nisi o galuega e manaʻomia e le tatou pisinisi. E i ai a matou tulaga faʻapitoa mo le atinaʻeina o talosaga, e foliga mai o loʻo ia te oe foi. Mo se faʻataʻitaʻiga, aua le teuina ogalaau i luga o le node i totonu o se pusa, ae teu i totonu o se ituaiga o mea e teu ai, e pei o le elastic, ma vaʻai i latou i Kibana. E mafai foi ona e manatua fua auro. O lona uiga, o le uta i luga o le tautua, le aofaʻi o talosaga mo le tautua, pe o ola pe leai, pe faʻafefea lana HealthCheck. O le mea sili lava, o nei metotia o le a fesoasoani ia te oe e iloa ai le taimi e mafai ai ona aveese mai le tautua ma se lotofuatiaifo manino ma galo e pei o se miti leaga.

Le mea e fai

O le mea lea, matou te faʻaopoopoina se auaunaga tuai i luga o le laulau, ona matou o atu lea e suʻe ni volenitia mai totonu o le au atinaʻe o le a latou tausia le auaunaga ma faʻatonuina: latou te tusia ni faʻamatalaga e uiga i le tautua, faʻaopoopo sootaga i dashboards i grafana, i galuega faʻapotopoto, ma malamalama i le faʻaogaina o le talosaga, aua le faʻapipiʻi lima faila e faʻaaoga ai le ftp.

O le mea autu o le a le umi e alu uma ai nei galuega tauofo aoga? Tasi le tamo'e mo se tagata e sili atu pe itiiti ifo le poto masani, mo se faʻataʻitaʻiga, i le taimi o le 20% aitalafu faʻapitoa. O le a le umi na alu e malamalama ai i manatu uma o le fesoʻotaʻiga ma se faiga faʻavae ma aumaia i tekinolosi fou? E le mafai ona ou taʻutino atu mo lenei mea, atonu o se masina pe lua foi o galuega a le 'au. Ou te fai atu lenei mea mai le poto masani o le tuʻufaʻatasia o loʻo iai nei ma se auaunaga fou.

I le taimi lava e tasi, e leai se faʻasalalauga tau pisinisi. O na uma lava. E masani le fa'afaigaluegaina o se tautua mo le lagolago ma fa'aalu sina taimi i ai. Ae ina ua uma a matou siva masani ma le sauniga, matou te faʻaopoopoina i luga o le laulau, faʻaopoopo faʻamatalaga e uiga i ai ma, masalo, o le a toe tusia i se aso. Ae o lea ua fetaui ma tulaga o le auaunaga.

O le taunuuga, ou te fia faia se fuafuaga mo le mea e fai i le Legacy services.

O le toe tusia o talatuu mai le amataga o se manatu leaga
O le mea moni, e te le tau mafaufau i ai. E manino lava ou te manaʻo i ai, ma e iai ni faʻamanuiaga, ae masani lava e leai se tasi e manaʻomia, e aofia ai oe.

Faʻamatalaga tusi
Su'e fa'ailoga fa'apogai o au tusi talosaga, fai se tusi fa'asino e fa'ailoa mai ai le mea o iai ma pe fa'apefea ona galue, fa'aofi se fa'amatalaga o le poloketi iina (conditional readme.md) e vave malamalama ai po'o fea o lo'o i ai ogalaau ma metrics. O le tagata fa'atupu o le a feagai ma lenei mea pe a uma ona e fai atu faafetai.

Malamalama i le vaega
Afai e iai sau vaega, taumafai e taofi lou tamatamailima i luga o le fatu. E foliga fa'atauva'a, ioe, ae le o tagata uma e fa'amautinoa o lo'o i totonu o le ki e tasi le tautua. Ae o le galue i se tasi tulaga e matua faigofie lava.

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

O le a sau mea e fai i lou talatuu?

  • 31.5%O loʻo ou toe tusi mai le amataga, e sili atu le saʻo 12

  • 52.6%Toetoe lava tutusa ma oe20

  • 10.5%E leai so matou talatuu, matou te lelei4

  • 5.2%O le a ou tusi i faʻamatalaga2

38 tagata fa'aoga na palota. 20 tagata fa'aoga na le fa'aaogaina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga