Како АВС припрема своје еластичне услуге. Мрежно скалирање

Мрежа Амазон Веб Сервицес обухвата 69 зона широм света у 22 региона: САД, Европа, Азија, Африка и Аустралија. Свака зона садржи до 8 дата центара – Дата Процессинг Центерс. Сваки центар података има хиљаде или стотине хиљада сервера. Мрежа је пројектована на такав начин да се узму у обзир сви мало вероватни сценарији испада. На пример, сви региони су изоловани један од другог, а зоне приступачности су одвојене на удаљености од неколико километара. Чак и ако пресечете кабл, систем ће се пребацити на резервне канале, а губитак информација износиће неколико пакета података. Василиј Пантјухин ће говорити о томе на којим другим принципима је изграђена мрежа и како је структурисана.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Василиј Пантјухин започео је као Уник администратор у .ру компанијама, радио на великом хардверу компаније Сун Мицросистем 6 година и проповедао свет усредсређен на податке 11 година у ЕМЦ-у. Природно је еволуирао у приватне облаке, а затим се преселио у јавне. Сада, као архитекта Амазон Веб Сервицес, он пружа техничке савете за живот и развој у АВС облаку.

У претходном делу АВС трилогије, Василиј се бавио дизајном физичких сервера и скалирањем базе података. Нитро картице, прилагођени хипервизор заснован на КВМ, база података Амазон Аурора - о свему томе у материјалу "Како АВС припрема своје еластичне услуге. Скалирање сервера и базе података" Прочитајте за контекст или гледајте видео трака говори.

Овај део ће се фокусирати на скалирање мреже, једног од најсложенијих система у АВС-у. Еволуција од равне мреже до виртуелног приватног облака и његов дизајн, интерни сервиси Блацкфоот-а и ХиперПлане-а, проблем бучног суседа, и на крају - размера мреже, окосница и физичких каблова. О свему овоме под резом.

Одрицање од одговорности: све испод је Василијево лично мишљење и можда се не поклапа са позицијом Амазон веб услуга.

Мрежно скалирање

АВС облак је покренут 2006. Његова мрежа је била прилично примитивна - са равном структуром. Опсег приватних адреса био је заједнички за све закупце облака. Када покрећете нову виртуелну машину, случајно сте добили доступну ИП адресу из овог опсега.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Овај приступ је био лак за имплементацију, али је суштински ограничио употребу облака. Конкретно, било је прилично тешко развити хибридна решења која комбинују приватне мреже на терену и у АВС-у. Најчешћи проблем је био преклапање опсега ИП адреса.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Виртуелни приватни облак

Испоставило се да је облак тражен. Дошло је време да се размисли о скалабилности и могућности да је користе десетине милиона станара. Равна мрежа је постала велика препрека. Стога смо размишљали о томе како да изолујемо кориснике једне од других на нивоу мреже како би могли самостално да бирају ИП опсеге.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Шта вам прво падне на памет када помислите на изолацију мреже? Сигурно ВЛАН и ВРФ - Виртуелно рутирање и прослеђивање.

Нажалост, није успело. ВЛАН ИД је само 12 бита, што нам даје само 4096 изолованих сегмената. Чак и највећи прекидачи могу да користе највише 1-2 хиљаде ВРФ-ова. Коришћење ВРФ-а и ВЛАН-а заједно даје нам само неколико милиона подмрежа. Ово дефинитивно није довољно за десетине милиона станара, од којих сваки мора бити у могућности да користи више подмрежа.

Такође једноставно не можемо приуштити да купимо потребан број великих кутија, на пример, од Цисцо-а или Јунипер-а. Постоје два разлога: лудо је скупо, а ми не желимо да будемо на милости њихове политике развоја и крпљења.

Постоји само један закључак - направите своје решење.

2009. објавили смо ВПЦ - Виртуелни приватни облак. Име се задржало и сада га користе и многи провајдери облака.

