Tupperware: Қотили Кубернетеси Facebook?

Идоракунии самаранок ва боэътимоди кластерҳо дар ҳама миқёс бо Tupperware

Tupperware: Қотили Кубернетеси Facebook?

Имруз дар Конфронси Systems@Scale мо Tupperware-ро ҷорӣ кардем, системаи идоракунии кластерии мо, ки контейнерҳоро дар миллионҳо серверҳое, ки тақрибан ҳамаи хидматҳои моро иҷро мекунанд, ташкил мекунад. Мо бори аввал Tupperware-ро дар соли 2011 ҷойгир кардем ва аз он вақт инҷониб инфрасохтори мо аз ҳисоби афзоиш ёфт. 1 маркази маълумот то пурра 15 марказҳои додаҳои ҷуғрофӣ. Дар тӯли ин вақт, Tupperware дар як ҷо намеистод ва бо мо рушд мекард. Мо ба шумо нишон медиҳем, ки чӣ тавр Tupperware идоракунии кластерҳои дараҷаи аввал, аз ҷумла дастгирии муносиб барои хидматҳои давлатӣ, панели ягонаи идоракунӣ барои ҳама марказҳои додаҳо ва қобилияти тақсим кардани тавонмандӣ байни хидматҳо дар вақти воқеӣ. Мо инчунин дарсҳои омӯхтаамонро ҳангоми рушди инфрасохтори мо мубодила хоҳем кард.

Tupperware вазифаҳои гуногунро иҷро мекунад. Таҳиягарони барномаҳо онро барои интиқол ва идоракунии барномаҳо истифода мебаранд. Он рамзи барнома ва вобастагиҳоро ба тасвир бастабандӣ мекунад ва онро ҳамчун контейнер ба серверҳо мерасонад. Контейнерҳо ҷудокунии байни замимаҳо дар як серверро таъмин мекунанд, то таҳиягарон бо мантиқи барнома сарукор дошта бошанд ва дар бораи дарёфти серверҳо ё идоракунии навсозиҳо хавотир нашаванд. Tupperware инчунин кори серверро назорат мекунад ва агар нокомӣ пайдо кунад, контейнерҳоро аз сервери мушкилот интиқол медиҳад.

Муҳандисони банақшагирии иқтидор Tupperware-ро барои тақсим кардани қобилияти сервер ба гурӯҳҳо дар асоси буҷа ва маҳдудиятҳо истифода мебаранд. Онҳо инчунин онро барои беҳтар кардани истифодаи сервер истифода мебаранд. Операторони маркази додаҳо ба Tupperware муроҷиат мекунанд, то контейнерҳоро дар марказҳои додаҳо дуруст тақсим кунанд ва контейнерҳоро ҳангоми нигоҳдорӣ қатъ ё интиқол диҳанд. Ба шарофати ин, нигоҳдории серверҳо, шабакаҳо ва таҷҳизот дахолати ҳадди ақали инсонро талаб мекунад.

Меъмории Tupperware

Tupperware: Қотили Кубернетеси Facebook?

Меъмории Tupperware PRN яке аз минтақаҳои марказҳои маълумотии мост. Минтақа аз якчанд биноҳои маркази додаҳо (PRN1 ва PRN2) дар наздикӣ ҷойгир аст. Мо нақша дорем, ки як панели идоракунӣ созем, ки ҳамаи серверҳоро дар як минтақа идора кунад.

Таҳиягарони барнома хидматҳоро дар шакли ҷойҳои кори Tupperware пешкаш мекунанд. Кор аз контейнерҳои сершумор иборат аст ва ҳама одатан як рамзи барномаро иҷро мекунанд.

