Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang gidak-on sa network sa Amazon Web Services mao ang 69 ka sona sa tibuok kalibotan sa 22 ka rehiyon: USA, Europe, Asia, Africa ug Australia. Ang matag sona adunay hangtod sa 8 data centers - Data Processing Centers. Ang matag data center adunay liboan o gatusan ka libo nga mga server. Ang network gidisenyo sa paagi nga ang tanan nga dili mahimo nga outage nga mga senaryo gikonsiderar. Pananglitan, ang tanan nga mga rehiyon nahimulag gikan sa usag usa, ug ang mga accessibility zone gibulag sa mga distansya nga pipila ka kilometro. Bisan kung imong putlon ang kable, ang sistema mobalhin sa mga backup nga channel, ug ang pagkawala sa kasayuran mokabat sa pipila ka mga pakete sa datos. Si Vasily Pantyukhin maghisgot kung unsa ang ubang mga prinsipyo nga gitukod sa network ug kung giunsa kini pagkahan-ay.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Vasily Pantyukhin nagsugod isip administrador sa Unix sa mga kompanya sa .ru, nagtrabaho sa dagkong hardware sa Sun Microsystem sulod sa 6 ka tuig, ug nagsangyaw sa kalibotan nga sentro sa datos sulod sa 11 ka tuig sa EMC. Kini natural nga milambo ngadto sa pribado nga mga panganod, unya mibalhin ngadto sa publiko. Karon, isip arkitekto sa Amazon Web Services, naghatag siya ug teknikal nga tambag aron matabangan nga mabuhi ug molambo sa AWS cloud.

Sa miaging bahin sa trilogy sa AWS, gisusi ni Vasily ang disenyo sa mga pisikal nga server ug pag-scale sa database. Nitro cards, custom KVM-based hypervisor, Amazon Aurora database - mahitungod sa tanan niini sa materyal "Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa mga server ug database" Basaha para sa konteksto o tan-awa videotape mga pakigpulong.

Kini nga bahin mag-focus sa network scaling, usa sa labing komplikado nga sistema sa AWS. Ang ebolusyon gikan sa usa ka patag nga network ngadto sa usa ka Virtual Private Cloud ug ang disenyo niini, internal nga mga serbisyo sa Blackfoot ug HyperPlane, ang problema sa usa ka saba nga silingan, ug sa katapusan - ang sukod sa network, backbone ug pisikal nga mga kable. Mahitungod niining tanan ubos sa pagputol.

Disclaimer: ang tanan sa ubos mao ang personal nga opinyon ni Vasily ug mahimong dili motakdo sa posisyon sa Amazon Web Services.

Pag-scale sa network

Ang AWS cloud gilusad niadtong 2006. Ang iyang network medyo karaan - nga adunay patag nga istruktura. Ang lain-laing mga pribadong adres kay kasagaran sa tanang cloud tenant. Kung nagsugod ang usa ka bag-ong virtual machine, wala ka tuyoa nga nakadawat usa ka magamit nga IP address gikan sa kini nga sakup.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Kini nga pamaagi sayon ​​​​nga ipatuman, apan sa sukaranan limitado ang paggamit sa panganod. Sa partikular, lisud kaayo ang paghimo og mga hybrid nga solusyon nga naghiusa sa mga pribadong network sa yuta ug sa AWS. Ang labing komon nga problema mao ang nagsapaw-sapaw nga mga IP address range.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Virtual Private Cloud

Ang panganod nahimo nga gipangayo. Miabot na ang panahon sa paghunahuna mahitungod sa scalability ug sa posibilidad sa paggamit niini sa napulo ka milyon nga mga saop. Ang patag nga network nahimong dakong babag. Busa, naghunahuna kami kon unsaon paglain ang mga tiggamit gikan sa usag usa sa lebel sa network aron sila independente nga makapili sa mga IP range.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Unsa ang una nga butang nga naa sa imong hunahuna kung maghunahuna ka bahin sa pag-inusara sa network? Sigurado Mga VLAN и VRF - Virtual nga Pag-ruta ug Pagpasa.

