TĂ€naseks pole teenusel «Bitrix24» sadu gigabite liiklust, pole tohutut serverite parki (kuigi olemasolevaid on muidugi pĂ€ris palju). Kuid paljudele klientidele on see ettevĂ”tte töö peamine vahend, tĂ”eline business-critical rakendus. SeetĂ”ttu ei tohi see absoluutselt kokku kukkuda. Aga mis siis, kui kukkumine siiski juhtus, aga teenus «tĂ”usis» nii kiiresti, et keegi ei mĂ€rkagi? Ja kuidas Ă”nnestub sellega samal ajal rakendada failoveri ilma kvaliteedi kadumiseta ja klientide arvu vĂ€henemiseta? Alexander Demidov, «Bitrix24» pilveteenuste suuna direktor, rÀÀkis meie blogis, kuidas on 7 aasta jooksul toote olemasolust arenenuud varundamissĂŒsteemi.

âSaaSâ vormis kĂ€ivitasime âBitrix24â 7 aastat tagasi. Peamine vĂ€ljakutse oli tĂ”enĂ€oliselt see, et enne avalikku kĂ€ivitamist âSaaSâ vormis eksisteeris see toode lihtsalt kastilahendusena. Kliendid ostsid selle meilt, paigaldasid selle oma serveritesse, lĂ”id ettevĂ”tteportaali â ĂŒhise lahenduse töötajate suhtlemiseks, failide hoidmiseks, ĂŒlesannete korraldamiseks, CRM-iks, kĂ”igeks selleks. Ja 2012. aastaks otsustasime, et soovime selle kĂ€ivitada kui âSaaSâ, hallates seda ise ja tagades töökindluse ja usaldusvÀÀrsuse. Kogemusi kogusime protsessi kĂ€igus, kuna enne seda polnud meil seda lihtsalt olnud â olime vaid tarkvaratootjad, mitte teenusepakkujad.
Teenuse kĂ€ivitamisel mĂ”istsime, et kĂ”ige olulisem on tagada teenuse töökindlus, usaldusvÀÀrsus ja pidev kĂ€ttesaadavus. Kui teil on lihtsalt tavaline veebisait, nĂ€iteks pood, ja see on maas tund aega â kannatate ainult teie, kaotate tellimusi ja kliente, kuid teie klient ei pea seda eriti kriitiliseks. Ta muidugi tunneb end halvasti, kuid lĂ€heb ja ostab mujalt. Kuid kui see on rakendus, millel pĂ”hineb kogu töö firmasisesteks suheteks ja lahenduste leidmiseks, siis on kĂ”ige olulisem kasutajate usalduse vĂ”itmine â mitte neid alt vedada ja mitte alla kukkuda. Sest kogu töö vĂ”ib peatuda, kui miski seest ei tööta.
Bitrix24 nagu SaaS
Esimese prototĂŒĂŒbi lĂ”ime aasta enne avalikku kĂ€ivitamist, 2011. aastal. Kogusime selle umbes nĂ€dala jooksul, vaatasime, keerasime â see töötas isegi. St, sai minna vormi, sisestada portaalinimi ja kĂ€ivitada uus portaal, luua kasutajabaas. Vaatasime seda, hindasime pĂ”himĂ”tteliselt toodet, sulgesime ja töötasime aasta edasi. Selle tĂ”ttu, et meil oli suur eesmĂ€rk: me ei soovinud teha kahte erinevat koodibaasi, ei soovinud toetada eraldi loodud toodet ja eraldi pilve lahendusi, â me soovisime teha kĂ”ike ĂŒhtse koodi raames.