Tupperware барои таъмини контейнерҳо ва идоракунии давраи зиндагии онҳо масъул аст. Он аз якчанд ҷузъҳо иборат аст:

  • Frontend Tupperware APIҳоро барои интерфейси корбар, CLI ва дигар абзорҳои автоматикунонӣ таъмин мекунад, ки тавассути онҳо шумо метавонед бо Tupperware ҳамкорӣ кунед. Онҳо тамоми сохтори дохилиро аз соҳибони кори Tupperware пинҳон мекунанд.
  • Tupperware Scheduler як панели идоракунӣ мебошад, ки барои идоракунии контейнер ва давраи кор масъул аст. Он дар сатҳҳои минтақавӣ ва глобалӣ ҷойгир карда шудааст, ки дар он нақшасози минтақавӣ серверҳоро дар як минтақа идора мекунад ва нақшаи глобалӣ серверҳоро аз минтақаҳои гуногун идора мекунад. Нақшасоз ба қисмҳо тақсим карда мешавад ва ҳар як порча маҷмӯи корҳоро идора мекунад.
  • Proxy Scheduler Tupperware қисмати дохилиро пинҳон мекунад ва барои корбарони Tupperware як панели қулайи шишаро таъмин мекунад.
  • Ҷудокунандаи Tupperware контейнерҳоро ба серверҳо таъин мекунад. Нақшасоз боздоштан, оғоз кардан, навсозӣ ва аз кор мондани контейнерҳоро идора мекунад. Дар айни замон, як тақсимкунанда метавонад тамоми минтақаро бидуни тақсимшавӣ ба қисмҳо идора кунад. (Ба тафовути истилоҳот диққат диҳед. Масалан, банақшагири дар Tupperware ба панели идоракунӣ дар Кубернитель, ва тақсимкунандаи Tupperware дар Кубернетес нақшасоз номида мешавад.)
  • Брокери захиравӣ сарчашмаи ҳақиқатро барои рӯйдодҳои сервер ва хидмат нигоҳ медорад. Мо барои ҳар як маркази додаҳо як брокери захиравӣ кор мекунем ва он ҳама маълумотро дар бораи серверҳо дар он маркази додаҳо нигоҳ медорад. Брокери захираҳо ва системаи идоракунии иқтидор ё системаи таъмини захираҳо, ба таври динамикӣ қарор медиҳанд, ки кадом интиқоли нақшакаш кадом серверро назорат мекунад. Хадамоти санҷиши саломатӣ серверҳоро назорат мекунад ва маълумотро дар бораи саломатии онҳо дар брокери захиравӣ нигоҳ медорад. Агар сервер мушкилот дошта бошад ё ба нигоҳдорӣ ниёз дошта бошад, брокери захиравӣ ба тақсимкунанда ва нақшакаш мегӯяд, ки контейнерҳоро қатъ кунанд ё онҳоро ба серверҳои дигар интиқол диҳанд.
  • Agent Tupperware як демонест, ки дар ҳар як сервер кор мекунад, ки таъмин ва хориҷ кардани контейнерҳоро идора мекунад. Барномаҳо дар дохили контейнер кор мекунанд, ки ба онҳо изолятсия ва такроршавандагии бештар медиҳад. Дар Конфронси соли гузашта Systems @Scale Мо аллакай тавсиф кардаем, ки чӣ гуна контейнерҳои инфиродии Tupperware бо истифода аз тасвирҳо, btrfs, cgroupv2 ва systemd сохта мешаванд.

Хусусиятҳои фарқкунандаи Tupperware

Tupperware аз бисёр ҷиҳат ба дигар системаҳои идоракунии кластерҳо, ба монанди Kubernetes ва Месос, аммо фарқиятҳо низ мавҷуданд:

  • Дастгирии дохилӣ барои хидматҳои давлатӣ.
  • Панели ягонаи идоракунӣ барои серверҳо дар марказҳои гуногуни додаҳо барои автоматикунонии интиқоли контейнерҳо дар асоси ният, қатъ кардани кластерҳо ва нигоҳдорӣ.
  • Тақсимоти равшани панели идоракунӣ барои васеъкунӣ.
  • Компютерҳои эластикӣ ба шумо имкон медиҳад, ки қувваи барқро байни хидматҳо дар вақти воқеӣ тақсим кунед.

Мо ин хусусиятҳои ҷолибро барои дастгирии барномаҳои гуногуни бешаҳрвандӣ ва давлатӣ дар флоти азими глобалии серверҳои муштарак таҳия кардем.

Дастгирии дохилӣ барои хидматҳои давлатӣ.

