«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

I dag har "Bitrix24" ikke hundrede gigabit trafik, og der er ikke et stort antal servere (selvom der selvfĂžlgelig er nogle til stede). Men for mange kunder er det det primĂŠre arbejdsredskab i virksomheden, et virkelig business-critical program. Derfor mĂ„ det ikke gĂ„ ned — slet ikke. Hvad hvis nedbruddet faktisk sker, men tjenesten "genopstĂ„r" sĂ„ hurtigt, at ingen overhovedet bemĂŠrker det? Og hvordan lykkes det at implementere failover uden tab af kvalitet og kunder? Alexander Demidov, direktĂžr for cloud-tjenesterne i "Bitrix24", fortalte i vores blog om, hvordan systemet til backup har udviklet sig i lĂžbet af de 7 Ă„r, produktet har eksisteret.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

"Vi lancerede "Bitrix24" som SaaS for 7 Ă„r siden. Den stĂžrste udfordring var sikkert fĂžlgende: Inden lanceringen som SaaS eksisterede dette produkt blot i form af en box-lĂžsning. Kunder kĂžbte det fra os, installerede det pĂ„ deres servere, oprettede et firmaportale - en samlet lĂžsning til kommunikation mellem medarbejdere, opbevaring af filer, forvaltning af opgaver, CRM, ja, alt det der. Og i 2012 besluttede vi, at vi ville lancere det som SaaS, administrere det selv og sikre failover og pĂ„lidelighed. Vi opnĂ„ede erfaring undervejs, fordi vi indtil da ikke havde nogen — vi var kun softwareproducenter, ikke serviceudbydere.

Ved lanceringen af tjenesten vidste vi, at det vigtigste var at sikre failover, pĂ„lidelighed og konstant tilgĂŠngelighed, fordi hvis du har en almindelig hjemmeside, en butik for eksempel, og den gĂ„r ned i en time — sĂ„ er det kun dig selv, der lider, du mister ordrer, du mister kunder, men for din kunde — for ham er det ikke sĂ„ kritisk. Han bliver naturligvis frustreret, men gĂ„r hen og kĂžber pĂ„ en anden hjemmeside. Men hvis det er en applikation, som hele virksomheden, kommunikationen og lĂžsningerne er afhĂŠngig af, sĂ„ er det vigtigste at vinde brugernes tillid, altsĂ„ ikke svigte dem og ikke gĂ„ ned. Fordi hele arbejdet kan stoppe, hvis noget indeni ikke fungerer.

Bitrix24 som SaaS

Den fĂžrste prototype samlede vi et Ă„r fĂžr den offentlige lancering, i 2011. Den blev samlet pĂ„ cirka en uge, vi kiggede pĂ„ den, drejede den — den fungerede endda. Man kunne tilgĂ„ formularen, indtaste navnet pĂ„ portalen, og en ny portal blev oprettet med en brugerbase. Vi sĂ„ pĂ„ den, vurderede produktet generelt, lukkede det ned, og arbejdede videre i et helt Ă„r. Fordi vi havde en stor opgave: vi Ăžnskede ikke at have to forskellige kodebaser, vi ville ikke stĂžtte et kasseprodukt og en cloud-lĂžsning separat — vi Ăžnskede at lave det hele inden for Ă©n kode.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

Et typisk webapplikation pĂ„ det tidspunkt var — en server, hvor der kĂžrte noget PHP-kode, en MySQL-database, filer blev uploadet, dokumenter og billeder blev lagt i en upload-mappe – og sĂ„ fungerede det hele. DesvĂŠrre er det umuligt at starte en kritisk robust webservice pĂ„ dette. Der understĂžttes ikke distribueret cache, og databasesynkronisering understĂžttes ikke.

Vi formulerede kravene: evnen til at placere sig i forskellige lokationer, understĂžtte replikation, ideelt set at vĂŠre placeret i forskellige geografisk fordelte datacentre. At adskille produktlogikken og selve datalagringen. Dynamisk kunne skalere efter belastningen, statikken skulle helt tage ud. Ud fra disse overvejelser blev kravene til produktet, som vi netop arbejdede pĂ„ i lĂžbet af et Ă„r, dannet. I den platform, som blev enhed — til kasse-lĂžsninger og vores egen service — implementerede vi stĂžtte til de ting, som var nĂždvendige for os. StĂžtte til MySQL-replikation pĂ„ produktniveau: det vil sige, at udvikleren, der skriver koden — ikke behĂžver at tĂŠnke pĂ„, hvordan hans forespĂžrgsler vil blive fordelt, han bruger vores API, og vi ved, hvordan vi korrekt fordeler skrive- og lĂŠseforespĂžrgsler mellem mastere og slaver.

