{"id":53442,"date":"2019-12-02T00:00:00","date_gmt":"2019-12-01T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/legacy-servisy-v-vashej-infrastrukture"},"modified":"2020-02-18T14:01:20","modified_gmt":"2020-02-18T11:01:20","slug":"legacy-servisy-v-vashej-infrastrukture","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture","title":{"rendered":"Sh\u00ebrbimet legjend\u00eb n\u00eb infrastruktur\u00ebn tuaj","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje! Emri im \u00ebsht\u00eb Pasha Chernyak, un\u00eb jam zhvillues kryesor n\u00eb QIWI, dhe sot d\u00ebshiroj t\u00eb flas p\u00ebr di\u00e7ka t\u00eb pashmangshme. Rreth Legacy.<\/p>\n<p>Le t\u00eb fillojm\u00eb me nj\u00eb pyetje: \u00e7far\u00eb \u00ebsht\u00eb nj\u00eb sh\u00ebrbim Legacy? A \u00ebsht\u00eb nj\u00eb sh\u00ebrbim q\u00eb zhvilluesi nuk e ka prekur p\u00ebr nj\u00eb jav\u00eb\/muaj\/vit? Apo \u00ebsht\u00eb nj\u00eb sh\u00ebrbim q\u00eb u shkrua nga nj\u00eb programues m\u00eb pak t\u00eb eksperienc\u00ebs, si\u00e7 ishit ju, por nj\u00eb vit m\u00eb par\u00eb? Tani, ju jeni m\u00eb t\u00eb mir\u00eb dhe m\u00eb t\u00eb p\u00ebrvojsh\u00ebm. Apo ndoshta, sh\u00ebrbimi Legacy \u00ebsht\u00eb ai q\u00eb keni vendosur ta lini pa e prekur m\u00eb dhe po p\u00ebrgatiteni p\u00ebr ta z\u00ebvend\u00ebsuar ngadal\u00eb? N\u00eb \u00e7do rast, l\u00ebnia e nj\u00eb sh\u00ebrbimi t\u00eb till\u00eb pa mbik\u00ebqyrje dhe pa e p\u00ebrdit\u00ebsuar \u2014 \u00ebsht\u00eb nj\u00eb bomb\u00eb me koh\u00ebzgjatje, e cila mund t\u00eb shp\u00ebrthej\u00eb m\u00eb von\u00eb.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/qiwi\/blog\/477682\/\"><img decoding=\"async\" alt=\"Sh\u00ebrbimet legjend\u00eb n\u00eb infrastruktur\u00ebn tuaj\" src=\"\/wp-content\/uploads\/2019\/12\/d33a4a7983d1c440570bc0ff8da0f1d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Para se t\u00eb kalojm\u00eb tek m\u00ebnyra se si ne n\u00eb QIWI punojm\u00eb me sh\u00ebrbimet tona Legacy, do t'ju tregoj se si e rregulluam situat\u00ebn me sh\u00ebrbimet n\u00eb Portofolin. Ka dy vjet q\u00eb un\u00eb p\u00ebrgjigjem p\u00ebr funksionimin e tij. N\u00ebse ka ndonj\u00eb problem, gjithmon\u00eb m\u00eb telefonojn\u00eb mua s\u00eb pari. M\u00eb mungon zakonisht guximi p\u00ebr t'i telefonuar dikujt tjet\u00ebr n\u00eb or\u00ebn 11 t\u00eb mbr\u00ebmjes, prandaj kam qen\u00eb i detyruar t\u00eb ulem dhe t\u00eb kuptoj t\u00eb gjitha sh\u00ebrbimet e domainit ton\u00eb. <\/p>\n<p>Por ndonj\u00eb arsye, si \u00e7do njeri tjet\u00ebr, un\u00eb e dua t\u00eb flen\u00eb nat\u00ebn, prandaj p\u00ebrpiqesha t\u00eb kuptoja situat\u00ebn: \"Djem, pse m\u00eb telefononi?\". P\u00ebrgjigjja ishte e thjesht\u00eb: \"K\u00ebnd tjet\u00ebr?\". Sepse un\u00eb marr\u00eb n\u00eb dor\u00eb sh\u00ebrbimet, nd\u00ebrsa ata thjesht nuk din\u00eb se kujt t'i drejtohen.<\/p>\n<p>Prandaj, n\u00eb nj\u00eb nga retrospektivat e ekipit t\u00eb back-end t\u00eb Portofolit, vendos\u00ebm q\u00eb t\u00eb p\u00ebrgatitim nj\u00eb tabel\u00eb me list\u00ebn e sh\u00ebrbimeve tona, mikrosh\u00ebrbimeve dhe monoliteve t\u00eb portofolit, s\u00eb bashku me p\u00ebrgjegj\u00ebsit p\u00ebr to. Tabelat jan\u00eb gjithmon\u00eb t\u00eb dobishme, n\u00eb kufij t\u00eb arsyesh\u00ebm.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nP\u00ebrve\u00e7 informacionit se kush \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr \u00e7far\u00eb, aty kishte p\u00ebrgjigje p\u00ebr pyetje si: kush \u00ebsht\u00eb pronari i sh\u00ebrbimit, kush \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr zhvillimin e tij, p\u00ebr arkitektur\u00ebn dhe ciklin e jet\u00ebs. Njer\u00ebzit p\u00ebrgjegj\u00ebs p\u00ebr k\u00ebt\u00eb sh\u00ebrbim jan\u00eb ata q\u00eb mund ta riparojn\u00eb at\u00eb n\u00eb rast nevoje. Pronari i sh\u00ebrbimit ka t\u00eb drejt\u00eb t\u00eb l\u00ebr\u00eb +2 n\u00eb komitet, nd\u00ebrsa p\u00ebrgjegj\u00ebsit duhet gjithmon\u00eb t\u00eb jen\u00eb t\u00eb pranish\u00ebm n\u00eb rishikim p\u00ebrpara se ky sh\u00ebrbim t\u00eb marr\u00eb nj\u00eb komitet t\u00eb ri.<\/p>\n<p>Koha kalonte, filluan t\u00eb aplikoheshin praktika t\u00eb reja, si migrimi n\u00eb Kubernetes, kontrollet checkstyle, spotbugs, ktlint, pranimi i logeve n\u00eb Kibana, autodiscovery e sh\u00ebrbimeve n\u00eb vend t\u00eb tregimit t\u00eb adresave direkt dhe shum\u00eb t\u00eb tjera. Dhe kudo tabela jon\u00eb lejonte t\u00eb mbante aktualitetin e sh\u00ebrbimeve tona. P\u00ebr ne, kjo \u00ebsht\u00eb nj\u00eb lloj liste kontrolli q\u00eb tregon q\u00eb kjo sh\u00ebrbim di t\u00eb b\u00ebj\u00eb k\u00ebt\u00eb, por p\u00ebr k\u00ebt\u00eb ende nuk \u00ebsht\u00eb. Por ne shkuam m\u00eb tej, duke kuptuar se na mungonte informacioni mbi sh\u00ebrbimet tona, p\u00ebr t\u00eb cilat ne mbajm\u00eb n\u00ebn v\u00ebzhgim, ku ndodhen kodet burimore t\u00eb sh\u00ebrbimit, ku startohen detyrat p\u00ebr nd\u00ebrtim n\u00eb TeamCity, si sh\u00ebrbehen ato, ku ruhen kodet burimor t\u00eb testeve end2end, fotografit\u00eb e arkitektur\u00ebs, p\u00ebr vendimet e marra. N\u00eb m\u00ebnyr\u00eb ideale, do t\u00eb doja q\u00eb gjith\u00eb ky informacion t\u00eb ishte diku i ruajtur dhe i thjesht\u00eb p\u00ebr t'u gjetur kur \u00ebsht\u00eb e nevojshme. Prandaj, tabela jon\u00eb u b\u00eb pika e nisjes p\u00ebr t\u00eb k\u00ebrkuar informacion.<\/p>\n<p>Por QIWI, ndon\u00ebse ruan frym\u00ebn e nj\u00eb startupi, \u00ebsht\u00eb nj\u00eb kompani e madhe. Ne jemi tashm\u00eb 12 vje\u00e7, dhe ekipet ndryshojn\u00eb: njer\u00ebzit largohen, njer\u00ebzit vijn\u00eb, formohen ekipe t\u00eb reja. Dhe ne kemi zbuluar n\u00eb domenin ton\u00eb disa sh\u00ebrbime, q\u00eb na jan\u00eb trash\u00ebguar. Disa erdh\u00ebn me zhvilluesit nga ekipe t\u00eb tjera, disa thjesht nd\u00ebrlidheshin n\u00eb nj\u00eb m\u00ebnyr\u00eb me Portofolin, prandaj sh\u00ebrbimi tani \u00ebsht\u00eb n\u00eb bilancin ton\u00eb. Pse t\u00eb merremi me ato q\u00eb funksionojn\u00eb dhe si funksionojn\u00eb? Sh\u00ebrbimi po punon dhe ne kemi karakteristika produktesh q\u00eb duhet patjet\u00ebr t\u00eb realizojm\u00eb.<\/p>\n<h2>Si ndodh<\/h2>\n<p>\nPor nj\u00eb moment t\u00eb caktuar, e kuptojm\u00eb se sh\u00ebrbimi ka ndalur s\u00eb funksionuari, di\u00e7ka \u00ebsht\u00eb prishur \u2014 \u00e7far\u00eb t\u00eb b\u00ebjm\u00eb n\u00eb nj\u00eb situat\u00eb t\u00eb till\u00eb? Sh\u00ebrbimi ndaloi s\u00eb funksionuari. Plot\u00ebsisht. Dhe e m\u00ebsuam p\u00ebr k\u00ebt\u00eb, n\u00eb radh\u00eb t\u00eb par\u00eb, rast\u00ebsisht, dhe n\u00eb radh\u00eb t\u00eb dyt\u00eb, pas gjasht\u00eb muajsh. K\u00ebshtu ndodh. E vetmja gj\u00eb q\u00eb dinim ishte se n\u00eb cilat virtualka ishte vendosur sh\u00ebrbimi, ku ndodheshin kodet e tij burimore dhe asgj\u00eb m\u00eb tep\u00ebr. Ne b\u00ebjm\u00eb git clone dhe zhytim n\u00eb mendimet e atij q\u00eb e shkroi k\u00ebt\u00eb disa vite m\u00eb par\u00eb, por \u00e7far\u00eb shohim? Asnj\u00eb Spring Boot t\u00eb zakonsh\u00ebm p\u00ebr ne, pavar\u00ebsisht se jemi m\u00ebsuar me gjith\u00e7ka, ne jemi full stack dhe di\u00e7ka t\u00eb till\u00eb. Nd\u00ebrsa, ndoshta, \u00ebsht\u00eb aty Spring Framework? Por ja q\u00eb nuk \u00ebsht\u00eb.<\/p>\n<p>Djali q\u00eb shkruante gjith\u00e7ka ishte i ashp\u00ebr dhe shkruante gjith\u00e7ka n\u00eb Java t\u00eb past\u00ebr. Nuk ka mjete t\u00eb zakonshme p\u00ebr zhvilluesit, dhe lind ideja \u2014 duhet t\u00eb rikodojm\u00eb gjith\u00e7ka. Ne kemi mikrosh\u00ebrbime, dhe nga \u00e7do tostier\u00eb vjen deklarata e zakonshme \"Djem, mikrosh\u00ebrbimet jan\u00eb ato q\u00eb ju duhen!\". N\u00ebse ndodhi ndonj\u00eb gj\u00eb e keqe, do t\u00eb merrni qet\u00ebsisht \u00e7far\u00ebdo gjuhe dhe gjith\u00e7ka do t\u00eb shkoj\u00eb p\u00ebr mrekulli.<\/p>\n<p>Problemi \u00ebsht\u00eb se tani nuk kemi nj\u00eb klient q\u00eb p\u00ebrgjigjet p\u00ebr k\u00ebt\u00eb sh\u00ebrbim. \u00c7far\u00eb k\u00ebrkesash biznesi kishte ai, \u00e7far\u00eb duhet t\u00eb b\u00ebj\u00eb ky sh\u00ebrbim? Ky sh\u00ebrbim \u00ebsht\u00eb ngusht\u00ebsisht i integruar n\u00eb proceset tuaja biznesore. <\/p>\n<p>Dhe tani, sa e leht\u00eb \u00ebsht\u00eb t\u00eb riprogramosh sh\u00ebrbimin pa e ditur k\u00ebrkesat e tij biznesore? Si logaritet sh\u00ebrbimi, ka metrika - kjo \u00ebsht\u00eb e panjohur. Cilat jan\u00eb ato, n\u00ebse ekzistojn\u00eb - kjo \u00ebsht\u00eb gjithashtu e panjohur. Dhe p\u00ebr m\u00eb tep\u00ebr, n\u00eb sh\u00ebrbim ka nj\u00eb num\u00ebr t\u00eb madh klasash me logjik\u00eb biznesi t\u00eb paqart\u00eb. Di\u00e7ka hyn n\u00eb nj\u00eb baz\u00eb t\u00eb dh\u00ebnash, p\u00ebr t\u00eb cil\u00ebn ne gjithashtu nuk dim\u00eb asgj\u00eb akoma. <\/p>\n<h2>Nga t\u00eb fillojm\u00eb?<\/h2>\n<p>\nNga gj\u00ebja m\u00eb logjike - prania e testeve. Aty zakonisht \u00ebsht\u00eb shkruar ndonj\u00eb logjik\u00eb dhe mund t\u00eb nxirren p\u00ebrfundime mbi at\u00eb q\u00eb po ndodh. Tani \u00ebsht\u00eb n\u00eb mod\u00eb TDD, por ne shohim q\u00eb edhe 5 vjet m\u00eb par\u00eb ishte pothuajse ashtu si tani: testet unit jan\u00eb gati t\u00eb pa ekzistueshme, dhe ato nuk do t'na tregojn\u00eb asgj\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb sakt\u00eb. T\u00eb pakt\u00ebn, p\u00ebrve\u00e7 ndonj\u00eb kontrolli, si n\u00ebnshkruhet nj\u00eb xml me ndonj\u00eb certifikat\u00eb t\u00eb personalizuar.<\/p>\n<p>Nga kodi nuk arrit\u00ebm t\u00eb kuptonim asgj\u00eb, dhe ne e shikuam virtualen. Hap\u00ebm logjet e sh\u00ebrbimit dhe gjet\u00ebm nj\u00eb gabim t\u00eb HTTP klientit, nj\u00eb certificat vet\u00eb-n\u00ebnshkruar q\u00eb ishte inkorporuar n\u00eb burimet e aplikacionit, ishte shkat\u00ebrruar pa m\u00ebshir\u00eb. Kemi kontaktuar analist\u00ebt tan\u00eb, ata k\u00ebrkuan nj\u00eb certificat t\u00eb ri, ne e mor\u00ebm at\u00eb dhe sh\u00ebrbimi p\u00ebrs\u00ebri funksionon. Mund t\u00eb duket sikur kjo \u00ebsht\u00eb e gjitha. Apo jo? Megjithat\u00eb, sh\u00ebrbimi funksionon, ai realizon nj\u00eb funksion t\u00eb caktuar q\u00eb i nevojitet biznesit ton\u00eb. Kemi disa standarde p\u00ebr zhvillimin e aplikacioneve, t\u00eb cilat me siguri i keni edhe ju. P\u00ebr shembull, t\u00eb mos ruajm\u00eb logjet n\u00eb nod\u00eb n\u00eb nj\u00eb dosje, por t'i ruajm\u00eb n\u00eb nj\u00eb depo, si elastic, p\u00ebr t'i par\u00eb ato n\u00eb Kibana. Mund t\u00eb p\u00ebrmendim edhe metrikat e arta. K\u00ebshtu, ngarkesa mbi sh\u00ebrbim, numri i k\u00ebrkesave mbi sh\u00ebrbim, n\u00ebse \u00ebsht\u00eb aktiv apo jo, si kalon kontrollin sh\u00ebndet\u00ebsor. T\u00eb pakt\u00ebn, k\u00ebto metrika do t\u00eb ndihmojn\u00eb t\u00eb kuptojm\u00eb kur mund ta \u00e7elim at\u00eb me nj\u00eb nd\u00ebrgjegje t\u00eb qet\u00eb dhe ta harrojm\u00eb si nj\u00eb makth t\u00eb keq.<\/p>\n<h2>\u00c7far\u00eb t\u00eb b\u00ebjm\u00eb<\/h2>\n<p>\nPrandaj ne e shtojm\u00eb nj\u00eb sh\u00ebrbim kaq t\u00eb vjet\u00ebr n\u00eb tabel\u00eb, dhe pastaj shkojm\u00eb t\u00eb k\u00ebrkojm\u00eb nga zhvilluesit vullnetar\u00eb q\u00eb t\u00eb merren me sh\u00ebrbimin dhe ta sjellin at\u00eb n\u00eb form\u00eb: t\u00eb shkruajn\u00eb ndonj\u00eb informacion p\u00ebr sh\u00ebrbimin, t\u00eb shtojn\u00eb lidhje p\u00ebr tabelat n\u00eb Grafana, p\u00ebr detyrat e nd\u00ebrtimit, t\u00eb kuptojn\u00eb se si t\u00eb \u00e7elni aplikacionin, nuk \u00ebsht\u00eb e arsyeshme t\u00eb ngarkoni skedar\u00ebt me dor\u00eb p\u00ebrmes FTP-s\u00eb. <\/p>\n<p>E r\u00ebnd\u00ebsishme \u00ebsht\u00eb sa koh\u00eb do t\u00eb marr\u00eb e gjith\u00eb kjo aktivitet vullnetar i dobish\u00ebm? Nj\u00eb sprint p\u00ebr nj\u00eb zhvillues m\u00eb shum\u00eb ose m\u00eb pak t\u00eb aft\u00eb, p\u00ebr shembull, gjat\u00eb 20%-it t\u00eb borxhit teknik. Dhe sa koh\u00eb u desh p\u00ebr t\u00eb kuptuar gjith\u00eb logjik\u00ebn e thell\u00eb lidhur me komunikimin me ndonj\u00eb sistem shtet\u00ebror, p\u00ebr ta \u00e7uar at\u00eb n\u00eb teknologji m\u00eb t\u00eb reja? Nuk jam i sigurt, ndoshta nj\u00eb muaj, ndoshta edhe dy pun\u00eb ekipore. K\u00ebt\u00eb e them sipas p\u00ebrvoj\u00ebs s\u00eb integrimit aktual me ndonj\u00eb sh\u00ebrbim t\u00eb ri.<\/p>\n<p>Megjithat\u00eb, nuk ka ndonj\u00eb vler\u00eb p\u00ebr biznesin - asnj\u00eb. Fare. T\u00eb marr\u00ebsh sh\u00ebrbimin n\u00eb mb\u00ebshtetje dhe t\u00eb shpenzosh pak koh\u00eb p\u00ebr t\u00eb \u00ebsht\u00eb normale. Por pas standardeve tona t\u00eb sh\u00ebrbimit, e kemi shtuar at\u00eb n\u00eb tabel\u00eb, kemi shtuar informacion p\u00ebr t\u00eb dhe ndoshta nj\u00eb dit\u00eb do ta rind\u00ebrtojm\u00eb. Por tani, ai p\u00ebrmbush standardet tona p\u00ebr pun\u00ebn e sh\u00ebrbimeve.<\/p>\n<p>Si pasoj\u00eb, do doja t\u00eb \u00e7oja n\u00eb nj\u00eb plan se \u00e7far\u00eb t\u00eb b\u00ebjm\u00eb me sh\u00ebrbimet Legacy. <\/p>\n<p><b>Rind\u00ebrtimi i legacy nga fillimi \u00ebsht\u00eb nj\u00eb ide e keqe.<\/b><br \/>\nSeriozisht, madje as nuk duhet ta mendoni k\u00ebt\u00eb. E qart\u00eb q\u00eb do t\u00eb d\u00ebshironit dhe duken disa p\u00ebrfitime, por zakonisht askush nuk ka nevoj\u00eb p\u00ebr t\u00eb, duke p\u00ebrfshir\u00eb veten tuaj.<\/p>\n<p><b>Katalogu<\/b><br \/>\nGjeni kodet burimore t\u00eb aplikacioneve tuaja, b\u00ebni nj\u00eb katalog n\u00eb t\u00eb cilin do t\u00eb tregoni se \u00e7far\u00eb dhe ku ndodhet dhe si funksionon, gjithashtu shkruani p\u00ebrshkrimin e projektit (si nj\u00eb readme.md) p\u00ebr t\u00eb kuptuar shpejt se ku ndodhen log-et dhe metrikat. Programuesi q\u00eb do t\u00eb merret me k\u00ebt\u00eb pas jush do t'i thot\u00eb faleminderit.<\/p>\n<p><b>Kuptoni domenin<\/b><br \/>\nN\u00ebse keni ndonj\u00eb domen, p\u00ebrpiquni ta mbani dor\u00ebn mbi puls. Duket klishe, por jo t\u00eb gjith\u00eb i kushtojn\u00eb v\u00ebmendje q\u00eb sh\u00ebrbimet t\u00eb jen\u00eb n\u00eb nj\u00eb linj\u00eb. Dhe n\u00eb t\u00eb v\u00ebrtet\u00eb, t\u00eb punosh n\u00eb nj\u00eb standard \u00ebsht\u00eb ndjesh\u00ebm m\u00eb e leht\u00eb.<\/p>\n<p class=\"for_users_only_msg\">Vet\u00ebm p\u00ebrdoruesit e regjistruar mund t\u00eb marrin pjes\u00eb n\u00eb anket\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Hyni<\/a><\/noindex>, ju lutemi.<\/p>\n<h2 class=\"default-block__polling-title\">\u00c7far\u00eb b\u00ebni me legacen tuaj?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">31.5%<\/strong>Po e rishkruaj nga e para, k\u00ebshtu \u00ebsht\u00eb m\u00eb mir\u00eb.<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">52.6%<\/strong>Gati e nj\u00ebjt\u00eb si ju.<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">10.5%<\/strong>Ne nuk kemi legacy, jemi t\u00eb shk\u00eblqyer.<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">5.2%<\/strong>Do ta shkruaj n\u00eb komentet.<\/p>\n<\/li>\n<\/ul>\n<p>    38 p\u00ebrdorues kan\u00eb votuar. 20 p\u00ebrdorues kan\u00eb abstenuar.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/qiwi\/blog\/477682\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0448\u0430 \u0427\u0435\u0440\u043d\u044f\u043a, \u044f \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432 QIWI, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e\u043c. \u041e Legacy. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Legacy-\u0441\u0435\u0440\u0432\u0438\u0441? Legacy-\u0441\u0435\u0440\u0432\u0438\u0441 \u2014 \u044d\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043d\u0435 \u043a\u0430\u0441\u0430\u043b\u0441\u044f \u0443\u0436\u0435 \u043d\u0435\u0434\u0435\u043b\u044e\/\u043c\u0435\u0441\u044f\u0446\/\u0433\u043e\u0434? \u0418\u043b\u0438 \u044d\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043c\u0435\u043d\u0435\u0435 \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0432\u0430\u043c\u0438, \u043d\u043e \u0433\u043e\u0434 \u043d\u0430\u0437\u0430\u0434? \u0410 \u0442\u0435\u043f\u0435\u0440\u044c-\u0442\u043e \u0432\u044b \u043a\u0440\u0443\u0447\u0435 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":53443,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53442","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0448\u0430 \u0427\u0435\u0440\u043d\u044f\u043a, \u044f \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432 QIWI, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e\u043c. \u041e Legacy. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Legacy-\u0441\u0435\u0440\u0432\u0438\u0441?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Legacy-\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u0432\u0430\u0448\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0448\u0430 \u0427\u0435\u0440\u043d\u044f\u043a, \u044f \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432 QIWI, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e\u043c. \u041e Legacy. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Legacy-\u0441\u0435\u0440\u0432\u0438\u0441?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-01T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Legacy-sh\u00ebrbimet n\u00eb infrastruktur\u00ebn tuaj | ProHoster","description":"P\u00ebrsh\u00ebndetje! Un\u00eb quhem Pasha Chernyak, jam zhvillues kryesor n\u00eb QIWI, dhe sot dua t\u00eb flas p\u00ebr di\u00e7ka t\u00eb pashmangshme. Rreth Legacy. Le t\u00eb fillojm\u00eb me nj\u00eb pyetje: \u00e7far\u00eb \u00ebsht\u00eb nj\u00eb sh\u00ebrbim Legacy?","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Legacy-\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u0432\u0430\u0448\u0435\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041f\u0430\u0448\u0430 \u0427\u0435\u0440\u043d\u044f\u043a, \u044f \u0432\u0435\u0434\u0443\u0449\u0438\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0432 QIWI, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e\u043c. \u041e Legacy. \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0432\u043e\u043f\u0440\u043e\u0441\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Legacy-\u0441\u0435\u0440\u0432\u0438\u0441?","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-01T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53442","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 07:23:42","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:25:27","updated":"2026-01-24 07:23:42","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/53442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=53442"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/53442\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/53443"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=53442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=53442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=53442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}