Tupperware як қатор хидматҳои муҳими ҳолатиро идора мекунад, ки маълумоти доимии маҳсулотро барои Facebook, Instagram, Messenger ва WhatsApp нигоҳ медорад. Инҳо метавонанд мағозаҳои калони ҷуфтҳои калидӣ бошанд (масалан. ZippyDB) ва мониторинги анбори додаҳо (масалан, ODS Gorilla и Скуба). Нигоҳ доштани хидматҳои давлатӣ осон нест, зеро система бояд кафолат диҳад, ки таъминоти контейнерҳо ба халалдоршавии миқёси калон, аз ҷумла қатъи шабака ё қатъи барқ ​​тоб оварда метавонад. Ва дар ҳоле ки усулҳои анъанавӣ, ба монанди паҳн кардани контейнерҳо дар доменҳои хато, барои хидматҳои бидуни шаҳрвандӣ хуб кор мекунанд, хидматҳои давлатӣ ба дастгирии иловагӣ ниёз доранд.

Масалан, агар нокомии сервер як нусхаи пойгоҳи додаҳоро дастнорас гардонад, шумо бояд нигоҳдории автоматиро фаъол созед, ки ядроҳои 50 серверро аз ҳавзи 10 навсозӣ кунад? Вобаста ба вазъият. Агар яке аз ин 50 сервер нусхаи дигари ҳамон базаи маълумот дошта бошад, беҳтар аст интизор шавед ва якбора 2 нусхаро аз даст надиҳед. Барои ба таври динамикӣ қабул кардани қарорҳо дар бораи нигоҳдорӣ ва иҷрои система, ба мо маълумот дар бораи нусхабардории додаҳои дохилӣ ва мантиқи ҷойгиркунии ҳар як хидмати давлатӣ лозим аст.

Интерфейси TaskControl ба хидматҳои давлатӣ имкон медиҳад, ки ба қарорҳое, ки ба дастрасии маълумот таъсир мерасонанд, таъсир расонанд. Бо истифода аз ин интерфейс, барномасоз барномаҳои берунаро дар бораи амалиёти контейнер (аз нав оғоз кардан, навсозӣ, муҳоҷират, нигоҳдорӣ) огоҳ мекунад. Хидмати давлатӣ як контроллереро амалӣ мекунад, ки ба Tupperware хабар медиҳад, ки ҳангоми иҷрои ҳар як амалиёт бехатар аст ва ин амалиётҳоро муваққатан иваз кардан ё ба таъхир андохтан мумкин аст. Дар мисоли боло, нозири пойгоҳи дода метавонад ба Tupperware бигӯяд, ки аз 49 сервер 50-ро навсозӣ кунад, аммо ҳоло сервери мушаххасро (X) танҳо гузорад. Дар натиҷа, агар давраи навсозии ядро ​​​​гузарад ва пойгоҳи додаҳо нусхаи мушкилотро барқарор карда натавонад, Tupperware сервери X-ро навсозӣ мекунад.

Tupperware: Қотили Кубернетеси Facebook?

Бисёре аз хидматҳои давлатӣ дар Tupperware TaskControl-ро на мустақим, балки тавассути ShardManager, платформаи умумӣ барои эҷоди хидматҳои давлатӣ дар Facebook истифода мебаранд. Бо Tupperware, таҳиягарон метавонанд нияти худро мушаххас кунанд, ки чӣ гуна контейнерҳо бояд дар марказҳои додаҳо тақсим карда шаванд. Бо ShardManager, таҳиягарон нияти худро барои чӣ гуна тақсим кардани маълумот дар байни контейнерҳо муайян мекунанд. ShardManager аз ҷойгиркунии додаҳо ва такрори замимаҳои худ огоҳ аст ва бо Tupperware тавассути интерфейси TaskControl иртибот мекунад, то амалиёти контейнериро бидуни ҷалби мустақими барнома ба нақша гирад. Ин ҳамгироӣ идоракунии хидматҳои давлатиро хеле осон мекунад, аммо TaskControl метавонад бештар кунад. Масалан, сатҳи веби васеъи мо бидуни шаҳрвандӣ аст ва TaskControl-ро барои ба таври динамикӣ танзим кардани суръати навсозӣ ба контейнерҳо истифода мебарад. Дар охир сатҳи веб қодир аст, ки нашрҳои сершумори нармафзорро зуд анҷом диҳад дар як рӯз бе осебпазирии мавҷудият.