Vi har implementeret stĂžtte pĂ„ produktniveau for forskellige cloud objektlagringssystemer: Google Storage, Amazon S3 — plus, stĂžtte til OpenStack Swift. Derfor var det praktisk bĂ„de for os som service og for udviklere, der arbejder med kasseproduktet: hvis de blot bruger vores API til arbejdet, behĂžver de ikke at tĂŠnke pĂ„, hvor filen i sidste ende gemmes, lokalt pĂ„ filsystemet eller om den ender i objektlagringssystemet.

Som resultat besluttede vi straks, at vi ville have en backup pĂ„ datacenter-niveau. I 2012 startede vi fuld ud i Amazon AWS, fordi vi allerede havde erfaring med denne platform — vores egen hjemmeside var hostet der. Det tiltrak os, at der i hver region i Amazon er flere tilgĂŠngelighedszoner — i deres terminologi, flere datacentre, der er mere eller mindre uafhĂŠngige af hinanden og tillader os at have en backup pĂ„ datacenter-niveau: hvis det pludselig fejler, er databaserne replikat master-master, webapplikationsserverne er reserveret, og statikken er flyttet til objektlageret s3. Belastningen balanceres — pĂ„ det tidspunkt med Amazons elb, men lidt senere kom vi til vores egne belastningsbalancere, fordi vi havde brug for en mere kompleks logik.

Hvad vi þnskede — fik vi...

Alle de grundlĂŠggende ting, som vi Ăžnskede at sikre — hĂžj tilgĂŠngelighed af selve serverne, webapplikationer, databaser — fungerede alle godt. Den enkleste scenario: hvis en af vores webapplikationer fejler, sĂ„ er det meget simpelt — de tages ud af belastningsbalanceringen.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

De fejlede maskiner blev markeret som usunde af belastningsbalanceren (dengang var det Amazons elb), som selv stoppede belastningsfordelingen til dem. Amazons autoskalering fungerede: nĂ„r belastningen steg, blev nye maskiner tilfĂžjet til autoskaleringgruppen, og belastningen blev fordelt til de nye maskiner — alt var godt. Med vores belastningsbalancere er logikken stort set den samme: hvis der sker noget med applikationsserveren, fjerner vi forespĂžrgslerne, fjerner disse maskiner, starter nye og fortsĂŠtter med at arbejde. Skemaet har ĂŠndret sig en smule gennem Ă„rene, men det fungerer stadig: det er enkelt, forstĂ„eligt, og der er ingen komplikationer med det.

Vi arbejder over hele verden, og kundernes belastningsspidser er helt forskellige, og ideelt set skal vi have mulighed for at udfĂžre servicearbejde pĂ„ alle komponenter i vores system nĂ„r som helst – uden at kunderne lĂŠgger mĂŠrke til det. Derfor har vi mulighed for at tage databasen ud af drift og omfordele belastningen til det andet datacenter.

Hvordan fungerer det hele? — Vi omdirigerer trafikken til det fungerende datacenter — hvis det er en nedbrud pĂ„ datacenteret, sĂ„ er det helt, hvis det er vores planlagte arbejde med en specifik database, sĂ„ omdirigerer vi en del af trafikken, der betjener disse kunder, til det andet datacenter, og replikationen stoppes. Hvis vi har brug for nye maskiner til webapplikationer, fordi belastningen er steget i det andet datacenter, starter de automatisk. NĂ„r arbejdet er fĂŠrdigt, genoprettes replikationen, og vi returnerer hele belastningen tilbage. Hvis vi skal udfĂžre spejlvendt arbejde i det andet datacenter, for eksempel installere systemopdateringer eller ĂŠndre indstillingerne i den anden database, gentager vi i princippet det samme, blot i den modsatte retning. Men hvis det er en nĂždssituation, gĂžr vi det meget enkelt: vi bruger mekanismen event-handlers i overvĂ„gningssystemet. Hvis flere tjek udlĂžses, og status skifter til kritisk, aktiveres den handler, der kan udfĂžre den eller den logik. For hver database har vi specificeret, hvilken server der er dens failover, og hvor trafikken skal omdirigeres, hvis den bliver utilgĂŠngelig. Historisk set har vi brugt nagios i en eller anden form eller dens forks. I princippet findes sĂ„danne mekanismer nĂŠsten i alle overvĂ„gningssystemer, men noget mere komplekst bruger vi ikke endnu, men det kan vĂŠre, vi gĂžr det en dag. I Ăžjeblikket reagerer overvĂ„gningen pĂ„ utilgĂŠngelighed og har mulighed for at omdirigere noget.