TĂŒĂŒpiline veebirakendus sel ajal oli ĂŒks server, kus jooksis mingisugune php kood, mysql andmebaas, failid laaditi ĂŒles, dokumendid, pildid pandi upload kausta â no ja kĂ”ik see töötas. Kahjuks ei ole vĂ”imalik sellistel alustel kĂ€ivitada kriitiliselt usaldusvÀÀrset veebiteenust. Seal ei toetata jaotatud vahemĂ€lu ega andmebaaside replikeerimist.
Oleme mÀÀratlenud nĂ”uded: see hĂ”lmab vĂ”imalust paikneda erinevates asukohtades, toetada replikatsiooni ning ideaaljuhul paikneda geograafiliselt jaotatud andmekeskustes. Toote loogika ja andmete salvestamise eraldamine. DĂŒnaamiline skaleerimine koormuse jĂ€rgi, staatika vĂ€ljastamine. Nendest kaalutlustest tulenesid nĂ”uded tootele, mida oleme aasta jooksul tĂ€iustanud. Selle aja jooksul on meie saadud platvorm, mis on muutunud ĂŒhtseks â nii kastilahenduste kui ka meie teenuse jaoks â saanud toetuse nendele elementidele, mis olid meile vajalikud. Mysql-replikatsiooni tugi toote tasemel: see tĂ€hendab, et arendaja, kes kirjutab koodi, ei pea mĂ”tlema, kuidas tema pĂ€ringud jaotuvad, vaid kasutab meie API-d, samas kui meie suudame Ă”igesti jaotada kirjutamise ja lugemise pĂ€ringud masterite ja slave'ide vahel.
Oleme tĂ”stnud toetaseme mitmete pilvepĂ”histe objektide salvestusteenuste, nagu Google Storage, Amazon S3, â lisaks ka OpenStack Swifti, toetamiseks. SeetĂ”ttu on see olnud mugav nii meie teenuse kui ka arendajate jaoks, kes töötavad valmislahendusega: kui nad kasutavad lihtsalt meie API-t, siis ei pea nad muretsema, kus fail lĂ”puks salvestatakse, kas kohalikule failisĂŒsteemile vĂ”i objektide salvestusteenusele.
LĂ”puks otsustasime kohe, et seame end ĂŒles kogu andmekeskuse tasemel. 2012. aastal kĂ€ivitasime end tĂ€ielikult Amazon AWS-is, kuna meil oli juba see platvormiga kogemus â meie enda sait oli seal majutatud. Meie jaoks oli oluline, et igas regioonis on Amazonis mitu kĂ€ttesaadavustsooni â pĂ”himĂ”tteliselt (nende terminoloogias) mitu andmekeskust, mis on teineteisest enam-vĂ€hem iseseisvad ja vĂ”imaldavad meil rikka andmekeskuse tasemel: kui see peaks töölt vĂ€lja kukkuma, replitseeritakse andmebaasid master-master, veebirakenduste serverid on reserveeritud ja staatika on paigutatud objektide salvestusesse s3. Koormus jaotatakse â sel hetkel Amazonâi elbâga, kuid hiljem jĂ”udsime oma load balancerâite juurde, kuna vajasime keerukamat loogikat.
Saime just seda, mida soovisime...
KĂ”ik pĂ”hilised asjad, mida soovisime tagada â serverite, veebirakenduste ja andmebaaside talitlushĂ€ired â töötasid hĂ€sti. Lihtsaim stsenaarium: kui mĂ”ni meie veebirakendus ebaĂ”nnestub, siis on kĂ”ik lihtne â nad eemaldatakse tasakaalustamisest.