Идоракунии серверҳо дар марказҳои додаҳо

Вақте ки Tupperware бори аввал дар соли 2011 ба кор даромад, ҳар як кластери сервер аз ҷониби нақшаи алоҳида идора карда мешуд. Он замон кластери Facebook як гурӯҳи рафҳои серверӣ буд, ки ба як коммутатори шабака пайвастанд ва маркази додаҳо якчанд кластерҳоро дар бар мегирифт. Нақшасоз метавонад танҳо серверҳоро дар як кластер идора кунад, ин маънои онро дорад, ки кор наметавонад дар байни кластерҳои сершумор паҳн шавад. Инфрасохтори мо афзоиш ёфт, мо бештар кластерҳоро хориҷ мекардем. Азбаски Tupperware наметавонад корро аз кластери бекоршуда ба кластерҳои дигар бидуни тағир гузаронад, он кӯшиши зиёд ва ҳамоҳангсозии бодиққат байни таҳиягарони барнома ва операторони маркази додаҳоро талаб мекард. Ин раванд боиси беҳуда шудани захираҳо гардид, вақте ки серверҳо дар тӯли моҳҳо бинобар расмиёти аз кор мондан бекор буданд.

Мо як брокери захиравӣ барои ҳалли мушкилоти барҳамдиҳии кластер ва ҳамоҳангсозии намудҳои дигари вазифаҳои нигоҳдорӣ таъсис додем. Брокери захиравӣ ҳамаи маълумоти физикии бо сервер алоқамандро пайгирӣ мекунад ва ба таври динамикӣ қарор медиҳад, ки кадом нақша ҳар як серверро идора мекунад. Ба таври динамикӣ пайваст кардани серверҳо ба нақшакашҳо ба нақшакаш имкон медиҳад, ки серверҳоро дар марказҳои гуногуни додаҳо идора кунад. Азбаски кори Tupperware дигар бо як кластери ягона маҳдуд намешавад, корбарони Tupperware метавонанд муайян кунанд, ки чӣ гуна контейнерҳо бояд дар доменҳои хато тақсим карда шаванд. Масалан, таҳиякунанда метавонад нияти худро эълон кунад (биёед: "кори маро дар 2 домени хато дар минтақаи PRN иҷро кунед") бидуни муайян кардани минтақаҳои мушаххаси дастрас. Худи Tupperware серверҳои мувофиқро барои амалӣ кардани ин ният пайдо мекунад, ҳатто агар кластер ё хидмат қатъ карда шавад.

Миқёспазир барои дастгирии тамоми системаи ҷаҳонӣ

Таърихан, инфрасохтори мо ба садҳо ҳавзҳои серверҳои бахшидашуда барои гурӯҳҳои алоҳида тақсим карда шудааст. Аз сабаби парокандагӣ ва набудани стандартҳо, мо хароҷоти баланди амалиётӣ доштем ва истифодаи серверҳои бекора душвортар буд. Дар конференцияи соли гузашта Системаҳои @Scale пешниҳод кардем инфрасохтор ҳамчун хидмат (IaaS), ки бояд инфрасохтори моро ба як парки бузурги сервери ягона муттаҳид созад. Аммо як парки сервер душвориҳои худро дорад. Он бояд ба талаботи муайян ҷавобгӯ бошад:

  • Миқёспазирӣ. Вақте ки мо дар ҳар як минтақа марказҳои маълумотро илова кардем, инфрасохтори мо афзоиш ёфт. Серверҳо хурдтар ва самараноктар аз энергия шуданд, аз ин рӯ дар ҳар минтақа шумораи зиёди онҳо вуҷуд доранд. Дар натиҷа, як нақшакаш дар як минтақа наметавонад шумораи контейнерҳоро идора кунад, ки дар садҳо ҳазор серверҳои ҳар як минтақа кор кардан мумкин аст.
  • Боварӣ. Ҳатто агар нақшасозро ин қадар васеъ кардан мумкин бошад ҳам, доираи васеи нақшакаш маънои онро дорад, ки хатари хатогиҳо зиёдтар аст ва тамоми минтақаи контейнерҳо метавонад идоранашаванда гардад.
  • Таҳаммулпазирии хатогиҳо. Дар сурати нокомии бузурги инфрасохтор (масалан, серверҳое, ки нақшаи барномаро иҷро мекунанд, аз сабаби нокомии шабака ё қатъи нерӯи барқ ​​ноком мешаванд), оқибатҳои манфӣ бояд танҳо як қисми серверҳо дар минтақа таъсир расонанд.
  • Истифодаи осон. Чунин ба назар мерасад, ки ба шумо лозим аст, ки барои як минтақа якчанд нақшаҳои мустақилро иҷро кунед. Аммо аз нуқтаи назари роҳат, як нуқтаи ягонаи воридшавӣ ба ҳавзи муштараки минтақа идоракунии қобилият ва ҷойҳои корро осон мекунад.