Har vi reserveret alt?

Vi har mange kunder fra USA, mange kunder fra Europa, mange kunder, der er tĂŠttere pĂ„ Østen — Japan, Singapore osv. SelvfĂžlgelig er en stor del af klienterne i Rusland. Det vil sige, at arbejdet ikke kun foregĂ„r i Ă©n region. Brugerne Ăžnsker hurtige svartider, der er krav om overholdelse af forskellige lokale love, og inden for hver region reserverer vi os til to datacentre, plus der er nogle ekstra tjenester, som igen er bekvemme at placere inden for Ă©n region — for kunder, der arbejder i denne region. REST-handlere, autorisationsservere er mindre kritiske for klientens samlede drift, og de kan skiftes med en acceptabel forsinkelse, men vi Ăžnsker ikke at opfinde cyklen, hvad angĂ„r overvĂ„gning og hĂ„ndtering af dem. Derfor forsĂžger vi maksimalt at bruge eksisterende lĂžsninger frem for at udvikle kompetencer inden for yderligere produkter. Og nogle gange bruger vi bare skift pĂ„ dns-niveau, hvorvi ogsĂ„ bestemmer tjenestens tilgĂŠngelighed ved hjĂŠlp af den samme dns. Amazon har en tjeneste kaldet Route 53, men det er ikke bare dns, hvor man kan tilfĂžje poster og sĂ„ videre — den er langt mere fleksibel og praktisk. Gennem den kan man opbygge geo-distribuerede tjenester med geolocation, nĂ„r du ved hjĂŠlp deraf definerer, hvor kunden kom fra, og giver ham de forskellige poster — man kan opbygge failover-arkitekturer med den. De samme health-checks indstilles i selve Route 53, hvor du angiver endpoints, der overvĂ„ges, definerer metrics, og angiver, hvilke protokoller der skal bruges til at bestemme tjenestens 'livlighed' — tcp, http, https; du angiver hyppigheden af tjek, der bestemmer, om tjenesten er live eller ej. Og i selve dns angiver du, hvad der vil vĂŠre primĂŠrt, hvad der vil vĂŠre sekundĂŠrt, og hvor der skal skiftes hen, hvis health-checks indgĂ„r i Route 53. Alt dette kan gĂžres med nogle andre vĂŠrktĂžjer, men det praktiske er, at man kun skal indstille det Ă©n gang, og sĂ„ tĂŠnker vi slet ikke mere over, hvordan vi laver tjek, og hvordan overgangen finder sted: alt fungerer af sig selv.

Det fÞrste 'men': hvordan og med hvad skal man tage backup af selve route 53? Man ved jo aldrig, hvis der skulle ske noget med det? Heldigvis har vi aldrig vÊret ude for det, men jeg vil igen fortÊlle, hvorfor vi tÊnkte, at vi alligevel skulle tage backup. Her forbereder vi os, sÄ vi har sikkerhed forud. Flere gange om dagen laver vi en fuld eksport af alle zoner, som vi har i route 53. Amazons API gÞr det muligt at hente dem ud i JSON, og vi har opsat flere backup-servere, hvor vi konverterer dette, eksporterer det som konfigurationer og har, sÄ at sige, en backup-konfiguration. I tilfÊlde af noget kan vi hurtigt genoprette den manuelt, uden at vi mister DNS-indstillingsdata.

Den anden "men": hvad er der endnu ikke blevet taget backup af? Selve balanceringssystemet! Vi har fordelt kunderne pĂ„ regioner pĂ„ en meget enkel mĂ„de. Vi har domĂŠner som bitrix24.ru, bitrix24.com, .de — nu er der omkring 13 forskellige, som arbejder pĂ„ meget forskellige zoner. Vi er nĂ„et frem til fĂžlgende: i hver region er der egne balanceringssystemer. Det er lettere at fordele efter regioner, alt efter hvor den spidse netbelastning er. Hvis der er en fejl pĂ„ et enkelt balanceringssystem, sĂ„ tages det simpelthen ud af drift og fjernes fra DNS. Hvis der opstĂ„r problemer med gruppen af balanceringssystemer, sĂ„ tages de backup andre steder, og skiftet mellem dem sker ved hjĂŠlp af den samme route53, fordi pĂ„ grund af den korte TTL sker skiftet maksimalt inden for 2, 3, 5 minutter.

