{"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\/et\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture","title":{"rendered":"Ajaloolised teenused teie infrastruktuuris","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere! Minu nimi on Pasha Chernyak, olen QIWI peaarendaja ja t\u00e4na tahan r\u00e4\u00e4kida millestki v\u00e4ltimatust. Legacyst.<\/p>\n<p>Alustame k\u00fcsimusest: mis on Legacy-teenus? Legacy-teenus on teenus, mida arendaja pole puudutanud n\u00e4dalat\/kuid\/ aastat? V\u00f5i on see teenus, mille kirjutas v\u00e4hem kogenud programmeerija, n\u00e4iteks teie ise, kuid aasta tagasi? Ja n\u00fc\u00fcd olete palju oskuslikum. V\u00f5i siis Legacy-teenus on see, mille otsustasite enam mitte komiteerida ja j\u00e4rk-j\u00e4rgult valmistate talle asendust? Igatahes, sellise teenuse j\u00e4tmine j\u00e4relevalveta ja mitte uuendamine on aeglane pomm, mis v\u00f5ib hiljem plahvatada.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/qiwi\/blog\/477682\/\"><img decoding=\"async\" alt=\"Ajaloolised teenused teie infrastruktuuris\" src=\"\/wp-content\/uploads\/2019\/12\/d33a4a7983d1c440570bc0ff8da0f1d6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Enne kui liigun edasi selle juurde, kuidas me QIWI-s oma Legacy-teenustega t\u00f6\u00f6tame, r\u00e4\u00e4gin, kuidas me korrastasime teenuseid Rahakotis. Olen juba kaks aastat vastutanud selle t\u00f6\u00f6kindluse eest. Kui tekib mingi probleem, siis helistatakse alati esimesena mulle. Mul tavaliselt ei j\u00e4tku julgust kell 11 \u00f5htul kellelegi teisele helistada, seega olen pidanud istuma ja uurima meie domeeni k\u00f5iki teenuseid. <\/p>\n<p>Aga nagu iga inimene, armastan ma \u00f6\u00f6sel magada, seega p\u00fc\u00fcdsin aru saada, miks mulle helistatakse: \"Kutt, miks te mulle helistate?\". Mispeale sain \u00fcsna lakoonilise vastuse: \"Kellele mujale?\". Sest ma parandada teenuseid, ja veel ei tea kutid lihtsalt, kellele helistada.<\/p>\n<p>Seega otsustasime \u00fche Rahakoti tagasivaate koosoleku jooksul, et tuleb koostada tabel, kus on kirjas meie teenuste, mikroteenuste ja monoliitide nimekiri ning nende eest vastutavad isikud. Tabelid on palju kasulikud, m\u00f5istlike piiride piires.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLisaks sellele, kelle eest vastutab, oli seal ka vastused k\u00fcsimustele: kes on teenuse omanik, kes vastutab selle arengu, arhitektuuri ja eluts\u00fckli eest. Teenuse eest vastutavad isikud on need, kes saavad vajadusel teenust parandada. Teenuse omanikul on \u00f5igus j\u00e4tta +2 komiteerimisse, vastutavad peavad samuti kindlasti olema kohal \u00fclevaatusel, enne kui teenus selle uue komiteerimise vastu v\u00f5tab.<\/p>\n<p>Aeg l\u00e4ks, hakati kasutama uusi praktikaid, nagu n\u00e4iteks migreerimine Kubernetesesse, erinevad checkstyle, spotbugs, ktlint, logide olemasolu Kibanas, teenuste autodetektsioon otse aadresside m\u00e4\u00e4ramise asemel ja muid kasulikke funktsioone. Ning igal pool v\u00f5imaldas meie tabel toetada meie teenuste ajakohasust. Meie jaoks on see teatud kontrollnimekiri, mis n\u00e4itab, et see teenus oskab seda teha, aga seda ei oska veel. Kuid me l\u00e4ksime edasi, m\u00f5istes, et meil on puudu teave meie teenuste kohta, mille \u00fcle me j\u00e4lgime, kus asuvad teenuse l\u00e4htekoodid, kus k\u00e4ivitatakse \u00fclesandeid TeamCitys, kuidas need t\u00f5stetakse \u00fcles, kus hoitakse end2end testide l\u00e4htekoodid, arhitektuuri fotod, tehtud otsused. Ideaalis tahaks, et kogu see teave oleks kusagil olemas ja k\u00e4ep\u00e4rane, kui seda on vaja. Seet\u00f5ttu sai meie tabel punktiks, kust alustada teabe otsimist.<\/p>\n<p>Kuid QIWI, kuigi s\u00e4ilitab idufirma vaimu, on suur ettev\u00f5te. Meil on juba 12 aastat, ja meeskonnad vahetuvad: inimesed lahkuvad, inimesed tulevad, moodustuvad uued meeskonnad. Ja me avastasime oma domeenil mitmeid teenuseid, mis on meile p\u00e4randiks j\u00e4\u00e4nud. Midagi tuli arendajatelt teistest meeskondadest, midagi seostus lihtsalt Kottiga kaudselt, seega on see teenus n\u00fc\u00fcd meie bilansis. Miks vaevata end sellega, mida ja kuidas see t\u00f6\u00f6tab? Teenus t\u00f6\u00f6tab ju, ja meil on toote omadusi, mida on kindlasti vaja ellu viia.<\/p>\n<h2>Nagu ikka juhtub<\/h2>\n<p>\nKuid mingil hetkel avastame, et teenus enam ei t\u00e4ida oma funktsiooni, midagi on katki \u2014 kuidas sellises olukorras k\u00e4ituda? Teenus on lihtsalt lakanud t\u00f6\u00f6tamast. T\u00e4ielikult. Ja me said sellest teada, esiteks, juhuslikult ja teiseks, kuue kuu p\u00e4rast. Nii juhtub. Ainus, mida me teadisime \u2014 millistel virtuaalmasinatel teenus t\u00f6\u00f6tab, kus asuvad tema l\u00e4htekoodid, ja k\u00f5ik. Me teeme git clone ja sukeldume selle inimese m\u00f5tetesse, kes kirjutab seda paar aastat tagasi, aga mida me n\u00e4eme? Mitte mingit tuttavat Spring Booti, kuigi oleme k\u00f5ik selleks harjunud, meil on ju full stack ja k\u00f5ik see. V\u00f5ib-olla on seal Spring Framework? Aga ei ole.<\/p>\n<p>Poiss, kes seda k\u00f5ike kirjutas, oli karm ja kirjutas k\u00f5ik puhtal Java keeles. Arendajale tuttavaid t\u00f6\u00f6riistu pole ning tekib idee \u2014 v\u00f5iksime selle k\u00f5ik \u00fcmber kirjutada. Meil on ju mikroteenused olemas, ja igast r\u00f6sterist kostab tuttav \"Poisid, mikroteenused on see, mida vajate!\". Kui midagi peaks valesti olema, saate rahulikult v\u00f5tta mis tahes keele ja k\u00f5ik l\u00e4heb h\u00e4sti.<\/p>\n<p>Asi on selles, et meil ei ole praegu tellijat, kes vastutab selle teenuse eest. Millised olid tema \u00e4rilised n\u00f5udmised, mida see teenus peaks \u00fcldse tegema? Ja teenus on tihedalt integreeritud teie \u00e4riprotsessidega. <\/p>\n<p>Ja n\u00fc\u00fcd \u00f6elge, kui lihtne on teenust \u00fcmber kirjutada, teadmata selle \u00e4ri n\u00f5udeid? Teenuse logimine on segane, kas m\u00f5\u00f5dikud on olemas \u2014 teadmata. Millised need on, kui need on \u2014 seda veelgi v\u00e4hem teame. Ja samal ajal on teenuses tohutult klasside segast \u00e4ri loogikat. Midagi siseneb mingisse andmebaasi, millest me ka hetkel mitte midagi ei tea. <\/p>\n<h2>Kust alustada?<\/h2>\n<p>\nK\u00f5ige loogilisemast \u2014 testide olemasolust. Seal on tavaliselt kirjutatud v\u00e4hemalt mingisugune loogika ja saab teha j\u00e4reldusi selle kohta, mis toimub. Praegu on moes TDD, kuid n\u00e4eme, et samad 5 aastat tagasi oli k\u00f5ik peaaegu sama nagu praegu: unit-testide arvu on peaaegu mitte ja need ei \u00fctle meile ju p\u00e4ris midagi. No v\u00e4lja arvatud v\u00f5ib-olla mingisugune kontroll, kuidas allkirjastatakse mingit xml-i mingiga custom sertifikaadiga.<\/p>\n<p>Koodi p\u00f5hjal ei saanud me midagi aru, ja me pidime vaatama, mis toimub virtuaalkeskkonnas. Avastasime teenuse logides http-klientide vea, milleks oli enesep\u00e4dev sertifikaat, mis oli rakenduse ressurssidest sisse pandud ja oli juba aegunud. V\u00f5tsime \u00fchendust meie anal\u00fc\u00fctikutega, nad palusid uut sertifikaati, see anti meile ja teenus hakkas j\u00e4lle t\u00f6\u00f6le. Tundus, et sellega on k\u00f5ik. V\u00f5i siiski? Teenus t\u00f6\u00f6tab, ta t\u00e4idab teatud funktsiooni, mis on meie \u00e4ri jaoks vajalik. Meil on olemas teatud rakenduste arendusstandardid, mis on kindlasti ka teil. N\u00e4iteks, et logisid ei hoita node'is kaustas, vaid hoitakse kuskil andmehoidlas, n\u00e4iteks elasticas, ja l\u00e4htestame neid Kibanas. V\u00f5ime meenutada ka kuldseid meetmeid. St teenuse koormus, teenusele esitatud p\u00e4ringute arv, kas ta on elus v\u00f5i mitte, kuidas tal HealthCheck l\u00e4heb. Igatahes aitavad need m\u00f5\u00f5dikud teada, millal on ta rahumeelselt k\u00e4itamisest k\u00f5rvale t\u00f5sta ja unustada nagu halb unen\u00e4gu.<\/p>\n<h2>Mida teha<\/h2>\n<p>\nSeet\u00f5ttu lisame sellise vana teenuse tabelisse ja seej\u00e4rel hakkame otsima vabatahtlikke arendajate hulgast, kes teenusega tegeleksid ja selle korda looksid: kirjutaksid teenuse kohta mingit teavet, lisaksid linke Grafanas olevatele armatuurlaudadele, ehitust\u00f6\u00f6dele, m\u00f5istaksid, kuidas rakendust \u00fcles seada, ei saa ju k\u00e4tega FTP kaudu faile lisada. <\/p>\n<p>Peamine on see \u2014 kui kaua kogu see kasulik vabatahtlik tegevus aega v\u00f5tab? \u00dcks sprind enam-v\u00e4hem kogenud arendajale, n\u00e4iteks 20%-lise tehnilise v\u00f5lgade ajal. Ja kui palju aega kulus selleks, et m\u00f5ista k\u00f5iki keerukaid loogikaid suhtlemiseks mingi riikliku s\u00fcsteemiga ja tuua see uuemate tehnoloogiate juurde? Ma ei saa selle eest k\u00e4si anda, v\u00f5ibolla kuu, v\u00f5ibolla kahe meeskonna t\u00f6\u00f6. R\u00e4\u00e4gin oma kogemusest, kui integreeritakse m\u00f5ni uus teenus.<\/p>\n<p>Samas ei ole \u00e4riv\u00e4\u00e4rtust. \u00dcldse mitte. Teenuse toetamiseks ja selle peale natuke aega kulutada \u2014 see on normaalne. Kuid p\u00e4rast meie tavalisi tantsu teenuse \u00fcmber, lisasime selle tabelisse, lisasime teavet temast ja v\u00f5ib-olla kunagi kirjutame selle uuesti. Kuid praegu vastab see meie teenuste t\u00f6\u00f6 standarditele.<\/p>\n<p>Kokkuv\u00f5tteks sooviks tuua v\u00e4lja plaani, mida teha Legacy-teenustega. <\/p>\n<p><b>Legacy s\u00fcsteemi nullist \u00fcmber kirjutamine \u2014 halb m\u00f5te.<\/b><br \/>\nT\u00f5siselt, selle \u00fcle ei saa isegi m\u00f5elda. On selge, et soovitakse ja mingid plussid tunduvad, kuid tavaliselt ei ole selleks kellelgi vajadust, sh ka iseendale.<\/p>\n<p><b>K\u00e4siraamat<\/b><br \/>\nKaevake v\u00e4lja oma rakenduste l\u00e4htekoodid, tehke k\u00e4siraamat, kus on n\u00e4idatud, mis ja kus asub ning kuidas see t\u00f6\u00f6tab. Kirjake sinna ka projekti kirjeldus (tinglik readme.md), et kiiresti aru saada, kus asuvad logid ja m\u00f5\u00f5dikud. Arendaja, kes p\u00e4rast teid sellega tegelema hakkab, t\u00e4nab teid.<\/p>\n<p><b>M\u00f5ista domeeni<\/b><br \/>\nKui teil on m\u00f5ni domeen, p\u00fc\u00fcdke hoida k\u00e4si pulsil. See k\u00f5lab trivina, jah, kuid mitte k\u00f5ik ei j\u00e4lgi, et teenused oleksid \u00fchesuguses v\u00f5tmes. \u00dches standardis t\u00f6\u00f6tamine on tegelikult oluliselt lihtsam.<\/p>\n<p class=\"for_users_only_msg\">Ainult registreeritud kasutajad saavad k\u00fcsitluses osaleda. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logige sisse<\/a><\/noindex>, palun.<\/p>\n<h2 class=\"default-block__polling-title\">Mida te oma p\u00e4randiga teete?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">31.5%<\/strong>Kirjutan nullist \u00fcmber, nii on \u00f5igesti.<\/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>Peaaegu sama, mis teie.<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">10.5%<\/strong>Meil ei ole p\u00e4randit, me oleme toredad.<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">5.2%<\/strong>Kirjutan kommentaaridesse.<\/p>\n<\/li>\n<\/ul>\n<p>    38 kasutajat h\u00e4\u00e4letasid. 20 kasutajat j\u00e4id erapooletuks.<br \/>\n<br \/>Allikas: <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.1.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\/et\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47P\u00e4randi teenused teie infrastruktuuris | ProHoster","description":"Tere! Minu nimi on Pasha \u010cernjak, olen QIWI juhtiv arendaja ja t\u00e4na tahan r\u00e4\u00e4kida v\u00e4ltimatust. P\u00e4randist. Alustame k\u00fcsimusega: mis on p\u00e4randi teenus?","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/legacy-servisy-v-vashej-infrastrukture","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/53442","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=53442"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/53442\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/53443"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=53442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=53442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=53442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}