Tupperware: Facebook's Kubernetes fasioti tagata?

Puleaina lelei ma faatuatuaina o fuifui i soo se fua ma Tupperware

Tupperware: Facebook's Kubernetes fasioti tagata?

O le aso nei Systems@Scale conference na matou fa'alauiloaina Tupperware, la matou faiga fa'afoe o fa'aputuga o lo'o fa'atulagaina pusa i luga o le faitau miliona o 'au'aunaga o lo'o fa'agaoioia toetoe o a matou auaunaga uma. Na matou fa'aaogaina muamua Tupperware i le 2011, ma talu mai lena taimi ua fa'atupula'ia a matou atina'e mai 1 nofoaga autu o faamatalaga ia atoa 15 nofoaga fa'amaumauga tu'ufa'atasi geo. I le taimi atoa nei, e leʻi tu lava Tupperware ma atiina ae faatasi ma i matou. O le a matou faʻaali atu ia te oe le auala e tuʻuina atu ai e Tupperware le faʻatautaia o vaega muamua, e aofia ai le lagolago talafeagai mo auaunaga faʻatulafonoina, se faʻatonuga e tasi mo nofoaga autu uma o faʻamaumauga, ma le gafatia e tufatufa atu le gafatia i le va o auaunaga i le taimi moni. O le a matou fa'asoa atu fo'i lesona na matou a'oa'oina a'o fa'atupuina a matou atina'e.

Tupperware e faia galuega eseese. O lo'o fa'aaogaina e le au atina'e talosaga e tu'uina atu ma fa'atautaia talosaga. O lo'o fa'apipi'iina le numera o talosaga ma fa'alagolago i totonu o se ata ma tu'uina atu i 'au'aunaga e fai ma koneteina. O koneteina e tu'u ai le fa'aesea i le va o talosaga i luga o le 'au'aunaga lava e tasi ina ia fa'atautaia e le au atina'e le fa'atonuga o talosaga ma e le tatau ona popole i le sailia o sa'u po'o le puleaina o fa'afouga. E mataituina foi e le Tupperware le faatinoga o le server, ma afai e maua se faaletonu, na te fesiitai atu pusa mai le server faafitauli.

E fa'aogaina e le au inisinia fuafuaga fa'apitoa le Tupperware e fa'asoa ai le malosi o le 'au'aunaga i 'au e fa'atatau i le paketi ma fa'agata. Latou te faʻaaogaina foi e faʻaleleia ai le faʻaogaina o le server. E liliu atu le aufaipisinisi nofoaga autu i le Tupperware e tufatufa lelei pusa i luga o nofoaga autu o faʻamatalaga ma taofi pe faʻanofo pusa i le taimi o le tausiga. Faʻafetai i lenei mea, o le tausia o 'auʻaunaga, fesoʻotaʻiga ma meafaigaluega e manaʻomia ai sina faʻalavelave a tagata.

Tupperware fausaga

Tupperware: Facebook's Kubernetes fasioti tagata?

Tupperware PRN architecture o se tasi o itulagi o matou nofoaga autu o faʻamatalaga. O le itulagi e aofia ai le tele o fale fa'amaumauga (PRN1 ma PRN2) o lo'o lata ane. Matou te fuafua e faia se tasi vaega faʻatonutonu e pulea uma 'auʻaunaga i le tasi itulagi.

O lo'o tu'uina atu e le au atina'e talosaga ni auaunaga i tulaga o Tupperware galuega. O se galuega e aofia ai le tele o atigipusa, ma e masani lava ona faʻatautaia uma le code talosaga tutusa.

