{"id":95999,"date":"2020-10-06T13:41:58","date_gmt":"2020-10-06T11:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki"},"modified":"2020-10-06T13:41:58","modified_gmt":"2020-10-06T11:41:58","slug":"poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","title":{"rendered":"\u00cen timp ce to\u021bi s\u0103rb\u0103toreau ziua mea de na\u0219tere, eu am reparat clusterul p\u00e2n\u0103 diminea\u021ba \u2014 iar dezvoltatorii \u00eemi d\u0103deau gre\u0219elile lor.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u00cen timp ce to\u021bi s\u0103rb\u0103toreau ziua mea de na\u0219tere, eu am reparat clusterul p\u00e2n\u0103 diminea\u021ba \u2014 iar dezvoltatorii \u00eemi d\u0103deau gre\u0219elile lor.\" src=\"\/wp-content\/uploads\/2020\/10\/f67882cb5b565cb2efef20f68bbef1d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIat\u0103 o poveste care mi-a schimbat pentru totdeauna abordarea fa\u021b\u0103 de munc\u0103 \u00een DevOps. \u00cenc\u0103 din vremurile pre-pandemie, cu mult \u00eenainte ca acestea s\u0103 apar\u0103, c\u00e2nd eu \u0219i colegii mei ne g\u00e2ndeam la afacerea noastr\u0103 \u0219i lucram ca freelanceri la diverse proiecte, am primit o propunere prin Telegram. <\/p>\n<p>Compania care a venit la noi se ocupa cu analiza datelor. Zilnic, procesau mii de solicit\u0103ri. Ne-au contactat spun\u00e2nd: \u00abB\u0103ie\u021bi, noi avem ClickHouse \u0219i vrem s\u0103 automatiz\u0103m configurarea \u0219i instalarea lui. Vrem Ansible, Terraform, Docker \u0219i s\u0103 p\u0103str\u0103m totul \u00een Git. Vrem un cluster format din patru noduri, cu c\u00e2te dou\u0103 replici \u00een fiecare.\u00bb <\/p>\n<p>O solicitare standard, printre zecile pe care le primeam, \u0219i aveam nevoie de o solu\u021bie standard la fel de bun\u0103. Am spus \u00abok\u00bb \u0219i, \u00een dou\u0103-trei s\u0103pt\u0103m\u00e2ni, totul a fost gata. Lucr\u0103rile au fost acceptate \u0219i au \u00eenceput s\u0103 se mute pe noul cluster ClickHouse cu ajutorul utilitarului nostru. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nNimeni din companie nu dorea \u0219i nu \u0219tia s\u0103 se ocupe de ClickHouse. Atunci, credeam c\u0103 aceasta era problema principal\u0103, a\u0219a c\u0103 CTO-ul companiei mi-a dat und\u0103 verde echipei mele s\u0103 automatiz\u0103m c\u00e2t mai mult posibil, pentru a nu mai interveni acolo niciodat\u0103.<\/p>\n<p>Am \u00eenso\u021bit migrarea, au ap\u0103rut alte sarcini \u2014 s\u0103 configur\u0103m backup-uri \u0219i monitorizarea. Exact \u00een acel moment, CTO-ul acelei companii s-a mutat pe un alt proiect, l\u0103s\u00e2ndu-ne pe noi s\u0103 conducem echipa sub comanda unuia dintre angaja\u021bii lor \u2014 Leonid. Lio\u0219a nu era un tip prea str\u0103lucit. Un programator obi\u0219nuit, care dintr-o dat\u0103 a fost pus \u0219ef la ClickHouse. Se p\u0103rea c\u0103 aceasta a fost prima sa numire \u00een care trebuia s\u0103 conduc\u0103 ceva, iar pe m\u0103sur\u0103 ce a c\u0103p\u0103tat aceast\u0103 distinc\u021bie, a \u00eenceput s\u0103 sufere de sindromul celebrit\u0103\u021bii. <\/p>\n<p>\u00cempreun\u0103 ne-am apucat de backup-uri. I-am sugerat s\u0103 facem backup imediat pe datele originale. Pur \u0219i simplu s\u0103 le lu\u0103m, s\u0103 le comprim\u0103m \u0219i s\u0103 le \u00eenc\u0103rc\u0103m elegant \u00eentr-un S3. Datele originale sunt aur. Era \u0219i o alt\u0103 op\u021biune \u2014 s\u0103 facem backup tabelor din ClickHouse, folosind freeze \u0219i copiere. Dar Lio\u0219a a propus propria sa solu\u021bie.<\/p>\n<p>El a anun\u021bat c\u0103 avem nevoie de un al doilea cluster ClickHouse. \u0218i de acum \u00eenainte vom scrie datele pe dou\u0103 clustere \u2014 cel principal \u0219i cel de backup. I-am spus: \u00abLio\u0219a, nu va fi un backup \u2014 ci o replic\u0103 activ\u0103. \u0218i dac\u0103 datele \u00eencep s\u0103 lipseasc\u0103 din produc\u021bie, pe backup-ul t\u0103u va fi acela\u0219i lucru.\u00bb <\/p>\n<p>Dar Lio\u0219a s-a ag\u0103\u021bat de volan \u0219i a refuzat s\u0103 asculte argumentele mele. Ne-am certat mult \u00een chat, dar nu aveam ce s\u0103 facem \u2014 Lio\u0219a conducea proiectul, iar noi eram doar ni\u0219te b\u0103ie\u021bi angaja\u021bi de pe strad\u0103.<\/p>\n<p>Am monitorizat starea cluster-ului \u0219i am perceput plat\u0103 doar pentru munca administratorilor. Administrare curat\u0103 a ClickHouse-ului, f\u0103r\u0103 a ne amesteca \u00een date. Cluster-ul era disponibil, discurile erau \u00een regul\u0103, nodurile la fel. <\/p>\n<h3>\u00cenc\u0103 nu b\u0103nuiam c\u0103 am primit aceast\u0103 comand\u0103 dintr-o ne\u00een\u021belegere teribil\u0103 \u00een cadrul echipei lor.<\/h3>\n<p>\nManagerul era nemul\u021bumit c\u0103 ClickHouse-ul func\u021biona lent \u0219i, uneori, se pierdeau date. Acesta i-a dat sarcina CTO-ului s\u0103 se ocupe de problem\u0103. Acesta a \u00eencercat s\u0103 descopere cauza \u0219i a ajuns la concluzia c\u0103 trebuie s\u0103 automatizeze ClickHouse-ul \u2014 \u0219i gata. Dar, cum s-a dovedit cur\u00e2nd, echipa de care aveau nevoie nu era deloc cea de DevOps.<\/p>\n<p>Toate acestea s-au descoperit \u00eentr-un mod foarte dureros. \u0218i cel mai trist, s-a \u00eent\u00e2mplat \u00een ziua mea de na\u0219tere.<\/p>\n<p>\nVineri seara. Rezervasem o mas\u0103 la barul meu de vinuri preferat \u0219i i-am chemat pe prieteni. <\/p>\n<p>Aproape \u00eenainte de a ie\u0219i, am primit o sarcin\u0103 de a face o alternativ\u0103, am realizat-o, totul era \u00een regul\u0103. Alternativa a trecut, ClickHouse-ul a confirmat. Eram deja pe cale s\u0103 plec\u0103m la bar, c\u00e2nd ne scriu c\u0103 lipsesc date. Am calculat \u2014 p\u0103rea c\u0103 e totul \u00een regul\u0103. \u0218i am plecat s\u0103 s\u0103rb\u0103torim.<\/p>\n<p>La restaurant era zgomot ca de obicei vineri. Am comandat b\u0103utur\u0103, m\u00e2ncare \u0219i ne-am \u00eentins pe canapea. \u00cen toat\u0103 aceast\u0103 vreme, Slack-ul meu era umplut cu mesaje. Se scria ceva despre lipsa de date. Am zis \u2014 diminea\u021ba e mai \u00een\u021beleapt\u0103 dec\u00e2t seara. Mai ales ast\u0103zi.<\/p>\n<p>Aproape de unsprezece au \u00eenceput s\u0103 sune. Era managerul companiei\u2026 \u201eProbabil a decis s\u0103 m\u0103 felicite\u201d, am g\u00e2ndit eu, destul de ne\u00eencrez\u0103tor, \u0219i am r\u0103spuns la telefon.<\/p>\n<p>\u0218i am auzit ceva de genul: \u201eA\u021bi pierdut datele noastre! V\u0103 pl\u0103tesc, dar nimic nu func\u021bioneaz\u0103! A\u021bi fost responsabili pentru backup-uri \u0219i nu a\u021bi f\u0103cut nimic! Haide\u021bi s\u0103 rezolva\u021bi!\u201d \u2014 doar c\u0103 a fost \u0219i mai vulgar.<\/p>\n<p>\u2014 \u0218tii ce, du-te naibii! Ast\u0103zi e ziua mea de na\u0219tere, iar acum o s\u0103 beau, nu s\u0103 m\u0103 ocup de prostiile voastre de \u00eencep\u0103tori din rahat \u0219i be\u021be!<\/p>\n<p>A\u0219a c\u0103 nu am spus asta. \u00cen schimb, am scos laptopul \u0219i m-am apucat de treab\u0103.<\/p>\n<p>Nu, am fost extrem de furios! Am \u00eenceput s\u0103 arunc \u00een chat mesaje acide de tipul \u201ev-am spus eu\u201d \u2014 pentru c\u0103 backup-ul, care nu era deloc un backup, nu a salvat nimic. <\/p>\n<p>Am venit cu prietenii o metod\u0103 de a opri manual \u00eenregistrarea \u0219i de a verifica tot. Ne-am asigurat c\u0103 o parte din date nu se scriau.<\/p>\n<p>Am oprit \u00eenregistrarea, am num\u0103rat num\u0103rul de evenimente care sunt acolo \u00eentr-o zi. Am \u00eenc\u0103rcat \u0219i alte date, din care doar o treime nu s-au \u00eenregistrat. Trei sharde cu 2 replici. Introduci 100.000 de r\u00e2nduri \u2014 33.000 nu se \u00eenregistreaz\u0103.<\/p>\n<p>A fost o adev\u0103rat\u0103 confuzie. To\u021bi s-au trimis unul altuia la naiba pe r\u00e2nd: primul a fost Leonia, apoi am urmat eu \u0219i fondatorul companiei. Numai CTO-ul recent venit \u00eencerca s\u0103 salveze apelurile noastre cu \u021bipete \u0219i conversa\u021biile \u00een c\u0103utarea unei solu\u021bii pentru problem\u0103. <\/p>\n<h3>Ce se \u00eent\u00e2mpla de fapt \u2014 nimeni nu \u00een\u021belegea.<\/h3>\n<p>\nEu \u0219i b\u0103ie\u021bii am fost pur \u0219i simplu uimi\u021bi c\u00e2nd am realizat c\u0103 o treime din toate datele nu doar c\u0103 nu se \u00eenregistrau \u2014 se pierdeau! S-a dovedit c\u0103 ordinea \u00een companie era a\u0219a: dup\u0103 inserare, datele erau \u0219terse irevocabil, evenimentele disp\u0103reau pe capete. M-am imaginat cum Serghei converte\u0219te toate acestea \u00een ruble pierdute.<\/p>\n<p>Ziua mea de na\u0219tere a fost de asemenea trimis\u0103 la gunoi. St\u0103team la bar \u0219i generam idei, \u00eencerc\u00e2nd s\u0103 deslu\u0219im rebusul aruncat. Cauza pr\u0103bu\u0219irii ClickHouse-ului nu era evident\u0103. Poate c\u0103 e re\u021beaua, poate c\u0103 e problema set\u0103rilor de Linux. Orice ar fi, au fost suficiente ipoteze.<\/p>\n<p>Nu am depus jur\u0103m\u00e2nt ca dezvoltator, dar a fost nepoliticos s\u0103-i p\u0103r\u0103sesc pe b\u0103ie\u021bii de la cap\u0103tul firului \u2014 chiar dac\u0103 ei ne d\u0103deau vina pe noi. Eram 99% sigur c\u0103 problema nu se afla \u00een solu\u021biile noastre, nu de partea noastr\u0103. 1% \u0219ans\u0103 c\u0103 totu\u0219i am gre\u0219it ne f\u0103cea s\u0103 ne sim\u021bim \u00eengrijora\u021bi. Dar, indiferent de partea \u00een care se afla problema \u2014 trebuia s\u0103 o rezolv\u0103m. S\u0103 la\u0219i clien\u021bii, indiferent c\u00e2t de erau, cu o astfel de pierdere de date \u2014 era prea brutal.<\/p>\n<p>P\u00e2n\u0103 la trei diminea\u021ba am lucrat la o mas\u0103 \u00een restaurant. Ad\u0103ugam evenimente, insert select \u2014 \u0219i am \u00eenceput s\u0103 umplem golurile. C\u00e2nd ai pierdut date, a\u0219a se face \u2014 iei datele medii din zilele anterioare \u0219i le introduci \u00een cele pierdute.<\/p>\n<p>Dup\u0103 trei diminea\u021ba, eu \u0219i prietenul meu am mers acas\u0103, am comandat bere din magazinul de alcool. St\u0103team cu laptopul \u0219i problemele ClickHouse-ului, prietenul \u00eemi povestea ceva. \u00cen cele din urm\u0103, dup\u0103 o or\u0103 s-a sup\u0103rat c\u0103 lucrez \u0219i nu beau bere cu el \u0219i a plecat. Clasic \u2014 am fost prietenul DevOps-ului.<\/p>\n<p>P\u00e2n\u0103 la 6 diminea\u021ba am recreat din nou tabela, iar datele au \u00eenceput s\u0103 fie \u00eenc\u0103rcate. Totul a \u00eenceput s\u0103 func\u021bioneze f\u0103r\u0103 pierderi.<\/p>\n<p><\/p>\n<h3>Apoi a fost greu. To\u021bi d\u0103deau vina pe ceilal\u021bi pentru pierderea datelor. Dac\u0103 ar fi ap\u0103rut un nou bug, sunt sigur c\u0103 ar fi \u00eenceput o ceart\u0103.<\/h3>\n<p>\n\u00cen aceste conflicte am \u00eenceput \u00een sf\u00e2r\u0219it s\u0103 \u00een\u021belegem - \u00een companie credeau c\u0103 suntem acei b\u0103ie\u021bi care lucreaz\u0103 cu date \u0219i se ocup\u0103 de structura tabelelor. Ne-au confundat pe noi, administratorii, cu cei care se ocup\u0103 de baze de date. \u0218i au venit s\u0103 ne \u00eentrebe de ce nu am gestionat bine treaba.<\/p>\n<p>Principala lor nemul\u021bumire era: ce dracu', a\u021bi fost responsabili pentru backup-uri \u0219i nu le-a\u021bi f\u0103cut corect, a\u021bi pierdut datele. \u0218i totul era plin de blesteme.<\/p>\n<p>\u00cemi doream justi\u021bie. Am s\u0103pat \u00een coresponden\u021b\u0103 \u0219i am ata\u0219at toate capturile de ecran, unde Leonid ne obliga s\u0103 facem un backup a\u0219a cum ar fi trebuit. CTO-ul lor s-a aliat cu noi dup\u0103 apelul meu telefonic. A recunoscut \u0219i el c\u0103 a gre\u0219it.<\/p>\n<p>Pe de alt\u0103 parte, \u0219eful companiei nu voia s\u0103-\u0219i blameze oamenii. Capturile de ecran \u0219i cuvintele nu l-au impresionat. Considera c\u0103, fiind exper\u021bi, ar fi trebuit s\u0103-i convingem pe to\u021bi \u0219i s\u0103 insist\u0103m asupra deciziei noastre. Se pare c\u0103 datoria noastr\u0103 era s\u0103-l \u00eenv\u0103\u021b\u0103m pe Leonid \u0219i s\u0103 ajungem la cel mai \u00eenalt nivel f\u0103r\u0103 a-i implica pe el, care era liderul proiectului, \u0219i s\u0103-i exprim\u0103m toate \u00eendoielile noastre cu privire la conceptul de backup-uri. <\/p>\n<p>Discu\u021bia era plin\u0103 de ur\u0103, agresiune ascuns\u0103 \u0219i deschis\u0103. Nu \u0219tiam ce s\u0103 fac. Totul ajunsese \u00eentr-un impas. Atunci mi-a fost sugerat cel mai simplu mod - s\u0103-i scriu liderului \u00een privat \u0219i s\u0103 m\u0103 \u00een\u021beleg cu el pentru o \u00eent\u00e2lnire. Vasya, oamenii nu sunt at\u00e2t de \u00eendr\u0103zne\u021bi \u00een via\u021ba real\u0103 cum sunt \u00een chat. La mesajul meu \u0219eful a r\u0103spuns: vin-o, nu e nicio problem\u0103.<\/p>\n<p>\nA fost cea mai ciudat\u0103 \u00eent\u00e2lnire din cariera mea. Aliatul meu de la client - CTO - nu a putut g\u0103si timp. Mergeam la \u00eent\u00e2lnire cu \u0219eful \u0219i cu Leonid.<\/p>\n<p>Repetam \u00een minte dialogul nostru posibil. Am reu\u0219it s\u0103 ajung foarte devreme, cu 30 de minute \u00eenainte. A \u00eenceput anxietatea, am fumat 10 \u021big\u0103ri. \u00cemi d\u0103deam seama, totul - eram complet singur. Nu voi reu\u0219i s\u0103-i conving. \u0218i am p\u0103\u0219it \u00een lift.<\/p>\n<p>\u00cen timp ce urcam, am zg\u00e2riat bricheta at\u00e2t de tare, \u00eenc\u00e2t am stricat-o.<\/p>\n<p>\u00cen final, Leonid nu a fost la \u00eent\u00e2lnire. \u0218i noi am discutat excelent despre tot cu \u0219eful! Sergei mi-a povestit despre durerea lui. El nu dorea s\u0103 \"automatizeze ClickHouse\" - dorea ca \"interog\u0103rile s\u0103 func\u021bioneze\".<\/p>\n<p>Nu am v\u0103zut un prost, ci un tip bun, \u00eengrijorat de afacerea lui, dedicat muncii 24\/7. Chatul ne deseneaz\u0103 adesea r\u0103uf\u0103c\u0103tori, tic\u0103lo\u0219i \u0219i nepricepu\u021bi. Dar \u00een via\u021ba real\u0103 sunt la fel ca \u0219i tine. <\/p>\n<p>Lui Sergei nu \u00eei trebuiau doar c\u00e2\u021biva DevOps angaja\u021bi. Problema pe care o aveau s-a dovedit a fi mult mai mare. <\/p>\n<p>Am spus c\u0103 pot rezolva problemele lui \u2014 doar c\u0103 este o munc\u0103 complet diferit\u0103 \u0219i am un prieten DBM pentru aceasta. Dac\u0103 am fi \u0219tiut ini\u021bial c\u0103 este vorba de o treab\u0103 pentru ei, am fi evitat multe. Prea t\u00e2rziu, dar am realizat c\u0103 problema consta \u00een o munc\u0103 proast\u0103 cu datele, nu \u00een infrastructur\u0103. <\/p>\n<p>Ne-am dat m\u00e2na, ne-a crescut plata de 2,5 ori, dar cu condi\u021bia \u2014 preiau absolut toate problemele lor cu datele \u0219i ClickHouse-ul. \u00cen lift, m-am conectat cu acel DBM Max \u0219i l-am implicat \u00een munc\u0103. Trebuia s\u0103 revizuiesc \u00eentregul cluster.<\/p>\n<p>\n\u00cen proiectul acceptat era o mul\u021bime de probleme. \u00cencep\u00e2nd cu acel \u201ebackup\u201d men\u021bionat. S-a dovedit c\u0103 acest \u201ebackup\u201d-cluster nu era izolat. Se testau toate c\u00e2te ceva pe el, uneori chiar \u0219i \u00een produc\u021bie.<\/p>\n<p>Dezvoltatorii din echip\u0103 au inventat un \u201einsertor\u201d de date personalizat. Func\u021biona astfel: f\u0103cea batch-uri de fi\u0219iere, lansa scriptul \u0219i importa datele \u00een tabel. Dar principala problem\u0103 era c\u0103 o cantitate imens\u0103 de date era acceptat\u0103 pentru o simpl\u0103 interogare. Interogarea se conecta la date pe secund\u0103. Totul pentru un singur num\u0103r \u2014 suma pe zi.<\/p>\n<p>Dezvoltatorii din echip\u0103 foloseau incorect un instrument pentru analitic\u0103. Se duceau \u00een Grafana, scriau interogarea lor regal\u0103. Aceasta extr\u0103gea date pe 2 s\u0103pt\u0103m\u00e2ni. Rezultatul era un grafic frumos. Dar \u00een realitate, interogarea de date avea loc la fiecare 10 secunde. Totul se acumula \u00een coad\u0103, deoarece ClickHouse pur \u0219i simplu nu reu\u0219ea s\u0103 proceseze. Aici se ascundea cauza principal\u0103. \u00cen Grafana nimic nu func\u021biona, interog\u0103rile st\u0103teau \u00een coad\u0103, venind constant date vechi \u0219i nerelevante.<\/p>\n<p>Am reconfigurat clusterul, am ref\u0103cut inser\u021bia. Dezvoltatorii din echip\u0103 \u0219i-au rescris \u201einsertorul\u201d \u0219i acum \u00eencepea s\u0103 sharduie datele corect.<\/p>\n<p>Max a realizat un audit complet al infrastructurii. A redactat un plan de tranzi\u021bie c\u0103tre un backend complet. Dar asta nu a mul\u021bumit compania. A\u0219teptau de la Max un secret magic care s\u0103 le permit\u0103 s\u0103 lucreze ca \u00eenainte, dar \u00eentr-un mod eficient. De proiect continua s\u0103 r\u0103spund\u0103 Leonia, care nu \u00eenv\u0103\u021base nimic. Din tot ce a fost propus, el a ales din nou alternativa sa. Ca \u00eentotdeauna, aceasta era cea mai aleas\u0103\u2026 solu\u021bie \u00eendr\u0103znea\u021b\u0103. Leonia credea c\u0103 compania sa are un drum special. Curbat \u0219i plin de aisberguri.<\/p>\n<p>Asta a fost, \u00een esen\u021b\u0103, cum ne-am desp\u0103r\u021bit \u2014 am f\u0103cut tot ce am putut.<\/p>\n<p>\nCu capetele pline de umfl\u0103turi, \u00eenv\u0103\u021ba\u021bi din aceast\u0103 poveste, ne-am deschis afacerea \u0219i ne-am format c\u00e2teva principii. Acum, niciodat\u0103 nu \u00eencepem o munc\u0103 ca atunci.<\/p>\n<p>Dibieyshchik Max s-a al\u0103turat nou\u0103 dup\u0103 acest proiect \u0219i \u00eenc\u0103 lucr\u0103m excelent \u00eempreun\u0103. Cazul cu Clickhouse ne-a \u00eenv\u0103\u021bat s\u0103 facem un audit complet \u0219i temeinic al infrastructurii \u00eenainte de a \u00eencepe munca. Ne aprofund\u0103m \u00een modul \u00een care func\u021bioneaz\u0103 totul \u0219i abia apoi accept\u0103m sarcinile. Dac\u0103 \u00eenainte am fi \u00eenceput imediat s\u0103 \u00eentre\u021binem infrastructura, acum facem mai \u00eent\u00e2i un proiect unic, care ne ajut\u0103 s\u0103 \u00een\u021belegem cum s\u0103 o aducem \u00een stare de func\u021bionare. <\/p>\n<p>\u0218i da, evit\u0103m proiectele cu o infrastructur\u0103 proast\u0103. Chiar dac\u0103 pentru mul\u021bi bani, chiar dac\u0103 din prietenie. A gestiona proiecte bolnave nu este rentabil. Con\u0219tientizarea acestui lucru ne-a ajutat s\u0103 cre\u0219tem. Fie un proiect unic pentru a ajusta infrastructura \u0219i apoi un contract de \u00eentre\u021binere, fie pur \u0219i simplu trecem pe l\u00e2ng\u0103. Pe l\u00e2ng\u0103 un alt aisberg.<\/p>\n<p><i>P.S. A\u0219a c\u0103, dac\u0103 ave\u021bi \u00eentreb\u0103ri despre infrastructura dvs., <noindex><a rel=\"nofollow\" href=\"https:\/\/fevlake.com\"><b>nu ezita\u021bi s\u0103 l\u0103sa\u021bi o cerere<\/b><\/a><\/noindex>.<\/p>\n<p>Avem 2 audite gratuite pe lun\u0103, poate c\u0103 proiectul dvs. va fi printre ele.<\/i><br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rebrainme\/blog\/522108\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043c\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0434\u0435\u0432\u043e\u043f\u0441\u0430. \u0415\u0449\u0435 \u0432 \u0434\u043e\u043a\u043e\u0432\u0438\u0434\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u0437\u0430\u0434\u043e\u043b\u0433\u043e-\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u043d\u0438\u0445, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441 \u043f\u0430\u0440\u043d\u044f\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438 \u0441\u0432\u043e\u0435 \u0434\u0435\u043b\u043e \u0438 \u0444\u0440\u0438\u043b\u0430\u043d\u0441\u0438\u043b\u0438 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0430\u0445, \u043c\u043d\u0435 \u0432 \u0442\u0435\u043b\u0435\u0433\u0443 \u0443\u043f\u0430\u043b\u043e \u043e\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0430, \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445. \u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043e\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0442\u044b\u0441\u044f\u0447\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a \u043d\u0430\u043c \u043e\u043d\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u0441\u043e \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u0440\u0435\u0431\u044f\u0442, \u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96000,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95999","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.2 - aioseo.com -->\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\/ro\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\udd47\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\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=\"2020-10-06T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-06T11:41:58+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\udd47\u00cen timp ce to\u021bi s\u0103rb\u0103toreau ziua mea de na\u0219tere, eu am reparat clusterul p\u00e2n\u0103 diminea\u021ba \u2014 iar dezvoltatorii m-au \u00eenv\u0103luit cu gre\u0219elile lor | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\udd47\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","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":"2020-10-06T11:41:58+00:00","article:modified_time":"2020-10-06T11:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95999","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:53:26","updated":"2022-10-01 11:21:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/95999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=95999"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/95999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/96000"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=95999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=95999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=95999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}