VĂ€lja surnud tasakaalustajad (tol hetkel oli see Amazoni ELB) mĂ€rkisid ise endid ebatervislikeks, lĂ”petades nendele koormuse jaotamise. Amazoni automaatne skaleerimine töötas: kui koormus suurenes, lisandus automaatse skaleerimise rĂŒhma uusi masinaid, koormus jaotati uutele masinatele - kĂ”ik toimis hĂ€sti. Meie tasakaalustajatel on loogika enam-vĂ€hem sama: kui serveriga juhtub midagi, eemaldame sellele pĂ€ringud, eemaldame need masinad, kĂ€ivitame uued ja jĂ€tkame tööd. Skeem on aastate jooksul veidi muutunud, kuid see töötab endiselt: see on lihtne, arusaadav ja sellega ei ole mingeid keerukusi.
Me töötame ĂŒle kogu maailma, klientide koormuse tipud on tĂ€iesti erinevad ja, Ă”igupoolest, peaksime olema vĂ”imelised lĂ€bi viima teenindustöid meie sĂŒsteemi ĂŒkskĂ”ik milliste komponentidega igal ajal â klientidele mĂ€rkamatult. SeetĂ”ttu on meil vĂ”imalus hÀÀlestada andmebaas vĂ€lja, jagades koormust teise andmekeskuse vahel.
Kuidas see kĂ”ik töötab? â Me suuname liikluse töötavale andmekeskusele â kui tegemist on andmekeskuse rikkega, siis tĂ€ielikult, kui teeme plaanilisi töid mĂ”nes kindlas andmebaasis, siis suuname osa liiklust, mis teenindab neid kliente, teise andmekeskusse, replikeerimine peatatakse. Kui vajame uusi masinaid veebirakendustele, kuna koormus teises andmekeskuses on suurenenud, kĂ€ivitatakse need automaatselt. Kui tööd on lĂ”petatud, taastatakse replikeerimine ja suuname kogu koormuse tagasi. Kui peame teises andmekeskuses jĂ€relevalve töid tegema, nĂ€iteks installima sĂŒsteemivĂ€rskendusi vĂ”i muutma seadeid teises andmebaasis, siis, pĂ”himĂ”tteliselt, kordame kĂ”ik samu samme, lihtsalt vastupidises suunas. Ja kui see on rike, siis teeme kĂ”ik lihtsalt: jĂ€lgimissĂŒsteemis kasutame event-handler'ite mehhanismi. Kui meil töötab mitu kontrolli ja olek muutub kriitiliseks, kĂ€ivitame selle handleri, töötleja, mis suudab tĂ€ita teatud loogikat. Meil on iga andmebaasi jaoks kirjas, milline server on selle failover ja kuhu liiklus suunata, kui see pole saadaval. Meie sĂŒsteemides, ajalooliselt, kasutame me nagios'e vĂ”i midagi, mis on selle fork. PĂ”himĂ”tteliselt on taolised mehhanismid praktiliselt igas jĂ€lgimissĂŒsteemis olemas, praegu me midagi keerulisemat ei kasuta, kuid vĂ”ibolla kunagi kasutame. Praegu reageerib jĂ€lgimine mitteeelarvataolekule ja tal on vĂ”imalus midagi suunata.
Kas oleme kÔik broneerinud?
Meil on palju kliente Ameerikas, rohkelt kliente Euroopas, samuti kliente, kes asuvad lĂ€hemal Idas â Jaapanis, Singapuris ja nii edasi. Loomulikult on suur osa kliente Venemaal. See tĂ€hendab, et meie tegevus ei piirdu vaid ĂŒhe piirkonnaga. Kasutajad soovivad kiiret vastust, on kohustus jĂ€rgida erinevaid kohalikke seadusi, ning igas piirkonnas reservime kaks andmekeskust. Lisaks on olemas mĂ”ned tĂ€iendavad teenused, mille paigutamine ĂŒhte piirkonda on mugavam â klientidele, kes seal töötavad. REST-handlers ja autoriseerimiserverid ei ole kliendi töö jaoks nii kriitilised, neid saab vahetada mĂ”ningase vastuvĂ”etava viivitusega, kuid me ei taha uuesti jalgratast leiutada, kuidas neid jĂ€lgida ja mida nendega teha. SeetĂ”ttu pĂŒĂŒame maksimaalselt kasutada juba olemasolevaid lahendusi, mitte arendada oma kompetentsi tĂ€iendavate toodete osas. MĂ”nes kohas kasutame lihtsalt DNS-i tasemel ĂŒmberlĂŒlitamist, mÀÀrates teenuse aktiivsuse samasuguse DNS-i abil. Amazonis on teenus Route 53, kuid see pole lihtsalt DNS, kuhu saab kirjeid sisse kirjutada ja kĂ”ik â see on palju paindlikum ja mugavam. Selle abil on vĂ”imalik ĂŒles ehitada geojaotatud teenuseid geolokatsioonidega, millega saate mÀÀrata, kust klient tuli, ja pakkuda talle vastavaid kirjeid â selle abil on vĂ”imalik luua ka failover-architektuure. Samad tervisekontrollid seadistatakse Route 53-s, kus mÀÀrate endpoint-id, mida jĂ€lgitakse, mÀÀrate mÔÔdikud, mille jĂ€rgi mÀÀrata teenuse âelujĂ”udâ â TCP, HTTP, HTTPS; mÀÀrate kontrollide sageduse, et kindlaks teha, kas teenus on elujĂ”uline vĂ”i mitte. Ja oma DNS-is registreerite, mis on primaarne, mis sekundaarne, kuhu ĂŒmber lĂŒlituda, kui Route 53-s sisselĂŒlitamistuvastus aktiveerub. KĂ”ike seda saab teha ka teiste tööriistade abil, kuid mugavus seisneb selles, et seadistate selle ĂŒks kord ja ei pea enam ĂŒldse mĂ”tlema, kuidas meie kontrollid toimuvad, kuidas ĂŒmberlĂŒlitused kĂ€ivad: kĂ”ik töötab iseseisvalt.
Esimene "aga": aga kuidas ja millega reserveerida ise Route 53? Isegi, kui juhtub midagi? Meil on Ă”nneks kunagi sellist olukorda olnud, aga siiski, mul on eesolev jutt, miks me arutasime, et reserveerimine on vajalik. Siin me paneme endale ettevaatlikult Ă”lgedest peenraha. Korraga mitu korda pĂ€evas teeme tĂ€ieliku andmeekstraktsiooni kĂ”ikidest tsoonidest, mis meil Route 53-s on. Amazoni API vĂ”imaldab neid mugavalt JSON-formaadis edastada ja meil on ĂŒles seatud mitu varuserverit, kuhu me selle konverteerime, laadime vĂ€lja konfiguratsioonid ja meil on, ĂŒtleme nii, varukoopia konfiguratsioon. HĂ€daolukorra korral saame selle kiiresti kĂ€sitsi taastada, kaotamata DNS-i seadistuste andmeid.
Teine "aga": mida ei ole sellel pildil veel reserveeritud? Just tasakaalustaja! Meie klientide jaotus piirkondade kaupa on vĂ€ga lihtne. Meil on domeenid bitrix24.ru, bitrix24.com, .de â praegu on neid 13 erinevat, mis töötavad erinevates piirkondades. Oleme jĂ”udnud jĂ€rgmisele jĂ€reldusele: igas piirkonnas on oma tasakaalustajad. See muudab piirkondade vahel jaotamise mugavamaks, sĂ”ltuvalt sellest, kus on vĂ”rgukoormuse tipud. Kui tekib rike ĂŒhe tasakaalustaja tasemel, lĂŒlitatakse see lihtsalt vĂ€lja ja eemaldatakse DNS-ist. Kui tekib probleem tasakaalustajate grupiga, reserveeritakse need teistel platsidel ning vahetus nende vahel toimub sama route53 abil, kuna lĂŒhikese ttl tĂ”ttu toimub vahetus maksimaalselt 2, 3, 5 minuti jooksul.
Kolmas "aga": mida veel ei ole reserveeritud? S3, eks ole. Me uskusime, et S3, kuhu salvestame kasutajate faile, on kuulikindel ja seal ei pea midagi reserveerima. Kuid ajalugu nĂ€itab, et asjad kĂ€ivad teisiti. Ăldiselt kirjeldab Amazon S3-d kui pĂ”hiteenust, kuna Amazon ise kasutab S3-d masinate piltide, konfiguratsioonide, AMI-piltide, snapshotide jne salvestamiseks... Ja kui S3 kukub, nagu see on juhtunud ĂŒhe korra 7 aasta jooksul, mil oleme bitrix24-t kasutanud, siis tĂ”mbab see kaasa palju teisi probleeme â virtuaalsete masinate kĂ€ivitamise hĂ€ired, API rike ja nii edasi.
Ja S3 vĂ”ib kukkuda â see on kunagi juhtunud. SeetĂ”ttu jĂ”udsime jĂ€rgmise skeemini: mĂ”ned aastad tagasi ei olnud Venemaal tĂ”siseltvĂ”etavaid objekti avalikke ladustamisi ja mĂ”tlesime, et teeme midagi oma⊠Ănneks me seda ei alustanud, sest oleksime sĂŒvenenud sellesse ekspertisu, mida meil ei olnud, ja kindlasti oleksime vea teinud. Praegu on s3 ĂŒhilduvaid ladustamisi Mail.ru, Yandexil ja veel mitmel teenusepakkujal. LĂ”puks jĂ”udsime jĂ€reldusele, et soovime, esiteks, varundamist ja teiseks, vĂ”imalust töötada kohalike koopiatega. Konkreetselt Venemaa regioonis kasutame Mail.ru Hotboxi teenust, mis on API kaudu ĂŒhilduv s3-ga. Me ei vajanud rakenduse sisese koodi osas tĂ”siseid muudatusi ja tegime jĂ€rgmise mehhanismi: s3-s on kĂ€ivitajad, mis aktiveeruvad objektide loomise/eealimise korral, Amazonil on selline teenus nagu Lambda â see on serverless koodi kĂ€ivitamine, mis toimub just nendel korral, kui kĂ€ivitavad teatud trigged.