Ikasubo, wala kini molihok. Ang VLAN ID kay 12 ka bits lang, nga naghatag kanato ug 4096 ka nahilit nga bahin. Bisan ang pinakadako nga switch makagamit sa maximum nga 1-2 ka libo nga VRFs. Ang paggamit sa VRF ug VLAN nga magkauban naghatag lamang kanato og pipila ka milyon nga mga subnet. Kini siguradong dili igo alang sa napulo ka milyon nga mga saop, nga ang matag usa kinahanglan nga makagamit sa daghang mga subnet.

Dili usab kami makapalit sa gikinahanglan nga gidaghanon sa dagkong mga kahon, pananglitan, gikan sa Cisco o Juniper. Adunay duha ka hinungdan: kini mahal kaayo, ug dili kami gusto nga maluoy sa ilang mga palisiya sa pagpalambo ug pag-patch.

Adunay usa lamang ka konklusyon - paghimo sa imong kaugalingon nga solusyon.

Sa 2009 among gipahibalo VPC - Virtual Private Cloud. Ang ngalan nagpabilin ug karon daghang mga cloud provider ang naggamit usab niini.

Ang VPC usa ka virtual nga network SDN (Software Defined Network). Nakahukom kami nga dili mag-imbento ug espesyal nga mga protocol sa lebel sa L2 ug L3. Ang network midagan sa standard Ethernet ug IP. Para sa transmission sa network, ang trapiko sa virtual machine gisulod sa among kaugalingong protocol wrapper. Gipakita niini ang ID nga iya sa VPC sa tenant.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Morag simple. Bisan pa, adunay daghang mga seryoso nga teknikal nga mga hagit nga kinahanglan buntogon. Pananglitan, asa ug unsaon pagtipig sa datos sa pagmapa sa mga virtual MAC/IP address, VPC ID ug katugbang nga pisikal nga MAC/IP. Sa sukod sa AWS, kini usa ka dako nga lamesa nga kinahanglan molihok nga adunay gamay nga paglangan sa pag-access. Responsable niini serbisyo sa pagmapa, nga mikaylap sa usa ka nipis nga layer sa tibuuk nga network.

Sa bag-ong henerasyon nga mga makina, ang encapsulation gihimo sa Nitro cards sa lebel sa hardware. Sa mas karaan nga mga higayon, ang encapsulation ug decapsulation kay software-based. 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Atong hisgotan kon sa unsang paagi kini molihok sa kinatibuk-ang termino. Magsugod ta sa L2 nga lebel. Atong isipon nga kita adunay usa ka virtual nga makina nga adunay IP 10.0.0.2 sa usa ka pisikal nga server 192.168.0.3. Nagpadala kini og data sa virtual machine 10.0.0.3, nga nagpuyo sa 192.168.1.4. Usa ka hangyo sa ARP ang gihimo ug gipadala sa network nga Nitro card. Alang sa kayano, among gihunahuna nga ang duha ka virtual nga makina nagpuyo sa parehas nga "asul" nga VPC.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Gipulihan sa mapa ang gigikanan nga adres sa kaugalingon ug gipasa ang ARP frame sa serbisyo sa pagmamapa.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang serbisyo sa mapping nagbalik sa impormasyon nga gikinahanglan para sa pagpasa sa L2 physical network.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang Nitro card sa tubag sa ARP nagpuli sa MAC sa pisikal nga network nga adunay usa ka adres sa VPC.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Kung nagbalhin sa datos, giputos namon ang lohikal nga MAC ug IP sa usa ka wrapper sa VPC. Gipadala namo kining tanan sa pisikal nga network gamit ang angay nga tinubdan ug destinasyon nga mga IP Nitro card.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang pisikal nga makina diin ang pakete gitakda nga naghimo sa tseke. Kini mao ang gikinahanglan aron sa pagpugong sa posibilidad sa address spoofing. Nagpadala ang makina og espesyal nga hangyo sa serbisyo sa pagmapa ug nangutana: “Gikan sa pisikal nga makina 192.168.0.3 Nakadawat ko og packet nga gituyo alang sa 10.0.0.3 sa asul nga VPC. Lehitimo ba siya? 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Gisusi sa serbisyo sa mapping ang lamesa sa alokasyon sa kapanguhaan ug gitugotan o gibalibaran ang packet nga moagi. Sa tanan nga bag-ong mga higayon, dugang nga pag-validate ang na-embed sa Nitro card. Imposible nga laktawan kini bisan sa teorya. Busa, ang pagpanglimbong sa mga kapanguhaan sa laing VPC dili molihok.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Sunod, ang datos gipadala sa virtual machine diin kini gituyo. 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang serbisyo sa mapping naglihok usab isip usa ka lohikal nga router alang sa pagbalhin sa datos tali sa mga virtual machine sa lainlaing mga subnet. Ang tanan yano ra sa konsepto, dili nako isaysay ang detalye.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Kini nahimo nga kung ipadala ang matag pakete, ang mga server mobalik sa serbisyo sa pagmamapa. Unsaon pag-atubang sa dili kalikayan nga mga paglangan? Pag-cache, alangan.