Den tredje "men": hvad er der ellers ikke blevet taget backup af? S3, korrekt. Da vi lagrer filer, som vi opbevarer hos brugerne i S3, troede vi oprigtigt, at det var uovervindeligt, og at der ikke var behov for at tage backup der. Men historien viser, at det sker anderledes. Generelt beskriver Amazon S3 som en grundlĂŠggende tjeneste, fordi Amazon selv bruger S3 til at opbevare maskinbilleder, konfigurationer, AMI-billeder, snapshots... Og hvis S3 falder, som det engang skete i de 7 Ă„r, vi har anvendt bitrix24, trĂŠkker det en hel del andre problemer med sig — utilgĂŠngelighed af opstart af virtuelle maskiner, fejl i API'en, osv.

Og S3 kan falde ned – det skete engang. Derfor kom vi frem til fĂžlgende ordning: For flere Ă„r siden fandtes der ikke seriĂžse offentlige objektholdere i Rusland, og vi overvejede at lave noget selv
 Heldigvis begyndte vi ikke pĂ„ det, for vi ville vĂŠre blevet begravet i den ekspertise, vi ikke har, og sikkert ville vi have lavet fejl. Nu findes der S3-kompatible opbevaringslĂžsninger fra Mail.ru, fra Yandex, samt fra en rĂŠkke andre udbydere. Til sidst kom vi frem til, at vi Ăžnskede, for det fĂžrste, redundans, og for det andet, muligheden for at arbejde med lokale kopier. Til den specifikke russiske region bruger vi Mail.ru Hotbox, som er API-kompatibel med S3. Vi havde ikke brug for betydelige modifikationer af koden i applikationen, og vi har lavet fĂžlgende mekanisme: i S3 er der triggere, der aktiveres ved oprettelse/fjernelse af objekter; Amazon har en service kaldet Lambda – det er serverless kĂžrsel af kode, der bliver udfĂžrt, nĂ„r de forskellige triggere aktiveres.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

Vi gjorde det meget simpelt: nĂ„r en trigger udlĂžses, udfĂžrer vi koden, der kopierer objektet til Mail.ru-holdet. For at kunne starte arbejdet med lokale kopier af data skal vi have omvendt synkronisering, sĂ„ kunder, der befinder sig i den russiske sektion, kan arbejde med det lager, der er nĂŠrmest dem. Mail er lige ved at fĂŠrdiggĂžre triggere i sit lager – der vil vĂŠre mulighed for at udfĂžre omvendt synkronisering pĂ„ infrastruktur niveau, men indtil videre gĂžr vi det pĂ„ niveau med vores egen kode. Hvis vi ser, at en kunde har uploadet en fil, placerer vi et event i kĂžen pĂ„ vores kode niveau, behandler det og udfĂžrer omvendt replikation. Ulempen ved dette er: hvis der sker noget med vores objekter uden for vores produkt, dvs. med nogle eksterne vĂŠrktĂžjer, vil vi ikke tage hĂžjde for det. Derfor venter vi pĂ„, at triggere pĂ„ lager niveau bliver tilgĂŠngelige, sĂ„ uanset hvor vi udfĂžrte koden, vil objektet, der kommer til os, blive kopieret den anden vej.

PÄ kode niveau er der for hver kunde angivet to opbevaringslÞsninger: en betragtes som primÊr, den anden som backup. Hvis alt er i orden, arbejder vi med den opbevaringslÞsning, der er tÊttest pÄ os: vores kunder, der er i Amazon, arbejder med S3, mens dem, der arbejder i Rusland, bruger Hotbox. Hvis flaget aktiveres, skal vi have en failover tilslutte sig, og vi skifter kunderne til den anden opbevaringslÞsning. Vi kan sÊtte dette flag uafhÊngigt efter regioner og kan skifte dem frem og tilbage. I praksis har vi ikke brugt det endnu, men mekanismen er forudset, og vi tror, at vi en dag vil fÄ brug for dette skift. Det er allerede sket én gang.

Åh, er jeres Amazon stukket af


I april er det Ärsdagen for begyndelsen pÄ blokaderne af Telegram i Rusland. Den mest pÄvirkede udbyder, som blev ramt af dette, er Amazon. Og desvÊrre har de russiske virksomheder, der arbejdede globalt, lidt mest.