ВПЦ је виртуелна мрежа СДН (Софтверски дефинисана мрежа). Одлучили смо да не измишљамо посебне протоколе на нивоу Л2 и Л3. Мрежа ради на стандардном Етхернет-у и ИП-у. За пренос преко мреже, саобраћај виртуелне машине је инкапсулиран у наш сопствени омотач протокола. Означава ИД који припада ВПЦ-у станара.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Звучи једноставно. Међутим, постоји неколико озбиљних техничких изазова које треба превазићи. На пример, где и како складиштити податке о мапирању виртуелних МАЦ/ИП адреса, ВПЦ ИД-у и одговарајућем физичком МАЦ/ИП-у. На АВС скали, ово је огромна табела која би требало да ради са минималним кашњењима приступа. Одговоран за ово услуга мапирања, који се шири у танком слоју по целој мрежи.

У машинама нове генерације, инкапсулацију обављају Нитро картице на хардверском нивоу. У старијим случајевима, енкапсулација и декапсулација су засноване на софтверу. 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Хајде да схватимо како то функционише уопштено. Почнимо са нивоом Л2. Претпоставимо да имамо виртуелну машину са ИП 10.0.0.2 на физичком серверу 192.168.0.3. Шаље податке виртуелној машини 10.0.0.3, која живи на 192.168.1.4. АРП захтев се генерише и шаље на мрежну Нитро картицу. Ради једноставности, претпостављамо да обе виртуелне машине живе у истом „плавом“ ВПЦ-у.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Мапа замењује изворну адресу својом и прослеђује АРП оквир сервису за мапирање.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Услуга мапирања враћа информације које су неопходне за пренос преко Л2 физичке мреже.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Нитро картица у АРП одговору замењује МАЦ на физичкој мрежи са адресом у ВПЦ-у.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Када преносимо податке, умотавамо логички МАЦ и ИП у ВПЦ омот. Све ово преносимо преко физичке мреже користећи одговарајуће изворне и одредишне ИП Нитро картице.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Физичка машина којој је пакет намењен врши проверу. Ово је неопходно да би се спречила могућност лажирања адресе. Машина шаље посебан захтев сервису за мапирање и пита: „Са физичке машине 192.168.0.3 примио сам пакет који је намењен за 10.0.0.3 у плавом ВПЦ-у. Да ли је он легитиман? 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Услуга мапирања проверава своју табелу алокације ресурса и дозвољава или одбија пролазак пакета. У свим новим случајевима, додатна валидација је уграђена у Нитро картице. Немогуће га је заобићи чак ни теоретски. Према томе, лажирање ресурса у другом ВПЦ-у неће радити.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Затим се подаци шаљу виртуелној машини за коју су намењени. 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Услуга мапирања такође функционише као логички рутер за пренос података између виртуелних машина у различитим подмрежама. Све је концептуално једноставно, нећу улазити у детаље.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Испоставило се да се при преносу сваког пакета сервери окрећу сервису мапирања. Како се носити са неизбежним кашњењима? Кеширање, наравно.

Лепота је у томе што не морате да кеширате цео огроман сто. Физички сервер угошћује виртуелне машине из релативно малог броја ВПЦ-ова. Потребно је само да кеширате информације о овим ВПЦ-овима. Пренос података на друге ВПЦ-ове у „подразумеваној“ конфигурацији још увек није легитиман. Ако се користи функционалност као што је ВПЦ-пееринг, тада се информације о одговарајућим ВПЦ-овима додатно учитавају у кеш меморију. 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Средили смо пренос података у ВПЦ.

Блацкфоот

Шта учинити у случајевима када саобраћај треба да се преноси напоље, на пример на Интернет или преко ВПН-а на земљу? Помаже нам овде Блацкфоот — АВС интерна услуга. Развио га је наш јужноафрички тим. Због тога је служба названа по пингвину који живи у Јужној Африци.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Блацкфоот декапсулира саобраћај и ради шта је потребно са њим. Подаци се шаљу на Интернет такви какви јесу.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Подаци се декапсулирају и поново умотају у ИПсец када се користи ВПН.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Када се користи Дирецт Цоннецт, саобраћај се означава и шаље на одговарајући ВЛАН.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