Ang katahum mao nga dili nimo kinahanglan nga i-cache ang tibuuk nga dako nga lamesa. Ang usa ka pisikal nga server nag-host sa mga virtual machine gikan sa medyo gamay nga gidaghanon sa mga VPC. Kinahanglan ra nimo nga i-cache ang kasayuran bahin sa kini nga mga VPC. Ang pagbalhin sa datos ngadto sa ubang mga VPC sa "default" nga configuration dili gihapon lehitimo. Kung gigamit ang pagpaandar sama sa VPC-peering, nan ang kasayuran bahin sa katugbang nga mga VPC dugang nga gikarga sa cache. 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Gihan-ay namo ang pagbalhin sa datos ngadto sa VPC.

Blackfoot

Unsa ang buhaton sa mga kaso diin ang trapiko kinahanglan nga ipadala sa gawas, pananglitan sa Internet o pinaagi sa VPN sa yuta? Nagtabang kanamo dinhi Blackfoot - AWS internal nga serbisyo. Gipalambo kini sa among team sa South Africa. Mao nga ang serbisyo gingalan sa usa ka penguin nga nagpuyo sa South Africa.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang Blackfoot nag-decapsulate sa trapiko ug naghimo sa gikinahanglan niini. Ang datos gipadala sa Internet sama sa kaniadto.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang datos gi-decapsulated ug giputos pag-usab sa IPsec kung naggamit og VPN.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Kung gigamit ang Direct Connect, ang trapiko gi-tag ug gipadala sa angay nga VLAN.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

HyperPlane

Kini usa ka serbisyo sa pagkontrol sa sulud sa sulud. Daghang serbisyo sa network ang nanginahanglan pag-monitor data flow states. Pananglitan, kung gamiton ang NAT, ang kontrol sa dagan kinahanglan nga masiguro nga ang matag IP: pares sa destinasyon nga pantalan adunay usa ka talagsaon nga paggawas nga pantalan. Sa kaso sa usa ka balanse NLB - Network Load Balancer, ang dagan sa datos kinahanglan kanunay nga ipunting sa parehas nga target nga virtual machine. Ang Security Groups usa ka stateful firewall. Gimonitor niini ang umaabot nga trapiko ug giablihan ang mga pantalan alang sa pag-agas sa packet flow.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Sa AWS cloud, ang mga kinahanglanon sa latency sa transmission hilabihan ka taas. Mao nga HyperPlane kritikal sa performance sa tibuok network.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang Hyperplane gitukod sa EC2 virtual machines. Walay salamangka dinhi, tuso lamang. Ang lansis mao nga kini mga virtual nga makina nga adunay daghang RAM. Ang mga operasyon kay transactional ug gihimo lamang sa memorya. Gitugotan ka niini nga makab-ot ang mga paglangan sa napulo ka microseconds. Ang pagtrabaho sa disk makapatay sa tanan nga produktibo. 

Ang Hyperplane usa ka sistema nga gipang-apod-apod sa daghang gidaghanon sa mga makina nga EC2. Ang matag virtual machine adunay bandwidth nga 5 GB/s. Sa tibuuk nga network sa rehiyon, naghatag kini dili katuohan nga mga terabit sa bandwidth ug gitugotan ang pagproseso milyon nga mga koneksyon matag segundo.

Ang HyperPlane nagtrabaho lamang sa mga sapa. Ang VPC packet encapsulation hingpit nga transparent alang niini. Ang usa ka potensyal nga pagkahuyang sa kini nga internal nga serbisyo makapugong gihapon sa pagkabulag sa VPC nga mabungkag. Ang mga lebel sa ubos maoy responsable sa seguridad.

Saba nga silingan

