„Амазон“ ја откри причината за прекинот: Како мал проблем урна половина од интернетот?


Голем прекин на Amazon Web Services (AWS) што парализираше дел од интернетот и ги сруши некои од најпопуларните апликации и услуги во светот во понеделник започна со навидум мала грешка. Проблемот, кој се случи кога два автоматизирани системи се обидоа да ги ажурираат истите податоци истовремено, ескалираше во сериозен прекин што инженерите на Amazon поминаа часови обидувајќи се да го поправат, соопшти компанијата во детална анализа на инцидентот, објавува Си-Ен-Ен.

Масовниот прекин на услугата во облак ги остави корисниците неспособни да нарачуваат храна, да пристапуваат до болничките мрежи и мобилното банкарство, па дури и да се поврзат со своите безбедносни системи и паметни домашни уреди. Големите глобални компании, вклучувајќи ги Netflix, Starbucks и United Airlines, привремено не беа во можност да ги обезбедат своите онлајн услуги.

„Се извинуваме за влијанието што овој настан го имаше врз нашите клиенти“, соопшти „Амазон“ на веб-страницата на AWS. „Знаеме дека овој настан имаше значително влијание врз многу клиенти. Ќе направиме сè што можеме за да научиме од овој настан и да го искористиме за дополнително да ја подобриме нашата достапност.“

Што точно се случи?

Едноставно кажано, проблемот произлезе од два програми кои се натпреваруваа да го напишат истиот DNS запис во исто време – еден вид запис во „телефонскиот именик на интернетот“ – што резултираше со празен запис. Ова потоа предизвика лавина од проблеми и прекини низ повеќе AWS услуги.

„Аналогијата со телефонскиот именик е доста соодветна бидејќи луѓето од другата страна се таму, но ако не знаете како да ги контактирате, тогаш имате проблем“, изјави за Си-Ен-Ен Анџелик Медина, раководител на услугата за следење на мрежата ThousandEyes Internet Intelligence на „Циско“. „И тој телефонски именик во основа го нема“.

Индранил Гупта, професор по електротехника и компјутерско инженерство на Универзитетот во Илиноис, употреби друга аналогија за да ја објасни техничката анализа на „Амазон“. Тој ја спореди ситуацијата со двајца студенти, еден брз и еден бавен, кои треба да соработуваат на споделена тетратка.

Побавниот студент „обрнува внимание во кратки налети, но неговата работа може да биде во конфликт или да биде спротивна на работата на побрзиот студент“, напиша тој. Во исто време, побрзиот ученик може „да се обиде постојано да ги „поправа“ работите брзо“ и да ја избрише работата на побавниот ученик затоа што ја смета за застарена. „Резултатот… празна страница (или прецртана страница) во лабораториската тетратка додека наставникот не дојде и не ја прегледа“, заклучи тој.

Таа „празна страница“ ја сруши базата на податоци DynamoDB на AWS, создавајќи каскаден ефект што влијаеше на други услуги како EC2, која обезбедува виртуелни сервери за развој на апликации, и Network Load Balancer, кој управува со мрежниот сообраќај. Кога DynamoDB се врати онлајн, EC2 се обиде да ги врати сите свои сервери онлајн истовремено, а системот не можеше да се справи со оптоварувањето.

Лекции и следни чекори

По инцидентот, „Амазон“ објави серија промени во своите системи, вклучително и поправка за таканареченото „сценарио на состојба на трка“ кое предизвика два система да ја пребришат работата еден на друг. Компанијата, исто така, ќе додаде дополнителен пакет за тестирање за својата услуга EC2.

Прекините како оние во понеделник, иако ретки, се едноставно реалност, рече Гупта. Но, клучно е како се справуваат со ваквите проблеми.

„Големи прекини како овој, едноставно се случуваат. Нема ништо што можете да направите за да ги избегнете, исто како луѓето да се разболат“, изјави Гупта за Си-Ен-Ен. „Но, мислам дека начинот на кој компанијата реагира на прекините и ги информира клиентите е навистина, навистина клучен.“