Meie oleme selle lihtsaks teinud: kui meil aktiveerub kĂ€ivitus, tĂ€idame koodi, mis kopeerib objekti Mail.ru salvestusse. Et alustada kohalike andmekoopia töötlemist, vajame veel tagasisĂŒnkroniseerimist, et kliendid, kes asuvad Venemaa segmendis, saaksid töötada salvestusega, mis on neile lĂ€hemal. Mail on peagi valmis kĂ€ivitama kĂ€ivitusi oma salvestuses â infrastruktuuri tasemel saab rakendada tagasikĂ”nku, seni teeme seda meie enda koodil. Kui me nĂ€eme, et klient on ĂŒles laadinud mingi faili, paneme meie kooditasemel sĂŒndmuse jĂ€rjekorda, töötleme seda ja teeme tagasikohandamise. Miks see on halb: kui meie toodet vĂ€liste vahenditega tehakse, ei arvestata seda. SeetĂ”ttu ootame lĂ”puni, kuni salvestuses aktiveeritakse kĂ€ivitused, et sĂ”ltumata sellest, kust koodi tĂ€idame, kopeeritakse objekt, mis meieni jĂ”uab, teisele poole.
Iga kliendi jaoks on meie kooditasemel mÀÀratud kaks salvestusruumi: ĂŒks peamine ja teine varundamiseks. Kui kĂ”ik on korras, töötame selle salvestusruumiga, mis on meile lĂ€hemal: sealhulgas meie kliendid, kes asuvad Amazonis, kasutavad S3, samas kui need, kes tegutsevad Venemaal, kasutavad Hotboxi. Kui lipp aktiveeritakse, peab meil olema failover-funktsioon, et saaksime kliente suunata teise salvestusruumi. Saame seda lippu panna sĂ”ltumatult regioonide kaupa ja saame neid vajadusel vahetada. Praktikas ei ole me sellega veel kasutanud, kuid me oleme selle mehhanismi ette nĂ€inud ja usume, et ĂŒhel hetkel vajame seda vahetust. See on juba ĂŒks kord juhtunud.
Oi, kas teie Amazon on kadunud...
Sel aprillil möödub aastapÀev Telegrami blokeerimise algusest Venemaal. KÔige rohkem kannatasid selle tÔttu Amazon, mis oli kÔige kahjustatum teenusepakkuja. Kahjuks said rohkem kannatada ka maailma töötavad vene ettevÔtted.
Kui ettevĂ”te on globaalne ja Venemaa on selle jaoks vaid vĂ€ike segment, 3-5% â siis mingil moel vĂ”ib neid ohverdada.
Kui tegemist on puhtalt Venemaa ettevĂ”ttega, siis olen kindel, et tuleb paikneda kohapeal â lihtsalt kasutajatele endile on see mugavam, riskid on vĂ€iksemad.
Ent kui tegemist on ettevĂ”ttega, mis tegutseb globaalselt ja millel on umbes sama palju kliente Venemaalt kui mujal maailmas? Segmentide vahelise ĂŒhenduse olemasolu on oluline ning nad peavad omavahel mingil moel kokku töötama.
Juba 2018. aasta mĂ€rtsi lĂ”pus saatis Roskomnadzor suurimatele operaatoritele kirja, kus teatas, et nad kavatsevad blokeerida mitu miljonit Amazon'i IP-aadressi, et blokeerida⊠messengeri Zello. AitĂ€h nendele teenusepakkujatele â nad leaksid kirja edukalt ja tekkis arusaam, et Amazon'i ĂŒhendus vĂ”ib katkeeda. Oli reede, ja me paanitsesime ning lĂ€ksime servers.ru kolleegide juurde, öeldes: âSĂ”brad, meil on vaja mitmeid servereid, mis ei asu Venemaal, mitte Amazon'is, vaid nĂ€iteks kuskil Amsterdamisâ, et oleks vĂ€hemalt mingisugune vĂ”imalus seal oma⊠vpn ja proxy mĂ”nele endpointâile, millele me ei saa mingil moel mĂ”juda, nĂ€iteks sama s3 endpointâid â ei saa proovida tĂ”sta uut teenust ja saada teist ip-d, meil on ikkagi vaja sinna jĂ”uda. MĂ”ne pĂ€eva jooksul seadistasime need serverid, tĂ”stsime ĂŒles ja ĂŒldiselt olime blokeeringute alguseks valmis. KĂ”ige huvitavam on see, et RKN, vaadates segadust ja tekitatud paanikat, ĂŒtles: âEi, me ei kavatse midagi blokeerida.â (Aga see kestis tĂ€pselt kuni hetkeni, mil hakati blokkeerima Telegrammi.) Seades sisse ĂŒmbersĂ”iduvĂ”imalused ja mĂ”istes, et blokeeringut ei olnud sisse viidud, ei hakanud me sellega siiski tegelema. Nii, igaks juhuks.