Naa pay problema saba nga silingan - saba nga silingan. Ibutang nato nga kita adunay 8 ka node. Kini nga mga node nagproseso sa mga dagan sa tanan nga tiggamit sa panganod. Ang tanan ingon og maayo ug ang load kinahanglan nga parehas nga iapod-apod sa tanan nga mga node. Ang mga node kusgan kaayo ug lisud ang pag-overload niini.

Apan nagtukod kami sa among arkitektura base sa bisan dili posible nga mga senaryo. 

Ang ubos nga posibilidad wala magpasabot nga imposible.

Atong mahanduraw ang usa ka sitwasyon diin ang usa o daghan pa nga tiggamit makamugna og sobra nga load. Ang tanan nga mga HyperPlane node nalambigit sa pagproseso niini nga load ug ang ubang mga tiggamit mahimong makasinati og usa ka matang sa performance hit. Gibungkag niini ang konsepto sa panganod, diin ang mga saop walay abilidad sa pag-impluwensya sa usag usa.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Unsaon pagsulbad ang problema sa saba nga silingan? Ang unang butang nga mosantup sa hunahuna mao ang sharding. Ang among 8 ka node lohikal nga gibahin sa 4 shards sa 2 nodes matag usa. Karon ang usa ka saba nga silingan makadisturbo lamang sa ikaupat nga bahin sa tanan nga mga tiggamit, apan kini makadisturbo kanila pag-ayo.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Buhaton nato ang mga butang nga lahi. Magagahin lang kami ug 3 ka node sa matag user. 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang lansis mao ang random nga pag-assign sa mga node sa lainlaing mga tiggamit. Sa hulagway sa ubos, ang asul nga tiggamit nag-intersect sa mga node sa usa sa laing duha ka tiggamit - berde ug orange.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Uban sa 8 nga mga node ug 3 nga tiggamit, ang kalagmitan sa usa ka saba nga silingan nga nag-intersect sa usa sa mga tiggamit mao ang 54%. Kini ang posibilidad nga ang usa ka asul nga tiggamit makaimpluwensya sa ubang mga saop. Sa samang higayon, bahin lamang sa karga niini. Sa among panig-ingnan, kini nga impluwensya mahimong labing menos sa usa ka paagi mamatikdan dili sa tanan, apan sa ikatulo ra sa tanan nga tiggamit. Maayo na kini nga resulta.

Gidaghanon sa mga tiggamit nga mag-intersect

Probability sa porsyento

0

18%

1

54%

2

26%

3

2%

Atong dad-on ang sitwasyon nga mas duol sa reyalidad - atong kuhaon ang 100 ka node ug 5 ka user sa 5 ka node. Sa kini nga kaso, walay bisan usa sa mga node nga mag-intersect nga adunay posibilidad nga 77%. 

Gidaghanon sa mga tiggamit nga mag-intersect

Probability sa porsyento

0

77%

1

21%

2

1,8%

3

0,06%

4

0,0006%

5

0,00000013%

Sa tinuud nga sitwasyon, nga adunay daghang gidaghanon sa mga HyperPlane node ug tiggamit, ang potensyal nga epekto sa usa ka saba nga silingan sa ubang mga tiggamit gamay ra. Kini nga pamaagi gitawag pagsagol sharding - shuffle sharding. Gipamenos niini ang negatibong epekto sa pagkapakyas sa node.

Daghang mga serbisyo ang gitukod base sa HyperPlane: Network Load Balancer, NAT Gateway, Amazon EFS, AWS PrivateLink, AWS Transit Gateway.

Skala sa network

Karon atong hisgutan ang sukod sa network mismo. Alang sa Oktubre 2019 ang AWS nagtanyag sa mga serbisyo niini sa 22 ka rehiyon, ug 9 pa ang giplano.

  • Ang matag rehiyon adunay daghang Availability Zone. Adunay 69 niini sa tibuok kalibutan.
  • Ang matag AZ naglangkob sa Data Processing Centers. Wala'y labaw sa 8 niini sa kinatibuk-an.
  • Ang sentro sa datos adunay daghang daghang mga server, ang uban adunay hangtod sa 300.

Karon atong i-average ang tanan niini, pagdaghan ug pagkuha usa ka impresibo nga numero nga nagpakita Amazon cloud scale.