Мо нақшасозро ба қисмҳо тақсим кардем, то мушкилоти нигоҳдории ҳавзи калони муштаракро ҳал кунем. Ҳар як пораи нақшакаш маҷмӯи кори худро дар минтақа идора мекунад ва ин хатари марбут ба нақшасозро коҳиш медиҳад. Вақте ки ҳавзи муштарак афзоиш меёбад, мо метавонем қисмҳои бештари ҷадвалро илова кунем. Барои корбарони Tupperware, пораҳо ва прокси-проксии нақшакаш ба як панели идоракунӣ монанданд. Ба онҳо лозим нест, ки бо як қатор пораҳое кор кунанд, ки вазифаҳоро танзим мекунанд. Шардҳои ҷадвал аз нақшаҳои кластерӣ, ки мо қаблан истифода мебурдем, ба куллӣ фарқ мекунанд, вақте ки панели идоракунӣ бидуни статикӣ тақсим кардани ҳавзи муштараки серверҳо мувофиқи топологияи шабака тақсим карда шуд.

Самаранокии истифодаро бо ҳисоббарории эластикӣ беҳтар кунед

Ҳар қадаре ки инфрасохтори мо калон бошад, истифодаи самараноки серверҳои мо барои оптимизатсияи хароҷоти инфрасохтор ва кам кардани сарборӣ муҳимтар аст. Ду роҳи баланд бардоштани самаранокии истифодаи сервер вуҷуд дорад:

  • Компютерҳои эластикӣ - миқёси хидматҳои онлайнро дар соатҳои ором коҳиш диҳед ва серверҳои озодшударо барои сарбории офлайнӣ истифода баред, ба монанди омӯзиши мошинсозӣ ва ҷойҳои MapReduce.
  • Аз ҳад зиёд боркунӣ - Хизматҳои онлайн ва сарбории кории партияро дар ҳамон серверҳо ҷойгир кунед, то сарбории кории гурӯҳӣ бо афзалияти паст кор кунад.

Мушкилот дар марказҳои маълумотии мо ин аст истифодаи қувваи барқ. Аз ин рӯ, мо серверҳои хурди каммасрафро бартарӣ медиҳем, ки якҷоя қувваи коркарди бештарро таъмин мекунанд. Мутаассифона, дар серверҳои хурд бо CPU ва хотираи кам, изофаборкунӣ камтар самаранок аст. Албатта, мо метавонем якчанд контейнерҳои хидматрасонии хурдро дар як сервери хурди каммасраф ҷойгир кунем, ки захираҳои протсессор ва хотираи камро истеъмол мекунанд, аммо хидматҳои калон дар ин ҳолат иҷрои паст доранд. Аз ин рӯ, мо ба таҳиягарони хидматҳои бузурги мо маслиҳат медиҳем, ки онҳоро оптимизатсия кунанд, то онҳо тамоми серверҳоро истифода баранд.


Асосан, мо бо истифода аз ҳисоббарории чандир самаранокии истифодаро беҳтар месозем. Бисёре аз хидматҳои асосии мо, аз қабили Навори хабарҳо, хусусияти паёмнависӣ ва сатҳи веби пештара, вобаста ба вақти рӯз фарқ мекунанд. Мо хидматҳои онлайнро дар соатҳои ором қасдан коҳиш медиҳем ва серверҳои озодшударо барои сарбории офлайнӣ истифода мебарем, ба монанди омӯзиши мошинсозӣ ва MapReduce.