Ja, ja 2019. aastal elame me tĂ”epoolest blokeeringute tingimustes. Eile öösel vaatasin: umbes miljon IP-aadressi jĂ€tkab blokeerimist. TĂ”si, Amazoni on peaaegu tĂ€ielikult blokeerimisest vabastatud, tipphetkel oli see 20 miljoni aadressi juurde⊠ĂhesĂ”naga, reaalsus on selline, et sideteenuseid, head sideteenuseid â ei pruugi olla. ĂhtĂ€kki. Seda vĂ”ib mitte olla tehniliste pĂ”hjuste tĂ”ttu â tulekahjud, ekskavaatorid, sellised asjad. VĂ”i nagu me oleme nĂ€inud, mitte tĂ€iesti tehnilistel pĂ”hjustel. Seega, keegi suur ja vĂ”imas, kellel on enda AS-id, vĂ”ib tĂ”enĂ€oliselt seda muude meetoditega juhtida, â direct connect ja muud asjad juba l2 tasemel. Aga lihtsas variandis, nagu meie vĂ”i veel vĂ€iksemad, on mĂ”istlik igaks juhuks omada varukoopiaid serverite tasemel, mis on kuskil mujal ĂŒles seatud, eelnevalt seadistatud VPN, proxy, vĂ”imalusega kiiresti nendele konfigureerimisega ĂŒle lĂŒlitada neis segmentides, mis on teie jaoks sideteenustes kriitilised. See on meile korduvalt kasuks tulnud, kui Amazoni blokeeringud algasid, suunamine toimus halvimal juhul S3 kaudu, kuid jĂ€rk-jĂ€rgult lahenes kĂ”ik.
Aga kuidas reserveerida⊠tervet teenusepakkujat?
Praegu puudub meil stsenaarium, mis kĂ€sitleks kogu Amazoni tĂ”rget. Meil on sarnane stsenaarium Venemaa jaoks. Venemaal olime ĂŒhes teenuseosutajas, kelle juures valisime, et oleksid mitmed platvormid. Ja aasta tagasi seisime silmitsi probleemiga: isegi kui tegemist on kahe andmekeskusega, vĂ”ivad teenuseosutaja vĂ”rgu konfiguratsiooni tasemel esineda probleemid, mis mĂ”jutavad ikkagi mĂ”lemat andmekeskust. Seega vĂ”ime saada ligipÀÀsmatuks mĂ”lemal platvormil. Loomulikult juhtuski nii. LĂ”puks ĂŒle vaatasime meie arhitektuuri seestpoolt. See ei muutunud kuigi palju, kuid Venemaa jaoks on meil nĂŒĂŒd kaks platvormi, mis ei asu ĂŒhes teenuseosutajas, vaid kahes erinevas. Kui ĂŒhes midagi tĂ”rkub, saame ĂŒle minna teisele.
HĂŒpotetiseerides kaalume Amazonile teise teenusepakkuja tasemel broneerimist; vĂ”ib-olla Google, vĂ”ib-olla veel keegi... Kuid seni oleme praktikas mĂ€rganud, et kui Amazonil tekivad rikkeid ĂŒhes availability zone'is, siis kogu piirkonna rikkeid esineb suhteliselt harva. SeetĂ”ttu on meil teoreetiline arusaam, et vĂ”ime broneerida "Amazon â mitte Amazon", kuid praktikas seda seni ei ole.
MÔned sÔnad automatiseerimise kohta
Kas automaatika on alati vajalik? Siin on paslik meenutada Dunningi-Krugeri efekti. X teljel on meie teadmised ja kogemused, mida me omandame, ja Y teljel on meie enesekindlus oma tegevustes. Alguses me ei tea midagi ja ei ole ĂŒldse kindlad. SeejĂ€rel me teame natuke ja muutume ĂŒlihinnatud â see on nn "rumaluse tipptase", mida illustreerib hĂ€sti pilt "rumalus ja julgustunne". Edasi, me oleme juba natuke Ă”ppinud ja valmis lahingusse minema. Siis astume mĂ”ne tĂ”sise takistuse otsa, satume meeleheite orgu, kus tundub, et me teame midagi, kuid tegelikult ei tea me paljusid asju. SeejĂ€rel, kogemuste kogumisega, muutume taas kindlamaks.