ХиперПлане

Ово је интерна услуга контроле тока. Многе мрежне услуге захтевају праћење стања протока података. На пример, када се користи НАТ, контрола тока мора да обезбеди да сваки пар ИП:одредишни порт има јединствени излазни порт. У случају балансера НЛБ - Мрежни балансер оптерећења, ток података увек треба да буде усмерен на исту циљну виртуелну машину. Безбедносне групе су заштитни зид са стањем. Он прати долазни саобраћај и имплицитно отвара портове за одлазни ток пакета.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

У АВС облаку, захтеви за кашњење преноса су изузетно високи. Зато ХиперПлане критичне за перформансе целе мреже.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Хиперплане је изграђен на ЕЦ2 виртуелним машинама. Овде нема магије, само лукавства. Трик је у томе што су то виртуелне машине са великом РАМ меморијом. Операције су трансакцијске и изводе се искључиво у меморији. Ово вам омогућава да постигнете кашњење од само десетина микросекунди. Рад са диском би убио сву продуктивност. 

Хиперплане је дистрибуирани систем огромног броја таквих ЕЦ2 машина. Свака виртуелна машина има пропусни опсег од 5 ГБ/с. У целој регионалној мрежи, ово обезбеђује невероватне терабите пропусног опсега и омогућава обраду милиона веза у секунди.

ХиперПлане ради само са стримовима. Енкапсулација ВПЦ пакета је потпуно транспарентна за њега. Потенцијална рањивост у овој интерној услузи би ипак спречила да се ВПЦ изолација прекине. Нивои испод су одговорни за безбедност.

Бучан комшија

Још увек постоји проблем бучни комшија - бучни комшија. Претпоставимо да имамо 8 чворова. Ови чворови обрађују токове свих корисника облака. Чини се да је све у реду и оптерећење треба равномерно распоредити на све чворове. Чворови су веома моћни и тешко их је преоптеретити.

Али ми градимо нашу архитектуру на основу чак и мало вероватних сценарија. 

Мала вероватноћа не значи и немогуће.

Можемо замислити ситуацију у којој би један или више корисника генерисало превише оптерећења. Сви ХиперПлане чворови су укључени у обраду овог оптерећења и други корисници би потенцијално могли да доживе неку врсту смањења перформанси. Ово разбија концепт облака, у којем станари немају могућност да утичу једни на друге.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Како решити проблем бучног комшије? Прво што вам пада на памет је шардовање. Наших 8 чворова је логично подељено на 4 дела од по 2 чвора. Сада ће бучни комшија узнемиравати само четвртину свих корисника, али ће их јако узнемиравати.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Хајде да урадимо ствари другачије. Сваком кориснику ћемо доделити само 3 чвора. 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Трик је у насумичном додељивању чворова различитим корисницима. На слици испод, плави корисник сече чворове са једним од друга два корисника - зеленим и наранџастим.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Са 8 чворова и 3 корисника, вероватноћа да се бучни сусед укрсти са једним од корисника је 54%. Са овом вероватноћом ће плави корисник утицати на друге станаре. Истовремено, само део његовог оптерећења. У нашем примеру, овај утицај ће бар некако бити приметан не свима, већ само трећини свих корисника. Ово је већ добар резултат.

Број корисника који ће се укрштати

Вероватноћа у процентима

0

100%

1

100%

2

100%

3

2%

Хајде да ситуацију приближимо стварности – узмимо 100 чворова и 5 корисника на 5 чворова. У овом случају, ниједан од чворова се неће пресећи са вероватноћом од 77%. 

Број корисника који ће се укрштати

Вероватноћа у процентима

0

100%

1

100%

2

100%

3

100%

4

100%

5

100%