O le Tupperware e nafa ma le saunia o pusa ma le puleaina o latou olaga. E aofia ai le tele o vaega:

  • O le pito i luma o Tupperware e maua ai API mo le faʻaoga faʻaoga, CLI, ma isi meafaigaluega faʻaautomatika e mafai ai ona e fegalegaleai ma Tupperware. Latou te natia le fausaga totonu atoa mai Tupperware tagata e ona galuega.
  • Tupperware Scheduler ose vaega fa'atonu e nafa ma le fa'afoeina o le atigipusa ma le fa'asologa o galuega. O loʻo faʻapipiʻiina i tulaga faʻaitulagi ma le lalolagi, lea e faʻatautaia ai e le faʻalapotopotoga faʻaitulagi 'auʻaunaga i le tasi itulagi ma faʻatautaia e le faʻatulagaina o le lalolagi ia 'auʻaunaga mai itulagi eseese. E vaevaeina le faʻatulagaina i shards, ma faʻatautaia taʻitasi se seti o galuega.
  • O le Tupperware's Scheduler Proxy e natia ai le va'aiga i totonu ma maua ai se ipu tioata e tasi mo tagata fa'aoga Tupperware.
  • O le Tupperware allocator e tu'uina atu pusa i 'au'aunaga. E fa'atautaia e le tagata fa'atulagaina le taofi, amata, fa'afouina, ma le fa'aletonu o koneteina. I le taimi nei, e mafai e se tasi tagata faʻasoa ona faʻatautaia le itulagi atoa e aunoa ma le vaeluaina i ni fasi. (Manatua le eseesega i faaupuga. Mo se faʻataʻitaʻiga, o le faʻatulagaina i totonu o Tupperware e fetaui ma le vaega faʻatonutonu i totonu Kubernetes, ma o le Tupperware allocator e taʻua o le scheduler i Kubernetes.)
  • E teuina e le tagata fa'atau oloa le puna o le mea moni mo le 'au'aunaga ma auaunaga. Matou te fa'atautaia se tasi e fai fa'atauga punaoa mo nofoaga autu o fa'amaumauga ta'itasi, ma e teuina uma fa'amatalaga e uiga i 'au'aunaga i totonu o lena fa'amaumauga. O le faioloa punaoa ma le faiga e pulea ai le gafatia, po'o le faiga o le tu'uina atu o puna'oa, e filifili ma le malosi po'o le a le fa'asologa o fa'atonuga o lo'o pulea po'o fea le server. O le 'au'aunaga siaki soifua maloloina e mata'ituina 'au'aunaga ma teu fa'amatalaga e uiga i lo latou soifua maloloina i le tagata fa'atau oloa. Afai ei ai ni fa'afitauli o se server pe mana'omia fo'i le tausiga, e ta'u atu e le faioloa punaoa i le tagata fa'asoa ma le fa'atonu e taofi koneteina pe fa'anofo i isi sapalai.
  • O le Tupperware Agent o se daemon o loʻo taʻavale i luga o 'auʻaunaga taʻitasi e faʻatautaia le tuʻuina atu ma le aveeseina o pusa. O talosaga e fa'asolo i totonu o se atigipusa, lea e fa'ateleina ai le fa'aesea ma le toe gaosia. luga le tausaga talu ai Systems @Scale conference Ua uma ona matou faʻamatalaina pe faʻafefea ona faia pusa Tupperware taʻitasi e faʻaaoga ai ata, btrfs, cgroupv2 ma systemd.

O uiga iloga o Tupperware

Tupperware e tutusa i le tele o auala i isi faiga fa'afoega fa'apipi'i pei ole Kubernetes ma Mesos, ae e iai foʻi eseesega:

  • Lagolago faʻapipiʻi mo auaunaga faʻapitoa.
  • O se vaega e tasi e fa'atonuina mo 'au'aunaga i nofoaga fa'amaumauga eseese e fa'autometi ai le tu'uina atu o koneteina e fa'atatau i le fa'amoemoe, fa'ate'aina o fuifui ma le tausiga.
  • Vaevae manino o le laulau fa'atonu mo le fa'asolo.
  • Elastic computing e mafai ai ona e tufatufa atu le mana i le va o auaunaga i le taimi moni.

Na matou atiina ae nei foliga matagofie e lagolago ai le tele o talosaga e leai ni setete ma faʻamatalaga i luga o le tele o vaʻa faʻasoa faʻasalalau i le lalolagi atoa.

Lagolago faʻapipiʻi mo auaunaga faʻapitoa.

Tupperware o loʻo faʻagaioia le tele o tautua faʻamatalaga taua e teu ai faʻamatalaga o oloa mo le Facebook, Instagram, Messenger ma WhatsApp. O nei mea e mafai ona avea ma faleoloa tetele o pa'aga autu-taua (eg. ZippyDB) ma le mataituina o fa'amaumauga (mo se fa'ata'ita'iga, ODS Gorilla и Faʻatau). O le fa'atumauina o auaunaga fa'apitoa e le faigofie, aua e tatau i le faiga fa'apitoa ona fa'amautinoa o le tu'uina atu o pusa e mafai ona tatalia fa'alavelave tetele, e aofia ai le motusia o feso'otaiga po'o le motusia o le eletise. Ma e ui o auala masani, e pei o le tufatufaina atu o pusa i luga o vaega faʻaletonu, e aoga lelei mo auaunaga e leai ni setete, e manaʻomia e auaunaga faʻapitoa se lagolago faaopoopo.

Mo se faʻataʻitaʻiga, afai e le mafai e le server ona maua se kopi faʻamaumauga e tasi, e tatau ona e faʻatagaina le tausiga otometi e faʻafouina ai le 'au i luga o le 50 servers mai le vaitaele o le 10? E faalagolago i le tulaga. Afai o se tasi o nei 50 'auʻaunaga o loʻo i ai se isi faʻataʻitaʻiga o le database lava e tasi, e sili atu le faʻatali ma aua le leiloa 2 kopi i le taimi e tasi. Ina ia mafai ona faia fa'ai'uga fa'apitoa e uiga i le fa'aleleia o faiga ma le fa'atinoga, matou te mana'omia fa'amatalaga e uiga i fa'amaumauga fa'alotoifale ma le fa'atulagaina o fa'atonuga o auaunaga ta'itasi.

Ole galuega ole TaskControl e mafai ai e au'aunaga fa'atulafonoina ona fa'atupu fa'ai'uga e a'afia ai le maua o fa'amaumauga. I le fa'aogaina o lenei fa'aoga, e logoina ai e le tagata fa'atulagaina talosaga i fafo e uiga i fa'agaioiga o koneteina (toe fa'afouina, fa'afouina, femalagaiga, tausiga). O se auaunaga fa'atulafonoina e fa'atino ai se fa'atonu e ta'u atu ia Tupperware pe a saogalemu le fa'atinoina o ta'aloga ta'itasi, ma o nei gaioiga e mafai ona fesuia'i pe fa'atuai mo sina taimi. I le faʻataʻitaʻiga o loʻo i luga, e mafai e le faʻamaumauga tuʻufaʻatasia ona taʻu atu ia Tupperware e faʻafou le 49 o le 50 servers, ae tuʻu naʻo se server patino (X) mo le taimi nei. O se taunuuga, afai e pasi le vaitaimi faʻafouina o le kernel ma e le mafai lava e le database ona toe faʻafoʻi le faʻafitauli faʻafitauli, o le a faʻafouina e Tupperware le X server.

Tupperware: Facebook's Kubernetes fasioti tagata?

O le tele o auaunaga fa'apitoa i Tupperware e fa'aoga le TaskControl e le sa'o, ae ala mai i le ShardManager, o se fa'avae masani mo le fa'atupuina o auaunaga fa'apitoa ile Facebook. Faatasi ai ma Tupperware, e mafai e le au atiaʻe ona faʻamaonia lo latou faʻamoemoe mo le auala tonu e tatau ona tufatufa atu ai pusa i nofoaga autu o faʻamatalaga. Faatasi ai ma le ShardManager, e faʻamaoti mai e le au atinaʻe lo latou faʻamoemoe mo le auala e tatau ona tufatufaina atu ai faʻamaumauga i luga o pusa. O lo'o nofouta le ShardManager i le tu'uina o fa'amaumauga ma le toe faia o ana talosaga ma fa'afeso'ota'i ma Tupperware e ala i le TaskControl interface e fa'atulaga ai fa'agaioiga o koneteina e aunoa ma le fa'aogaina sa'o o talosaga. O lenei tu'ufa'atasiga e fa'afaigofie tele ai le fa'afoeina o auaunaga fa'apitoa, ae o le TaskControl e mafai ona sili atu. Mo se faʻataʻitaʻiga, o la matou upega tafaʻilagi lautele e leai ni faʻamatalaga ma faʻaaoga TaskControl e faʻafetaui lelei le fua o faʻafouga i pusa. Mulimuli ane e mafai e le laiga i luga ole laiga ona vave fa'amae'aina le tele o fa'asalalauga polokalame i le aso e aunoa ma le fetuutuunai o avanoa.

Puleaina o 'au'aunaga i nofoaga autu o fa'amaumauga

Ina ua fa'alauiloa muamua le Tupperware i le 2011, sa fa'afoeina e se tagata fa'atonu ta'itasi ta'itasi. I le taimi lena, o le Facebook cluster o se vaega o fata server e fesoʻotaʻi atu i le tasi fesoʻotaʻiga fesoʻotaʻiga, ma o le nofoaga autu o faʻamaumauga e iai ni fuifui. E na'o le tasi fuifui e mafai e le fa'atonu ona fa'atautaia 'au'aunaga, o lona uiga e le mafai ona sosolo le galuega i le tele o fuifui. Ua fa'atupula'ia a matou atina'e, ua fa'atuputeleina fo'i ua matou tapeina fuifui. Talu ai e le mafai e Tupperware ona faʻanofo le galuega mai le faʻaputuga faʻapipiʻi i isi fuifui e aunoa ma ni suiga, e manaʻomia ai le tele o taumafaiga ma le faʻamaopoopoina ma le faʻaeteete i le va o tagata faʻapipiʻi talosaga ma faʻatautaia nofoaga autu. O lenei fa'agasologa na mafua ai ona fa'amāumau alagaoa pe a fa'anofovaavaaia 'au'aunaga mo le tele o masina ona o le fa'ate'aina.

Na matou faia se faioloa punaoa e foia ai le faʻafitauli o le tapeina o fuifui ma faʻamaopoopo isi ituaiga o galuega faʻaleleia. O lo'o fa'amauina e le tagata fa'atau oloa fa'amatalaga fa'aletino uma e feso'ota'i ma se 'au'aunaga ma filifili ma le malosi po'o fea le fa'atonu e fa'atonuina ia 'au'aunaga ta'itasi. Fa'afeso'ota'i fa'agaoioi 'au'aunaga i fa'atonuga e mafai ai e le tagata fa'atonu ona fa'atautaia 'au'aunaga i nofoaga fa'amaumauga eseese. Talu ai o se galuega Tupperware e le o toe fa'atapula'aina i se fuifui e tasi, e mafai e tagata fa'aoga Tupperware ona fa'ama'oti mai pe fa'afefea ona tufatufaina atu pusa i vaega fa'aletonu. Mo se faʻataʻitaʻiga, e mafai e se tagata faʻapipiʻi ona faʻaalia lona faʻamoemoe (fai mai: "faʻatautaia laʻu galuega i luga o le 2 faʻaletonu domains i le PRN region") e aunoa ma le faʻamalamalamaina o sone avanoa. Tupperware lava ia o le a maua ni 'auʻaunaga talafeagai e faʻatino ai lenei faʻamoemoe, tusa lava pe faʻagata le faʻapipiʻi poʻo le tautua.

Fa'asalaina e lagolago ai le faiga atoa o le lalolagi

I tala fa'asolopito, ua vaevaeina a matou atina'e i le fiaselau o vaitu'ele'ele fa'apitoa mo 'au ta'itasi. Ona o le vaevaega ma le leai o ni tulaga faʻataʻitaʻi, sa maualuga a matou tau faʻagaioiga, ma sa sili atu ona faigata le toe faʻaogaina o 'auʻaunaga nofofua. I le konafesi i le tausaga talu ai Faiga @fua sa matou tuuina atu atina'e o se auaunaga (IaaS), lea e tatau ona tuʻufaʻatasia a tatou atinaʻe i totonu o se paka tele server tasi. Ae o le paka server e tasi e iai ona lava faigata. E tatau ona ausia nisi o manaʻoga:

  • Scalability. Na fa'atupula'ia a matou atina'e a'o matou fa'aopoopoina nofoaga autu o fa'amaumauga i itulagi ta'itasi. Ua fa'aitiiti 'au'aunaga ma sili atu le malosi o le malosi, o lea e tele naua i latou i itulagi ta'itasi. O le i'uga, e le mafai e se fa'asologa e tasi i le itulagi ona fa'atautaia le aofa'i o koneteina e mafai ona fa'atautaia i luga o le selau afe o 'au'aunaga i itulagi ta'itasi.
  • Tausiga E tusa lava pe mafai ona faʻateleina le faʻatulagaina o mea, o le lautele lautele o le faʻatulagaina o lona uiga e maualuga atu le lamatiaga o mea sese ma o se vaega atoa o pusa e ono le mafai ona faʻaogaina.
  • Fa'apalepale masei. I le tulaga o se faʻaletonu tele o atinaʻe (mo se faʻataʻitaʻiga, o loʻo faʻaogaina e le auʻaunaga le faʻatulagaina o taimi e le manuia ona o le faaletonu o fesoʻotaiga poʻo le paʻu o le eletise), o aʻafiaga leaga e tatau ona aafia ai naʻo se vaega o sapalai i le itulagi.
  • Le faigofie o le faʻaaogaina. Atonu e foliga mai e te manaʻomia le faʻatautaia o le tele o tagata faʻatulagaina tutoʻatasi mo le tasi itulagi. Ae mai se vaaiga faigofie, o le tasi itu e ulufale ai i totonu o le vaituloto fefaʻasoaaʻi a se itulagi e faigofie ai ona faʻatautaia le gafatia ma galuega.

Na matou vaevaeina le faʻatulagaina i shards e foia ai faʻafitauli o le tausia o se vaitaʻele tele fefaʻasoaaʻi. E fa'afoeina e ta'i fa'atonu ta'itasi a latou lava seti o galuega i totonu o le itulagi, ma fa'aitiitia ai le lamatiaga e feso'ota'i ma le fa'atulagaina. A o tuputupu aʻe le vaitaʻele fefaʻasoaaʻi, e mafai ona matou faʻaopoopoina nisi faʻasologa o faʻasologa. Mo tagata fa'aoga Tupperware, o fa'ailoga ma fa'asologa fa'asologa e foliga mai e tasi le vaega e pulea. Latou te le tau galulue faatasi ma le tele o fasipepa e faʻatulagaina galuega. Scheduler shards e matua ese lava mai le fuifui schedulers sa matou faaaogaina muamua, ina ua vaelua le vaega pulea e aunoa ma statically vaevaeina le vaitaele faasoa o servers e tusa ai ma le topology fesootaiga.

Fa'aleleia le Fa'aoga Lelei ma le Elastic Computing

O le tele o a tatou atinaʻe, o le sili atu ona taua o le faʻaogaina lelei o a tatou 'auʻaunaga e faʻamalieina tau o atinaʻe ma faʻaitiitia le uta. E lua auala e faʻateleina ai le lelei o le faʻaogaina o le server:

  • Elastic computing - fa'aititia auaunaga i luga ole laiga ile taimi filemu ma fa'aoga sa'o avanoa mo galuega tuusao, e pei ole a'oa'oga masini ma galuega MapReduce.
  • Ova le uta - Tu'u 'au'aunaga i luga ole laiga ma fa'aputuga o galuega mamafa i luga o 'au'aunaga lava e tasi ina ia fa'agasolo le fa'amuamua o galuega fa'aputu.

O le fagufagu i totonu o matou nofoaga autu o faʻamatalaga o fa'aoga malosi. O le mea lea, matou te manaʻo ai i 'auʻaunaga laiti, faʻamalosi malosi e tuʻufaʻatasia e tuʻuina atu ai le malosi sili atu. O le mea e leaga ai, i luga o 'auʻaunaga laiti e itiiti le PPU ma le manatua, o le faʻaogaina e le aoga. Ioe, e mafai ona tatou tuʻuina ni koneteina o auaunaga laiti i luga o se tasi laʻititi laʻititi e faʻaogaina le malosi o le faʻaogaina o punaoa ma manatuaga, ae o auaunaga tetele o le a maualalo le faʻatinoga i lenei tulaga. O le mea lea, matou te fautuaina le au atiaʻe oa matou auaunaga tetele e faʻamalieina i latou ina ia latou faʻaogaina le 'auʻaunaga atoa.


O le mea moni, matou te faʻaleleia le faʻaogaina lelei e faʻaaoga ai le elastic computing. O le tele o a matou auaunaga tetele, e pei o le News Feed, Messaging feature, ma le pito i luma o le upega tafaʻilagi, e eseese e faʻatatau i le taimi o le aso. Matou te fa'aiti'itia i lalo 'au'aunaga i luga ole laiga ile taimi filemu ma fa'aoga sa'o tu'ufua mo galuega tuusao, e pei ole a'oa'oga masini ma galuega MapReduce.

Tupperware: Facebook's Kubernetes fasioti tagata?

Matou te iloa mai le poto masani e sili ona lelei le tuʻuina atu o 'auʻaunaga atoa e avea ma iunite o le gafatia faʻamalosi aua o auaunaga tetele o foaʻi tetele uma ma tagata faʻatau tele o le gafatia, ma e sili ona lelei e faʻaoga ai sapalai atoa. A tatala le server mai le auaunaga i luga ole laiga i taimi filemu, e lisi atu e le tagata fai mea'oloa le server i le tagata fa'atulagaina e fa'agasolo ai galuega tuusao i luga. Afai e maua e le 'au'aunaga i luga ole laiga se uta maualuga, e vave ona manatua e le tagata fa'atau oloa le 'au'aunaga nono ma, fa'atasi ai ma le fa'atulagaina, toe fa'afo'i atu i le auaunaga i luga ole laiga.

Lesona a'oa'oina ma fuafuaga mo le lumana'i

I le 8 tausaga talu ai, o loʻo matou atinaʻeina Tupperware e faʻatatau i le televave o le tuputupu aʻe o le Facebook. Matou te faʻasoa mea na matou aʻoaʻoina ma faʻamoemoe o le a fesoasoani i isi e faʻatautaia le televave o atinaʻe:

  • Seti se feso'ota'iga fetu'utu'una'i i le va o le fa'atonuga fa'atonu ma 'au'aunaga o lo'o pulea. O lenei fetuutuuna'i e mafai ai e le vaega fa'atonutonu ona fa'atautaia 'au'aunaga i nofoaga autu o fa'amaumauga eseese, fesoasoani i le fa'autometi o le fa'ate'aina ma le tausiga o fuifui, ma mafai ai ona fa'asoa le gafatia malosi e fa'aaoga ai le fa'aogaina o masini.
  • Faatasi ai ma se vaega e tasi e pulea i totonu o le itulagi, e sili atu ona faigofie le galue ma galuega ma faigofie ona pulea se vaʻa tele o le server. Manatua o le vaega faʻatonutonu e faʻatumauina se nofoaga e tasi e ulufale ai, e tusa lava pe vavae ese lona fausaga i totonu mo mafuaʻaga o le fua poʻo le faʻapalepale sese.
  • I le fa'aogaina o se fa'ata'ita'iga fa'apipi'i, e mafai e le vaega fa'atonutonu ona logoina talosaga i fafo e uiga i fa'agaioiga koneteina o lo'o lumana'i. E le gata i lea, e mafai ona faʻaogaina e auaunaga faʻapitoa le faʻaogaina o le plugin e faʻavasega ai le puleaina o pusa. Faatasi ai ma lenei faʻataʻitaʻiga faʻapipiʻi, e tuʻuina atu e le vaega faʻatonutonu le faigofie aʻo lelei le tautuaina o le tele o auaunaga faʻapitoa.
  • Matou te talitonu o le faʻaogaina o komepiuta, lea matou te aveesea ai 'auʻaunaga uma mai auaunaga foaʻi mo galuega faʻapipiʻi, aʻoaʻoga masini, ma isi auaunaga e le faʻanatinati, o le auala sili lea e faʻaleleia ai le lelei o tamaʻi tautua, faʻamalosia le malosi.

O lea faatoa amata ona faatino tasi le va'a server fefa'asoaa'i. I le taimi nei e tusa ma le 20% o matou 'au'aunaga o lo'o i totonu o se vaita'ele fa'asoa. Ina ia ausia le 100%, e tele mataupu e manaʻomia ona faʻatalanoaina, e aofia ai le tausia o se vaitaele faʻasoa faʻasoa, faʻaogaina otometi, faʻatonutonuina o manaʻoga o tagata mautotogi, faʻaleleia le faʻaogaina o le 'auʻaunaga, ma faʻaleleia le lagolago mo galuega aʻoaʻoga masini. E le mafai ona matou faatali e faafetaiaia nei luitau ma faasoa atu o tatou manuia.

puna: www.habr.com

Faaopoopo i ai se faamatalaga