Meie lĂ€henemine erinevatele lĂŒlitustele automaatselt teatud tĂ”rgetele â seda on vĂ€ga hĂ€sti kirjeldatud selle graafiku abil. Alustasime â me ei osanud midagi, praktiliselt kĂ”ik tööd tehti kĂ€sitsi. Siis mĂ”istsime, et kĂ”iki asju vĂ”ib automatiseerida ja nagu, magada rahulikult. Ja Ă€kki satume mega-Ă€ppesse: meil tekib valehĂ€ire ja lĂŒlitame liiklust siia-sinna, kui tegelikult poleks seda pidanud tegema. Seega, replikatsioon katke vĂ”i midagi muud â see ongi meeleheite oru hetk. Ja edasi jĂ”uame arusaamisele, et kĂ”igesse tuleb suhtuda arukalt. Ehk siis on mĂ”istlik tugineda automaatikatele, arvestades valehĂ€ire vĂ”imalusega. Kuid! Kui tagajĂ€rjed vĂ”ivad olla katastroofilised, siis on parem lasta sel enda ĂŒle dürgnabil, vahetuses olevatel inseneridel, kes veenduvad, kontrollivad, et tĂ”epoolest on hĂ€ire, ja vajalikud toimingud teostatakse kĂ€sitsi...
KokkuvÔte
Seitsme aastaga oleme lĂ€inud olukorrast, kus kĂ”ik kukkus kokku ja toimus paanika, arusaamisele, et probleeme ei ole, on ainult ĂŒlesanded, mida tuleb lahendada â ja see on vĂ”imalik. Kui loote teenust, vaadake sellele ĂŒlaltpoolt, hinnake kĂ”iki riske, mis vĂ”ivad tekkida. Kui nĂ€ete neid kohe â kavandage ette reserveerimine ja vĂ”imalus rajada tĂ”rketaluv infrastruktuur, sest iga punkt, mis vĂ”ib ebaĂ”nnestuda ja teenuse töökatkestuse pĂ”hjustada, teeb seda kindlasti. Ja isegi kui teil on tunne, et mĂ”ni infrastruktuuri element ei tohi ebaĂ”nnestuda â nagu nĂ€iteks s3, pidage ikkagi meeles, et need vĂ”ivad. Ja vĂ€hemalt teoreetiliselt olge valmis mĂ”tlema, mida te nendega teete, kui midagi juhtub. Olge valmis riskide maandamise plaaniga. Kui kaalute, kas teha kĂ”ik automaatikaga vĂ”i kĂ€sitsi â hinnake riske: mis juhtub, kui automaatika hakkab kĂ”ike ĂŒmber lĂŒlitama â kas see ei too kaasa halvenenud olukorra vĂ”rreldes avariiga? VĂ”ib-olla on mĂ”nes kohas mĂ”istlik leida tasakaal automaatika kasutamise ja valves oleva inseneri reageerimise vahel, kes hindab tegelikku olukorda ja mĂ”istab, kas on vaja midagi kohe lĂŒlitada vĂ”i "jah, aga mitte praegu."
MÔistlik kompromiss perfektsionismi ja tegelike ressursside, aja ning rahaga, mida saate oma lÔppprojekti jaoks kasutada.
See tekst on tÀiendatud ja laiendatud versioon Aleksandr Demidovi ettekandest konverentsil. .
Allikas: habr.com