Tupperware: Қотили Кубернетеси Facebook?

Мо аз таҷрибаи худ медонем, ки беҳтар аст, ки тамоми серверҳо ҳамчун воҳиди қобилияти чандирӣ таъмин карда шаванд, зеро хидматҳои калон ҳам донорҳои асосӣ ва ҳам истеъмолкунандагони асосии қобилияти чандирӣ мебошанд ва барои истифодаи тамоми серверҳо оптимизатсия шудаанд. Вақте ки сервер дар давоми соатҳои ором аз хидмати онлайн озод карда мешавад, брокери захиравӣ серверро ба нақшакаш ба иҷора медиҳад, то сарбории офлайнро дар он иҷро кунад. Агар хидмати онлайн сарбории баландро аз сар гузаронад, брокери захиравӣ зуд сервери қарзгирифтаро ба ёд меорад ва дар якҷоягӣ бо нақшакаш онро ба хидмати онлайн бармегардонад.

Сабакҳои гирифташуда ва нақшаҳои оянда

Дар тӯли 8 соли охир, мо Tupperware-ро таҳия карда истодаем, то ба рушди босуръати Facebook мувофиқат кунем. Мо чизҳои омӯхтаамонро мубодила мекунем ва умедворем, ки он ба дигарон дар идоракунии инфрасохтори босуръат рушдёбанда кӯмак мекунад:

  • Байни панели идоракунӣ ва серверҳое, ки он идора мекунад, пайвасти чандирро барқарор кунед. Ин чандирӣ ба панели идоракунӣ имкон медиҳад, ки серверҳоро дар марказҳои гуногуни додаҳо идора кунад, ба автоматикунонии аз кор андохтан ва нигоҳдории кластерҳо кӯмак расонад ва тақсимоти динамикии иқтидорро бо истифода аз ҳисоббарории чандирӣ имкон медиҳад.
  • Бо як панели идоракунӣ дар минтақа, кор бо вазифаҳо қулайтар мешавад ва идоракунии парки серверҳои муштарак осонтар мешавад. Дар хотир доред, ки панели идоракунӣ нуқтаи ягонаи вурудро нигоҳ медорад, ҳатто агар сохтори дохилии он бо сабабҳои миқёс ё таҳаммулпазирии хатоҳо ҷудо карда шавад.
  • Бо истифода аз модели плагин, панели идоракунӣ метавонад барномаҳои берунаро аз амалиёти дарпешистодаи контейнер огоҳ созад. Ғайр аз он, хидматҳои давлатӣ метавонанд интерфейси плагинро барои танзими идоракунии контейнер истифода баранд. Бо ин модели плагин, панели идоракунӣ содда ва самаранок хидматрасонии бисёр хидматҳои гуногуни давлатӣ таъмин мекунад.
  • Мо боварӣ дорем, ки роёниши чандирӣ, ки дар он мо тамоми серверҳоро аз хидматҳои донорӣ барои ҷойҳои корӣ, омӯзиши мошинсозӣ ва дигар хидматҳои ғайритаъхирӣ мегирем, роҳи беҳтарини баланд бардоштани самаранокии серверҳои хурд ва каммасраф мебошад.

Мо нав ба амал бароварда истодаем флоти ягонаи глобалии сервери муштарак. Дар айни замон тақрибан 20% серверҳои мо дар ҳавзи муштарак қарор доранд. Барои ноил шудан ба 100%, бисёр масъалаҳоро ҳал кардан лозим аст, аз ҷумла нигоҳдории ҳавзи нигаҳдории муштарак, автоматикунонии нигоҳдорӣ, идоракунии талаботҳои байнииҷоракорон, беҳтар кардани истифодаи сервер ва беҳтар кардани дастгирии сарбории кори омӯзиши мошин. Мо интизор шуда наметавонем, ки ин душвориҳоро қабул кунем ва аз муваффақиятҳои худ мубодила кунем.

Манбаъ: will.com

Илова Эзоҳ