Adunay daghang optical links tali sa Availability Zones ug sa data center. Sa usa sa among kinadak-ang rehiyon, 388 ka channel ang gibutang para lang sa komunikasyon sa AZ tali sa usag usa ug mga sentro sa komunikasyon sa ubang mga rehiyon (Transit Centers). Sa kinatibuk-an kini naghatag buang 5000 Tbit.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang Backbone AWS espesipikong gitukod alang ug gi-optimize alang sa panganod. Gitukod namon kini sa mga kanal 100 GB / s. Gikontrol namo sila sa hingpit, gawas sa mga rehiyon sa China. Ang trapiko wala gipaambit sa mga karga sa ubang mga kompanya.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Siyempre, dili lang kami ang cloud provider nga adunay pribadong backbone network. Nagkadaghan ang mga dagkong kompanya nga nagsunod niini nga dalan. Gipamatud-an kini sa mga independente nga tigdukiduki, pananglitan gikan sa Telegeograpiya.

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Ang graph nagpakita nga ang bahin sa content providers ug cloud providers nagkadako. Tungod niini, ang bahin sa trapiko sa Internet sa mga backbone provider kanunay nga nagkunhod.

Akong ipasabot kung nganong nahitabo kini. Kaniadto, kadaghanan sa mga serbisyo sa web ma-access ug magamit direkta gikan sa Internet. Karong panahona, nagkadaghan ang mga server nga nahimutang sa panganod ug ma-access pinaagi sa CDN - Network sa Distribusyon sa sulud. Aron ma-access ang usa ka kapanguhaan, ang tiggamit moagi sa Internet lamang sa labing duol nga CDN PoP - Punto sa Presensya. Kasagaran kini anaa sa duol nga dapit. Unya kini mobiya sa publiko nga Internet ug molupad pinaagi sa usa ka pribado nga backbone tabok sa Atlantiko, alang sa panig-ingnan, ug direkta ngadto sa kapanguhaan.

Naghunahuna ko kung giunsa ang pagbag-o sa Internet sa 10 ka tuig kung magpadayon kini nga uso?

Pisikal nga mga kanal

Ang mga siyentista wala pa makahunahuna kon unsaon pagpausbaw sa gikusgon sa kahayag sa Uniberso, apan nakahimo sila ug dakong pag-uswag sa mga paagi sa pagpasa niini pinaagi sa optical fiber. Gigamit namon karon ang 6912 nga fiber cable. Nakatabang kini nga ma-optimize ang gasto sa ilang pag-install.

Sa pipila ka mga rehiyon kinahanglan namon nga mogamit mga espesyal nga kable. Pananglitan, sa rehiyon sa Sydney naggamit kami mga kable nga adunay espesyal nga sapaw batok sa anay. 

Giunsa pagluto sa AWS ang pagkamaunat nga mga serbisyo niini. Pag-scale sa network

Walay usa nga dili makalikay sa mga kasamok ug usahay ang atong mga agianan madaot. Ang litrato sa tuo nagpakita sa mga optical cable sa usa sa mga rehiyon sa Amerika nga gisi sa mga construction worker. Tungod sa aksidente, 13 ra ka data packet ang nawala, nga makapakurat. Sa makausa pa - 13 lang! Ang sistema literal nga gibalhin dayon sa mga backup nga channel - ang sukod nagtrabaho.

Nagdagan kami sa pipila sa mga serbisyo ug teknolohiya sa panganod sa Amazon. Nanghinaut ko nga adunay ka labing menos pipila ka ideya sa gidak-on sa mga buluhaton nga kinahanglan sulbaron sa among mga inhenyero. Sa personal, nakita nako kini nga makapahinam kaayo. 

Kini ang katapusang bahin sa trilogy gikan sa Vasily Pantyukhin bahin sa aparato sa AWS. SA ang una ang mga bahin naghulagway sa server optimization ug database scaling, ug sa ang ikaduha - walay server function ug Firecracker.

sa Taas nga Load++ sa Nobyembre Vasily Pantyukhin mopakigbahin sa bag-ong mga detalye sa Amazon device. Siya mosulti mahitungod sa mga hinungdan sa mga kapakyasan ug ang disenyo sa gipang-apod-apod nga mga sistema sa Amazon. Posible pa ang Oktubre 24 sa libro tiket sa usa ka maayo nga presyo, ug pagbayad sa ulahi. Naghulat kami kanimo sa HighLoad++, dali ug mag-chat ta!

Source: www.habr.com

Idugang sa usa ka comment