Hvis virksomheden er global, og Rusland kun udgĂžr en meget lille del, 3-5% — sĂ„ kan de pĂ„ en eller anden mĂ„de ofres.

Hvis det er en helt russisk virksomhed — sĂ„ er jeg sikker pĂ„, at de bĂžr placere sig lokalt — det vil simpelthen vĂŠre mere bekvemt og komfortabelt for brugerne, og risiciene vil vĂŠre mindre.

Og hvis dette er en virksomhed, der arbejder globalt, og har nogenlunde lige mange kunder i Rusland som rundt om i verden? Forbindelsen mellem segmenterne er vigtig, og de skal pÄ en eller anden mÄde arbejde sammen.

Allerede i slutningen af marts 2018 sendte Roskomnadzor et brev til de stĂžrste operatĂžrer om, at de planlĂŠgger at blokere flere millioner IP-adresser fra Amazon for at blokere
 beskedapplikationen Zello. Tak til disse udbydere — de lĂŠkkede brevet til alle, og der opstod en forstĂ„else af, at forbindelsen til Amazon kunne bryde sammen. Det var en fredag, og vi lĂžb panikslagne hen til kollegerne fra servers.ru og sagde: „Venner, vi har brug for flere servere, der ikke stĂ„r i Rusland, ikke i Amazon, men for eksempel et eller andet sted i Amsterdam“, for at kunne sĂŠtte vores egne der. vpn og proxy til nogle endpoints, som vi ikke kan pĂ„virke, sĂ„som endpoints for S3 — man kan ikke forsĂžge at oprette en ny service og fĂ„ en anden IP, vi skal stadig kunne nĂ„ dem. I lĂžbet af et par dage fik vi disse servere konfigureret, opsat, og i det hele taget var vi forberedt, da blokaderne begyndte. Det er interessant, at Roskomnadzor, efter at have set opstyret og panikken, sagde: «Nej, vi vil ikke blokere noget lige nu». (Men det varede lige indtil de begyndte at blokere Telegram.) Efter at have konfigureret mulighederne for at omgĂ„ blokaderne og forstĂ„et, at blokaden ikke blev indfĂžrt, besluttede vi ikke at skille os af med det hele. Bare for en sikkerheds skyld.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

Og sĂ„, i 2019, lever vi nu i betingelser med blokader. Jeg sĂ„ i gĂ„r nat: omkring en million IP-adresser fortsĂŠtter med at blive blokeret. Sandheden er, at Amazon nĂŠsten blev fuldstĂŠndig afblokeret, i toppen nĂ„ede det op pĂ„ 20 millioner adresser
 Den virkelighed er, at der kan mangle forbindelse — god forbindelse — pludselig. Den kan mangle af tekniske Ă„rsager — brande, gravemaskiner, alt det der. Eller, som vi har set, ikke helt teknisk. Derfor kan nogen store og betydelige med egne AS'er, sikkert styre dette pĂ„ andre mĂ„der — direkte forbindelse og andre ting allerede pĂ„ niveau l2. Men i en simpel variant, som os eller andre mindre, kan det vĂŠre en god idĂ© at have redundans pĂ„ serverniveau, opsat et andet sted, pĂ„ forhĂ„nd konfigureret VPN, proxy, med mulighed for hurtigt at skifte konfiguration til de segmenter, som er kritiske for din forbindelse. Dette har hjulpet os flere gange, nĂ„r blokaderne mod Amazon begyndte, vi brugte i vĂŠrste fald netop trafik fra S3, men gradvist blev det lĂžst.

Hvordan kan man reservenere
 en hel udbyder?

Vi har i Þjeblikket ikke et scenarie for en total nedbrud af Amazon. Vi har et lignende scenarie for Rusland. I Rusland brugte vi en udbyder, hvor vi valgte at have flere lokaliteter. For et Är siden stÞdte vi pÄ et problem: selvom det er to datacentre, kan der allerede ved niveauet for udbyderens netvÊrkskonfiguration vÊre problemer, der vil pÄvirke begge datacentre. Det kan resultere i nedetid pÄ begge lokaliteter. Og selvfÞlgelig skete det ogsÄ. Vi har i sidste ende gennemgÄet vores interne arkitektur. Den har ikke Êndret sig meget, men i Rusland har vi nu to lokaliteter, som ikke er hos én udbyder, men hos to forskellige. Hvis én skulle gÄ ned, kan vi skifte over til den anden.