У реалној ситуацији, са огромним бројем ХиперПлане чворова и корисника, потенцијални утицај бучног суседа на друге кориснике је минималан. Овај метод се зове мешање шарања - схуффле схадинг. Минимизира негативан ефекат отказа чвора.

Многи сервиси су изграђени на бази ХиперПлане-а: Нетворк Лоад Баланцер, НАТ Гатеваи, Амазон ЕФС, АВС ПриватеЛинк, АВС Трансит Гатеваи.

Мрежна скала

Хајде сада да причамо о скали саме мреже. За октобар 2019. АВС нуди своје услуге у 22 региона, а планирано је још 9.

  • Сваки регион садржи неколико зона доступности. У свету их има 69.
  • Сваки АЗ се састоји од центара за обраду података. Укупно их нема више од 8.
  • Дата центар има огроман број сервера, неки до 300.

Хајде да све ово усредсредимо, помножимо и добијемо импресивну цифру која одражава Амазонска размера облака.

Постоји много оптичких веза између зона доступности и дата центра. У једном од наших највећих региона, постављено је 388 канала само за АЗ комуникацију међу собом и комуникационих центара са другим регионима (Транзитни центри). Све у свему, ово даје лудило 5000 Тбит.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Бацкбоне АВС је направљен посебно за облак и оптимизован за њега. Ми га градимо на каналима 100 ГБ / с. У потпуности их контролишемо, са изузетком региона у Кини. Саобраћај се не дели са теретом других компанија.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Наравно, ми нисмо једини провајдер облака са приватном окосном мрежом. Све више великих компанија иде овим путем. То потврђују независни истраживачи, на пример из Телегеографија.

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Графикон показује да расте удео провајдера садржаја и цлоуд провајдера. Због тога се удео интернет саобраћаја окосних провајдера константно смањује.

Објаснићу зашто се то дешава. Раније је већина веб услуга била доступна и конзумирана директно са Интернета. Данас се све више сервера налази у облаку и доступно им је путем ЦДН - Мрежа за дистрибуцију садржаја. Да би приступио ресурсу, корисник иде преко Интернета само до најближег ЦДН ПоП - Tačka prisutnosti. Најчешће је негде у близини. Затим напушта јавни Интернет и лети кроз приватну кичму преко Атлантика, на пример, и долази директно до ресурса.

Питам се како ће се Интернет променити за 10 година ако се овај тренд настави?

Физички канали

Научници још нису схватили како да повећају брзину светлости у Универзуму, али су направили велики напредак у методама њеног преношења кроз оптичко влакно. Тренутно користимо 6912 фибер каблова. Ово помаже да се значајно оптимизују трошкови њихове инсталације.

У неким регионима морамо да користимо посебне каблове. На пример, у региону Сиднеја користимо каблове са посебним премазом против термита. 

Како АВС припрема своје еластичне услуге. Мрежно скалирање

Нико није имун од невоља и понекад се наши канали оштете. На фотографији десно су оптички каблови у једном од америчких региона које су поцепали грађевински радници. Као резултат несреће, изгубљено је само 13 пакета података, што је изненађујуће. Још једном - само 13! Систем се буквално моментално пребацио на резервне канале - вага ради.

Галопирали смо кроз неке од Амазонових услуга и технологија у облаку. Надам се да имате бар неку идеју о размерама задатака које наши инжењери морају да реше. Лично, сматрам да је ово веома узбудљиво. 

Ово је завршни део трилогије Василија Пантјухина о АВС уређају. ИН прво делови описују оптимизацију сервера и скалирање базе података, и ин други — функције без сервера и Фирецрацкер.

На ХигхЛоад++ у новембру Василиј Пантјухин ће поделити нове детаље о уређају Амазон. Он ће рећи о узроцима кварова и дизајну дистрибуираних система у Амазону. 24. октобар је и даље могућ резервисати карту по повољној цени, а платите касније. Чекамо вас у ХигхЛоад++, дођите да разговарамо!

Извор: ввв.хабр.цом

Додај коментар