Hypotetisk set overvejer vi for Amazon at reservere pĂ„ niveauet for en anden udbyder; mĂ„ske Google, mĂ„ske nogen anden
 Men indtil videre har vi observeret, at hvis der sker nedbrud pĂ„ niveauet for en availability-zone hos Amazon, sĂ„ er nedbrud pĂ„ niveauet for en hel region et relativt sjĂŠldent fĂŠnomen. Derfor har vi en teoretisk idĂ© om, at vi mĂ„ske vil implementere en reservelĂžsning „Amazon – ikke Amazon“, men praktisk set har det endnu ikke vĂŠret tilfĂŠldet.

Et par ord om automatisering

Er automatisering altid nĂždvendig? Her er det passende at nĂŠvne Dunning-Kruger-effekten. PĂ„ x-aksen har vi vores viden og erfaring, som vi opnĂ„r, og pĂ„ y-aksen er vores selvtillid i vores handlinger. FĂžrst ved vi ikke noget og er slet ikke sikre. Derefter ved vi lidt og bliver mega-sikre — det er det, man kalder „toppunktet for tĂ„belighed“, som godt illustreres af billedet „dĂ„neskab og mod“. Herefter har vi lĂŠrt lidt og er klar til at gĂ„ i kamp. SĂ„ trĂŠder vi pĂ„ nogle mega-seriĂžse problemer, falder ind i fortvivlelsens dal, hvor vi ser ud til at vide noget, men i virkeligheden ved vi ikke meget. Derefter, efterhĂ„nden som vi fĂ„r mere erfaring, bliver vi mere selvsikre.

«Bitrix24»: «Det, der hurtigt er bygget, betragtes ikke som faldet»

Vores logik omkring de forskellige skift til specifikke fejl er meget godt beskrevet af denne grafik. Vi startede — vi vidste intet, praktisk talt alt arbejde blev udfĂžrt manuelt. Senere indsĂ„ vi, at vi kunne automatisere alting og dermed sove roligt. Men pludselig ramte vi en kĂŠmpe forhindring: vi fik false positive, og vi skiftede trafik frem og tilbage, selvom det egentlig ikke burde have vĂŠret nĂždvendigt. FĂžlgelig brĂžd replikationen sammen eller noget andet — det er dalen af fortvivlelse. Derefter kom vi til indsigten, at man skal forholde sig til alt med omtanke. Det vil sige, der giver mening at stole pĂ„ automatiseringen, forudsat at man tager hĂžjde for muligheden for falske alarmer. Men! hvis konsekvenserne kan vĂŠre ĂždelĂŠggende, er det bedre at overlade det til den vagtholdende skift og ingeniĂžrer, som vil sikre, at der virkelig er en fejl, og udfĂžre de nĂždvendige handlinger manuelt...

Konklusion

I lĂžbet af 7 Ă„r har vi bevĂŠget os fra at panikke, nĂ„r noget gik ned, til at forstĂ„, at problemer ikke eksisterer; der er kun opgaver, der skal lĂžses — og som kan lĂžses. NĂ„r du bygger en service, sĂ„ se den fra oven, og vurder alle de risici, der kan opstĂ„. Hvis du straks ser dem — sĂ„ forudse reserven og muligheden for at bygge en fejltolerant infrastruktur, for enhver punkt der kan bryde sammen og fĂžre til, at servicen ikke fungerer — det vil helt sikkert ske. Og selv hvis du mener, at visse elementer af infrastrukturen ikke vil bryde sammen — som for eksempel S3 — sĂ„ vĂŠr klar over, at de kan. Og i det mindste i teorien, hav en idĂ© om, hvad du vil gĂžre med dem, hvis noget alligevel skulle ske. Hav en plan for risikohĂ„ndtering. NĂ„r du overvejer, om alting skal gĂžres automatisk eller manuelt, sĂ„ vurder risiciene: hvad sker der, hvis automatiseringen begynder at skifte alt — vil det fĂžre til en endnu vĂŠrre situation sammenlignet med en fejl? MĂ„ske er der steder, hvor der skal anvendes en fornuftig balance mellem at bruge automatisering og reaktionen fra den vagtholdende ingeniĂžr, der vurderer den reelle situation og forstĂ„r, om noget skal skiftes straks eller "ja, men ikke nu".

En fornuftig balance mellem perfektionisme og de reelle ressourcer, tid og penge, som du kan investere i det resultat, du ender op med.

Denne tekst er en udvidet version af Alexander Demidovs prÊsentation pÄ konferencen. Uptime dag 4.

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster