3.13

Tazama kwa Kiingereza

3.13 Mitandao na muunganisho

Muhtasari na msukumo

Kila ombi ambalo programu yako inafanya linavuka mtandao, na mtandao hauna wasiwasi na tarehe zako za mwisho. Kati ya msimbo wako na hifadhidata, mtoa huduma wa malipo, au kivinjari kuna rundo la sehemu zinazosonga: kutatua majina, uelekezaji, udhibiti wa msongamano, mikono ya usimbaji fiche, visawazishaji vya mzigo, mawakala, na ngome. Wahandisi wengi wa programu huchukulia haya yote kama bomba tambarare, la kutegemewa, na dhana hiyo ndiyo chanzo tajiri zaidi cha matukio ya uzalishaji. Makosa ya dhana ya kompyuta iliyosambazwa ya kawaida (mtandao unategemewa, ucheleweshaji ni sifuri, upana wa bendi hauna kikomo, topolojia haibadiliki kamwe, gharama ya usafirishaji ni sifuri) yanataja hasa imani zinazogeuza hitilafu ndogo kuwa kukatika. Sura hii si kozi ya uthibitisho wa mitandao. Ni maarifa ya kufanya kazi ambayo mhandisi wa programu anahitaji kweli kujenga mifumo inayobaki juu mtandao unapotenda vibaya.

Kwa shirika kubwa, muunganisho ndipo usanifu unakutana na fizikia na siasa kwa wakati mmoja. Shirika la kimataifa huunganisha vituo vya data, kanda za wingu, API za washirika, na mifumo ya urithi, na kila hatua inaongeza ucheleweshaji, njia za kushindwa, na mpaka wa usalama ambao mtu lazima auumiliki. Serikali huongeza kanuni kali kuhusu jinsi trafiki inavyoingia na kutoka kwenye mitandao yao na mahali data ya raia inaweza kusafiri. Tofauti kati ya timu inayoelewa mtandao na ile inayoupuuza inaonekana kama namba za upatikanaji, muda wa kupakia ukurasa, ripoti za uvunjaji, na matokeo ya ukaguzi. Nyenzo hii inaunganishwa na mifumo iliyosambazwa (sura ya 3.3), ukubwa na ustahimilivu (sura ya 3.5), usalama wa miundombinu na wingu (sura ya 4.3), na kriptografia na usimamizi wa funguo (sura ya 4.8).

Habari njema ni kwamba huhitaji kuwa bingwa wa itifaki za uelekezaji kujenga mifumo ustahimilivu. Unahitaji kujua ni safu zipi zinajalisha kwa maamuzi yako, ucheleweshaji unatoka wapi, majina yanatatuliwaje, miunganisho inalindwa na kusawazishwa vipi, na jinsi ya kushindwa kwa neema kwenye mpaka wa mtandao. Pata haya sawa na sehemu kubwa ya mtandao inakuwa msingi unaotegemewa.

Kanuni kuu

  • Mtandao ni utegemezi, si jambo lililotolewa. Chukulia kila wito wa mbali kama kitu kinachoweza kuwa polepole, kudondoka, au kusema uongo kuhusu kama kilikamilika.
  • Ucheleweshaji huwekwa na umbali na safari za kwenda-na-kurudi. Huwezi kushinda kasi ya mwanga, kwa hiyo punguza safari za kwenda-na-kurudi na usogeze data karibu na watumiaji.
  • Majina hushindwa mara nyingi kuliko mashine. Utatuzi wa majina na vyeti husababisha sehemu ya kushangaza ya kukatika, kwa hiyo vichukulie kama masuala ya uendeshaji ya daraja la kwanza.
  • Linda na komesha usimbaji fiche kwa makusudi. Jua hasa wapi trafiki inasimbwa, wapi inafunguliwa, na nani anashikilia funguo.
  • Kila mpaka wa mtandao unahitaji muda wa kuisha na mbadala. Kusubiri bila kikomo na majaribio ya kurudia ya kipofu hugeuza utegemezi mmoja polepole kuwa kukatika kwa dunia nzima.
  • Chaguo-msingi ni kukataa kwenye kingo. Gawanya mitandao, dhibiti kinachoweza kutoka, na udhani mzunguko tayari una matundu.
  • Angalia muunganisho, si msimbo tu. Makosa ya muunganisho, kutuma tena, nyakati za mikono, na ucheleweshaji wa DNS ni ishara ambazo kumbukumbu zako kwa kawaida hukosa.

Mapendekezo

Elewa tabaka zinazoathiri maamuzi yako kweli

Huhitaji kukariri kielelezo kamili cha tabaka saba, lakini unahitaji ramani ya kiakili. Kwenye safu ya usafirishaji, Transmission Control Protocol (TCP) inakupa mkondo wa baiti uliopangwa, unaotegemewa kwa gharama ya mkono na kuzuia kichwa-cha-foleni, wakati User Datagram Protocol (UDP) inakupa datagramu za bei nafuu, zisizopangwa bila hakikisho la utoaji. Trafiki ya ombi/jibu inayotegemewa hupanda TCP; vyombo vya habari vya wakati halisi, michezo, na telemetri fulani hupanda UDP kwa sababu pakiti iliyochelewa ni mbaya kuliko iliyopotea.

Mageuzi ya Hypertext Transfer Protocol (HTTP) hubadilisha dari yako ya utendaji. HTTP/1.1 hushughulikia ombi moja kwa muunganisho kwa wakati, kwa hiyo vivinjari hufungua miunganisho mingi na unalipia mikono ya mara kwa mara. HTTP/2 huunganisha mikondo mingi juu ya muunganisho mmoja wa TCP, ambao huondoa kuzuia kichwa-cha-foleni ya ngazi ya programu lakini si ya ngazi ya TCP: pakiti moja iliyopotea inakwamisha kila mkondo kwenye muunganisho huo. HTTP/3 inaendesha juu ya QUIC, usafirishaji wa msingi wa UDP unaompa kila mkondo utoaji huru, usanidi wa haraka wa muunganisho, na uhamishaji wa muunganisho kuvuka mabadiliko ya mtandao. Mara chache unatekeleza haya mwenyewe, lakini unayachagua katika visawazishaji vyako vya mzigo, mtandao wa usambazaji wa maudhui, na wateja, na uchaguzi unaonekana katika ucheleweshaji wa mkia.

Chukulia DNS na vyeti kama mifumo ya uzalishaji

Domain Name System (DNS) hutafsiri majina ya binadamu kuwa anwani, na iko mbele ya karibu kila ombi. Idadi ya kushangaza ya kukatika kukubwa hufuatiliwa hadi DNS: badiliko baya la rekodi, eneo lililoisha, kitatuzi kilichosanidiwa vibaya, safu ya kache inayohudumia majibu yaliyopitwa na wakati, au seva yenye mamlaka polepole inayoongeza mamia ya milisekunde kwa baiti ya kwanza. Chukulia mabadiliko ya DNS kwa ukali ule ule kama usambazaji wa msimbo. Tumia thamani za muda-wa-kuishi (TTL) zenye busara ili uweze kuhamisha trafiki haraka wakati wa tukio bila kualika kache iliyopitwa na wakati katika uendeshaji wa kawaida, na ufuatilie ucheleweshaji wa utatuzi na viwango vya kushindwa kama vipimo halisi.

Vyeti vinastahili uzito ule ule. Vyeti vya Transport Layer Security (TLS) vinapoisha bila kutambuliwa, huduma nzima huzimika kwa wakati mmoja, na kushindwa hakuonekani kama hitilafu ya msimbo. Otomatisha utoaji na usasishaji, fuatilia tarehe za kuisha kati, na utoe tahadhari muda mrefu kabla ya tarehe ya mwisho. Amua kwa makusudi mahali TLS inapokomeshwa: kwenye kisawazishaji cha ukingo, kwenye wakala, au hadi huduma yenyewe. Kukomesha ukingoni hurahisisha trafiki ya ndani lakini huacha hatua ya ndani bila usimbaji fiche isipokuwa usimbe tena. Mamlaka za vyeti, mzunguko wa funguo, na chaguo za cipher zinashughulikiwa katika sura ya 4.8; hapa hoja ya uendeshaji ni kwamba DNS na vyeti hushindwa kimyakimya na kuchukua kila kitu pamoja nao, kwa hiyo weka vifaa vya kupima na uotomatishe vyote viwili.

Sawazisha mzigo kwenye safu sahihi na utumie mawakala

Kusawazisha mzigo hueneza trafiki kuvuka sehemu za nyuma nyingi, na mahali unapofanya hivyo ni muhimu. Kisawazishaji cha safu ya 4 (L4) huelekeza kwa anwani ya IP na lango bila kusoma mzigo, kwa hiyo ni cha haraka, kisichoegemea itifaki, na cha bei nafuu. Kisawazishaji cha safu ya 7 (L7) kinaelewa HTTP, kwa hiyo kinaweza kuelekeza kwa njia au kichwa, kukomesha TLS, kujaribu upya maombi yasiyobadilika thamani, na kutekeleza vikomo vya kasi, kwa gharama ya kazi zaidi kwa kila ombi. Trafiki nyingi ya programu inataka wakala wa kinyume wa L7 au lango la API ukingoni, likikupa mahali pamoja pa kushughulikia TLS, uthibitishaji, uelekezaji, na uonekanaji. Hifadhi L4 kwa uwezo ghafi wa kupitisha au itifaki zisizo za HTTP.

Ukaguzi wa afya ndio unaofanya kusawazisha mzigo kuwa salama. Usanidi wao uakisi utayari halisi, si “mchakato uko juu” tu, ili sehemu ya nyuma isiyoweza kufikia hifadhidata yake iondolewe kwenye mzunguko kabla ya kuhudumia makosa, na umwage miunganisho wakati wa usambazaji ili maombi yaliyo njiani yakamilike. Lango la API huweka kati masuala ya kuvuka sehemu (uthibitishaji, kikomo cha kasi, kuunda maombi, matoleo) lakini linakuwa utegemezi muhimu na kizuizi kinachowezekana, kwa hiyo lipe bajeti ile ile ya upatikanaji na uonekanaji kama huduma yoyote ya msingi.

Sogeza data karibu na watumiaji kwa CDN na ukingo

Ucheleweshaji unatawaliwa na muda wa kwenda-na-kurudi, na muda wa kwenda-na-kurudi unatawaliwa na umbali. Mtandao wa usambazaji wa maudhui (CDN) huhifadhi maudhui kwenye kache katika nukta za uwepo karibu na watumiaji ili mali tuli, na zaidi na zaidi majibu ya kidinamiki na ya kibinafsi, yahudumiwe kutoka milisekunde chache mbali badala ya kuvuka bahari. Kwa bidhaa yoyote inayomkabili mtumiaji yenye hadhira iliyotawanyika kijiografia, CDN ni mojawapo ya uwekezaji wa utendaji wenye malipo ya juu zaidi unaoweza kufanya, na pia hufanya kazi kama ngao inayofyonza vilele vya trafiki na mashambulizi ya ujazo.

Sukuma kazi ukingoni pale inapofaa. Kukomesha TLS ukingoni hupunguza ucheleweshaji wa mkono kwa sababu safari za gharama za kwenda-na-kurudi hufanyika karibu na mtumiaji, na kuhifadhi majibu ya API kwenye kache katika maeneo ya ukingo hupunguza urefu wa njia kwa maombi ya kawaida. Biashara ni kubatilisha kache: kadiri data yako inavyokuwa karibu na kuhifadhiwa kwenye kache, ndivyo ilivyo ngumu zaidi kuhakikisha ubichi, kwa hiyo kuwa wazi ni nini kinaweza kupitwa na wakati na kwa muda gani. Hili linaunganishwa na mjadala wa kache na utendaji katika sura ya 3.5.

Fanya mpaka wa mtandao uwe ustahimilivu kwa chaguo-msingi

Kila wito wa mbali ni mahali ambapo mtandao unaweza kukuumiza, kwa hiyo funika kila mmoja kwa nidhamu ile ile. Weka muda wa kuisha wazi kwa kila wito, kwa sababu utegemezi uliokwama utachosha makundi yako ya miunganisho na nyuzi na kukwamisha kila kitu nyuma yake. Jaribu upya tu operesheni zilizo salama kurudiwa, tumia kurudi nyuma kwa kasi ya kipeo na mtetemo ili hitilafu fupi isigeuke mkanyagano wa kujaribu upya uliolingana, na uweke kikomo jumla ya majaribio na jumla ya muda. Ongeza kivunja mzunguko ili baada ya kizingiti cha kushindwa ushindwe haraka kwa kipindi cha baridi badala ya kurundika maombi kwenye huduma ambayo tayari inazama. Mifumo hii inashughulikiwa kwa kina katika sura ya 3.3; hoja hapa ni kwamba inastahili mpaka wa mtandao hasa, kwa hakika kama chaguo-msingi za jukwaa la pamoja badala ya kitu ambacho kila timu inavumbua upya.

Weka bajeti ya muda wako wa kuisha chini ya mnyororo wa miito. Ombi linalomkabili mtumiaji likiwa na bajeti ya sekunde mbili na kuvuka vituo vinne, kila kituo lazima kijue muda kiasi gani umebaki na kishindwe haraka badala ya kujaribu upya kwenye utupu. Tumia tena miunganisho kupitia makundi na keep-alive ili usilipie mkono mpya wa TCP na TLS kwa kila ombi, na utazame ucheleweshaji wa mkia, si wastani tu, kwa sababu asilimia moja ya polepole ndiyo watumiaji wanayoikumbuka na ndiyo inayoenea kwa mfululizo chini ya mzigo.

Buni na utawale topolojia ya mtandao wako

Katika wingu, mtandao wako ni programu unayoisanidi, kwa hiyo isanidi kwa makusudi. Weka mizigo katika wingu la faragha la kidhahania (VPC) na uligawanye: ngazi zinazomkabili umma, ngazi za programu, na ngazi za data katika subnet tofauti zenye kanuni zinazoruhusu tu trafiki inayopaswa kuwepo. Dhibiti kutoka nje kwa makusudi kama kuingia ndani. Ufikiaji wa nje usiodhibitiwa ndivyo data inavyotoka wakati wa uvunjaji na ndivyo mizigo iliyoathirika inavyofikia seva za amri-na-udhibiti, kwa hiyo elekeza trafiki ya nje kupitia malango yanayodhibitiwa na uorodheshe kuruhusu maeneo yanayohitaji kufikiwa kweli. Panga kwa IPv6 badala ya kuichukulia kama wazo la baadaye, kwa sababu uchovu wa anwani na mahitaji ya washirika yatailazimisha hatimaye na kurudisha ni chungu.

Pokea kielelezo cha usalama cha uaminifu-sifuri: acha kuchukulia “ndani ya mtandao” kama kunaaminika, na uthibitishe na kuidhinisha kila ombi kulingana na utambulisho badala ya mahali pa mtandao. Kivitendo hii inamaanisha TLS ya pande zote kati ya huduma, vitambulisho vya muda mfupi, na sera isiyodhani ombi ni salama kwa sababu tu lilitoka subnet jirani. Mesh ya huduma inaweza kutoa mengi ya haya kwa usawa. Kwa kuendesha wakala wa sidecar kando ya kila huduma, mesh inakupa TLS ya pande zote, majaribio ya kurudia na muda wa kuisha thabiti, na telemetri ya kila kituo bila kubadilisha msimbo wa programu. Inaongeza ugumu wa uendeshaji na ucheleweshaji fulani, kwa hiyo ipokee idadi ya huduma zenu inapofanya utekelezaji sare, usio na msimbo kustahili mzigo. Uaminifu-sifuri na kugawanya vimeendelezwa zaidi katika sura 4.3 na 8.3.

Mabadilishano: faida na hasara

UamuziFaidaHasara / gharama
Kisawazishaji cha L7 / lango la APIUelekezaji wa busara, kukomesha TLS, uthibitishaji, kikomo cha kasi, uonekanajiUcheleweshaji zaidi kwa kila ombi, utegemezi wa pamoja muhimu
Kisawazishaji cha L4Cha haraka, kisichoegemea itifaki, cha bei nafuuHakiwezi kuona wala kutenda juu ya HTTP, hakuna uelekezaji unaofahamu maudhui
Kukomesha TLS ukingoniMikono ya haraka zaidi, sehemu za nyuma rahisi zaidiHatua ya ndani bila usimbaji fiche isipokuwa usimbe tena
CDN na kache ya ukingoUshindi mkubwa wa ucheleweshaji, hufyonza vilele na mashambuliziKubatilisha kache na kupitwa na wakati, gharama na usanidi wa ziada
Mesh ya hudumaTLS ya pande zote sare, majaribio ya kurudia, telemetri bila mabadiliko ya programuUgumu wa uendeshaji, ucheleweshaji wa sidecar na gharama ya rasilimali
HTTP/3 juu ya QUICHakuna kuzuia kichwa-cha-foleni ya usafirishaji, usanidi wa haraka, uhamishaji wa muunganishoZana mpya zaidi, UDP wakati mwingine hupunguzwa, ngumu zaidi kutatua

Mvutano wa msingi ni kati ya udhibiti na urahisi. Kila kijenzi chenye uwezo unachokiongeza kwenye mpaka wa mtandao (lango la L7, mesh, CDN, wakala wa kutoka nje) hukununulia akili ya uelekezaji, utekelezaji wa usalama, na mwonekano, na kila kimoja pia kinaongeza kituo, njia ya kushindwa, na kitu cha kuendesha. Suluhisha kwa kusukuma masuala ya pamoja kwenye miundombinu ya pamoja tu pale timu za kutosha zinapoyahitaji kuhalalisha uzito wa uendeshaji, na kwa kuweka njia ya haraka ikiwa fupi. Kampuni changa ya watu wawili inayokomesha TLS kwenye kisawazishaji kinachosimamiwa na kuishia hapo inafanya biashara bora kuliko timu hiyo hiyo ikijenga mesh ya huduma kwa mkono. Shirika kubwa la huduma elfu bila TLS ya pande zote sare na udhibiti wa kutoka nje linafanya mbaya zaidi.

Maswali ya kujadili na timu yako

  1. TLS inakomeshwa wapi katika kila njia yenu ya ombi, na kila mtu anaweza kuichora kwa njia ileile? Hili linasikika kama jambo dogo hadi tukio. Nusu ya timu ikiamini trafiki imesimbwa mwanzo hadi mwisho na nusu nyingine ikijua inafunguliwa ukingoni na kutumwa bila usimbaji fiche kwa sehemu ya nyuma, mna pengo la usalama na mtego wa utatuzi. Kwa shirika kubwa swali hili linahusiana moja kwa moja na uzingatiaji: wadhibiti na wakaguzi wataulizia mahali data ya raia au mteja inasafiri wazi, na “hatuna uhakika” ni matokeo. Leta mchoro halisi wa njia moja halisi kutoka mteja hadi hifadhidata, ukiweka alama kila nukta ambapo usimbaji fiche unaanza na kuishia na nani anashikilia kila cheti na ufunguo. Jibu linapaswa kuwaambia kama mnahitaji kusimba tena kwa ndani, TLS ya pande zote inastahili wapi, na vyeti vipi vingeangusha huduma vikiisha. Hakuna anayeweza kuchora kwa kujiamini, pengo hilo ndilo kazi yenu ya kwanza.

  2. Nini kinatokea kwa mfumo wenu DNS inapokuwa polepole au si sahihi, na mmejaribu kweli? DNS iko juu ya karibu kila ombi, hata hivyo timu nyingi hazijawahi kuona mfumo wao chini ya kudhoofika kwa DNS. Kitatuzi polepole huongeza ucheleweshaji kwa kila muunganisho mpya, kache iliyopitwa na wakati inaweza kutuma trafiki kwa mwenyeji aliyeondolewa, na badiliko baya la rekodi linaweza kuzamisha huduma nzima ndani ya sekunde. Katika shirika kubwa eneo la mlipuko ni pana zaidi kwa sababu ugunduzi wa huduma za ndani, uunganishaji wa washirika, na vituo vya wingu vyote vinategemea utatuzi wa majina. Leta mipangilio yenu ya TTL ya DNS, vipimo vyenu vya ucheleweshaji wa utatuzi kama mnavyo, na kitabu cha uendeshaji cha badiliko baya la rekodi, kisha uliza mngeweza kuhamisha trafiki kwa kasi gani wakati wa tukio. Jibu linapaswa kuendesha kama mnafuatilia utatuzi kama kipimo cha daraja la kwanza, kurekebisha TTL kwa wepesi na ufanisi wa kache, na kufanyia mazoezi kubadilisha DNS. Kama hamjawahi kusababisha kushindwa kwa DNS kwenye jaribio linalodhibitiwa, jaribio hilo linastahili kuwa kwenye kalenda.

  3. Ni mifumo ipi ya ustahimilivu kwenye mpaka wa mtandao ni chaguo-msingi za jukwaa, na ipi kila timu inavumbua upya? Muda wa kuisha, majaribio ya kurudia yaliyofungwa yenye mtetemo, vivunja mzunguko, makundi ya miunganisho, na ufuatiliaji wa kila kituo ndivyo vya bei nafuu na vya kutegemewa zaidi vikijengwa mara moja na kurithiwa na kila mtu. Zikiachwa kwa timu binafsi, huteleza: baadhi ya miito haina muda wa kuisha, baadhi hujaribu upya operesheni zisizobadilika thamani, baadhi hazitoi telemetri ya ngazi ya muunganisho, na mapengo hujitokeza chini ya mzigo tu. Kwa timu kubwa huu ni uchaguzi wa kishirika kuhusu mahali ustahimilivu unapoishi, katika maktaba ya pamoja au safu ya jukwaa dhidi ya kutawanyika kuvuka huduma. Leta ukaguzi wa sampuli ya huduma ukihesabu ngapi zinaweka muda wa kuisha wazi kwenye kila wito wa mbali na kusambaza kitambulisho cha uhusiano mwanzo hadi mwisho. Namba ikiwa ndogo, suluhisho ni uwekezaji wa jukwaa, na kusawazisha pia hufanya ustahimilivu ujaribike na ukaguliwe, jambo linalozidi kujalisha katika sekta zinazodhibitiwa. Jibu linapaswa kuwaambia kama mfadhili uwezo wa jukwaa la mitandao au mendelee kulipia kutokuwa na uthabiti kwenye matukio.

  4. Kila mzigo wenu unaweza kufikia nini kwenye mtandao wa umma sasa hivi, na nani aliidhinisha kila moja ya maeneo hayo ya kutoka nje? Kuingia ndani hupata umakini kwa sababu ndipo washambulizi wanagonga, lakini kutoka nje ndivyo data inavyotoka kweli wakati wa uvunjaji na ndivyo mzigo ulioathirika unavyopiga simu nyumbani kwa seva ya amri-na-udhibiti. Timu nyingi zinaweza kuorodhesha kinachozungumza nazo kwa urahisi zaidi sana kuliko wanachozungumza nacho, na ulinganifu huo ndio pengo hasa mshambulizi anatumia. Mazingatio yanayoshindana ni msuguano: orodha ya kuruhusu ya maeneo yaliyoidhinishwa hupunguza kasi ya wasanidi wanaotaka kuita API mpya ya mtu wa tatu leo, kwa hiyo mjadala wa uaminifu ni urahisi kiasi gani mnabadilisha kwa eneo dogo la mlipuko. Leta kanuni za sasa za kutoka nje za huduma mwakilishi, nasa ya mahali ilipounganishwa kweli kwa wiki iliyopita, na mchakato (kama upo) wa kuidhinisha eneo jipya. Kwa mifumo ya mashirika makubwa na serikali hii si usafi wa hiari bali kipengee cha ukaguzi: ulinzi wa mpaka na orodha za kutoka nje ndizo hasa wadhibiti na kanuni za mpaka wa mtandao zinadai uzalishe, na “mzigo wowote unaweza kufikia popote” ni matokeo ambayo utaambiwa kurekebisha.

  5. Muda wenu wa kuisha na majaribio ya kurudia vinaungana kuwa bajeti moja thabiti chini ya kila mnyororo wa miito, au kila kituo kinabahatisha peke yake? Ombi linalomkabili mtumiaji linalovuka huduma nne lina muda mmoja wa mwisho ambao mtumiaji anauhisi kweli, hata hivyo kila kituo kwa kawaida huweka muda wake wa kuisha wa mahali, kujaribu upya kwenye huduma iliyokwisha kata tamaa, na kuvunja bajeti ya mwanzo-hadi-mwisho huku ikifanya kazi ya ziada. Kwa timu kubwa hatari inajitokeza: muda wa kuisha wa busara wa kila huduma hujumlika kuwa kukwama kwa mfululizo na mikanyagano ya kujaribu upya iliyolingana ambayo hakuna timu moja inayoweza kuiona kutoka dashibodi yake. Mvutano ni kati ya uhuru wa mahali, ambapo kila timu inarekebisha vikomo vyake, na muda wa mwisho unaosambazwa ambao kila kituo kinausoma na kuufupisha muda unapotumika. Leta njia halisi ya ombi ikiwa na sera ya muda wa kuisha na kujaribu upya kila kituo, bajeti ya mwanzo-hadi-mwisho ambayo bidhaa inaahidi, na namba zenu za ucheleweshaji wa mkia (p99, si wastani) chini ya mzigo. Katika muktadha unaodhibitiwa na wa upatikanaji wa juu, funga hili na malengo yenu ya kurejesha: mnyororo usioweza kushindwa haraka ndani ya bajeti yake hugeuza utegemezi mmoja polepole kuwa ukiukaji wa lengo la kiwango cha huduma, na ukiukaji huo ndio namba ambayo uongozi na wakaguzi wataomba muieleze.

  6. Kwa idadi gani ya huduma na wasifu wa trafiki utekelezaji sare (mesh ya huduma, lango la L7, kache ya ukingo) unastahili uzito wake wa uendeshaji, na mko wapi kwenye mkunjo huo leo? Kila kijenzi chenye uwezo unachokiongeza kwenye mpaka wa mtandao hununua akili ya uelekezaji, usalama, na mwonekano, na kila kimoja pia kinaongeza kituo, njia ya kushindwa, na kitu cha kuendesha saa 24. Pokea mesh mapema mno na unazamisha huduma chache katika ugumu wa sidecar; ipokee kuchelewa mno na una huduma elfu bila TLS ya pande zote sare wala majaribio ya kurudia thabiti. Mazingatio yanayoshindana ni thamani ya utekelezaji thabiti, usio na msimbo kuvuka timu nyingi dhidi ya gharama halisi ya kuendesha ndege ya udhibiti, ucheleweshaji ulioongezwa, na watu adimu wanaoweza kuitatua. Leta idadi yenu ya sasa ya huduma na mkunjo wa ukuaji, sehemu ya huduma tayari kwenye wateja wa pamoja wanaotoa hakikisho zilezile, na nafasi ya ucheleweshaji mliyo nayo ya kutumia. Kwa shirika kubwa au wakala uamuzi pia ni wa utawala: mesh au lango la kati huruhusu timu ya jukwaa kutoa sera kila mahali kwa mara moja, jambo lenye nguvu kwa uzingatiaji na hatari ikiwa nukta hiyo moja ya kuchujia haina rasilimali ya kutosha, kwa hiyo ipangie bajeti kama miundombinu ya msingi yenye lengo lake la upatikanaji, si mradi wa pembeni.

Mtazamo wa sekta

Kampuni changa. Egemea miundombinu inayosimamiwa na utumie umakini wako adimu wa kihandisi kwa bidhaa, si pakiti. Kisawazishaji cha L7 kinachosimamiwa kinachokomesha TLS na vyeti vinavyosasishwa kiotomatiki, pamoja na CDN mbele ya programu yako, kinakununulia trafiki iliyosimbwa, iliyosawazishwa mzigo, ya haraka kimataifa bila timu ya uendeshaji. Funika kila wito wa nje katika mteja mdogo wa pamoja wenye muda wa kuisha na jaribio la kurudia lililofungwa, na upinge mesh ya huduma hadi uwe na huduma nyingi zaidi sana ya watu wa kuiendesha.

Biashara ndogo. Huna mtaalamu wa mtandao na bajeti ni finyu, kwa hiyo chukulia muunganisho kama kitu unachonunua kimesanidiwa badala ya kujenga. Chagua mtoa huduma wa wingu au jukwaa ambalo chaguo-msingi zake tayari zinakupa vyeti vya kiotomatiki, usimamizi wa DNS, na ngome yenye busara, na uwashe wanachotoa badala ya kukusanya mwenyewe. Pale lazima uamue, pendelea kinachosimamiwa: kumlipa muuzaji kusasisha vyeti na kufuatilia DNS ni nafuu zaidi sana kuliko kukatika kunakosababishwa na kuisha kwa kusahaulika.

Biashara kubwa. Tatizo lenu ni uthabiti kuvuka timu na kanda nyingi: TLS ya pande zote sare, muda wa kuisha na majaribio ya kurudia sanifu, kutoka nje kunakodhibitiwa, na ufuatiliaji wa vyeti na DNS ambao hakuna timu moja inayoweza kujitoa. Sukuma haya kwenye miundombinu ya pamoja ya jukwaa (mesh ya huduma, lango la ndani, maktaba ya mteja ya pamoja) ili ustahimilivu urithiwe badala ya kuvumbuliwa upya, na usimamie mpaka wa mtandao kwa bajeti ile ile ya upatikanaji na uonekanaji kama huduma yoyote ya msingi. Gawanya VPC, tawala kutoka nje kati, na uchukulie topolojia kama programu unayoikagua.

Serikali. Kanuni za ununuzi, uwazi, na uwajibikaji wa umma huumba kila mpaka. Elekeza trafiki inayoelekea mtandao kupitia seti ndogo ya malango yaliyoimarishwa, yanayofuatiliwa, orodhesha kila kituo cha nje, na uendeshe usanifu wa uaminifu-sifuri ambapo huduma zinathibitishana kwa utambulisho na vitambulisho vya muda mfupi badala ya mahali pa mtandao. Chukulia usimamizi wa DNS na vyeti kama miundombinu muhimu yenye ufuatiliaji maalumu, kwa sababu cheti kimoja kilichoisha kwenye huduma inayomkabili raia kinaalika uchunguzi wa umma na wa bunge, na uweke ushahidi ukikaguliwa ili mapitio ya ulinzi wa mpaka yapate usanifu ulioandikwa, unaoweza kutetewa.

Mifano

Kampuni changa. Kampuni ya programu-kama-huduma ya watu kumi inaendesha kila kitu nyuma ya kisawazishaji kimoja cha L7 kinachosimamiwa kinachokomesha TLS na vyeti vinavyosasishwa kiotomatiki, na inaweka CDN mbele ya programu yake ya wavuti na API. Mchanganyiko huo unawapa upakiaji wa haraka wa kurasa kimataifa, unafyonza kilele cha mara kwa mara cha trafiki kutoka uzinduzi wa bidhaa, na kulinda asili yao bila timu maalumu ya uendeshaji. Wanaweka muda wa kuisha wazi na jaribio la kurudia lililofungwa kwa kila wito kwa mtoa huduma wao wa malipo na huduma ya barua pepe, vilivyofungwa katika mteja mdogo wa pamoja, kwa hiyo mtu wa tatu polepole kamwe hakwamishi ombi la mtumiaji. Wanapinga kuongeza mesh ya huduma: kwa huduma kumi na mbili, gharama ya uendeshaji ingezidi faida, na miundombinu inayosimamiwa tayari inawapa trafiki iliyosimbwa, iliyosawazishwa mzigo.

Biashara kubwa. Muuzaji wa rejareja wa kimataifa anaendesha kuvuka kanda tatu za wingu na kituo cha data cha urithi cha ndani ya majengo, vilivyounganishwa kwa viungo vya faragha badala ya mtandao wa umma ili trafiki ya hesabu na malipo isivuke mitandao iliyo wazi. Kila kanda iko kwenye VPC iliyogawanywa na subnet tofauti za umma, programu, na data, na trafiki yote ya nje inapita kupitia malango ya kutoka nje yanayoorodhesha kuruhusu maeneo yaliyoidhinishwa, kwa hiyo mzigo ulioathirika hauwezi kuvujisha data kimyakimya. Mamia ya huduma huwasiliana kupitia mesh ya huduma inayotekeleza TLS ya pande zote kila mahali na kutumia majaribio ya kurudia, muda wa kuisha, na ufuatiliaji sare, ikiruhusu timu ya jukwaa ya kati kutoa sera mpya ya kujaribu upya bila kugusa msimbo wa programu. Ufuatiliaji wa vyeti wa kati unaweka alama kuisha siku mapema na uotomatishaji huvizungusha kabla mteja yeyote hajagundua.

Serikali. Wakala wa kitaifa unaendesha chini ya kanuni za ulinzi wa mpaka wa mtandao zinazoelekeza trafiki yote inayoelekea mtandao kupitia seti ndogo ya malango yaliyoimarishwa, yanayofuatiliwa, kwa kuzingatia kielelezo cha miunganisho ya mtandao inayoaminika. Trafiki ya kati ya mashirika inaendesha juu ya miunganisho ya faragha, na kila kituo cha nje kimeorodheshwa, kwa hiyo timu za usalama zinajua hasa kinachoweza kuingia na kutoka. Wakala unaendesha usanifu wa uaminifu-sifuri ambapo huduma zinathibitishana kwa utambulisho na vitambulisho vya muda mfupi, na hakuna ombi linaloaminiwa kwa kuanzia ndani ya mzunguko tu. Usimamizi wa DNS na vyeti unachukuliwa kama miundombinu muhimu yenye ufuatiliaji maalumu, kwa sababu cheti kimoja kilichoisha au badiliko baya la eneo linaweza kuzima lango la manufaa linalomkabili raia na kuzalisha uchunguzi wa umma na wa bunge.

Kesi ya biashara: sababu, ROI, na TCO

Nidhamu ya mitandao inanunuliwa kwa bei nafuu na kutokuwepo kwake kunalipwa wakati mbaya zaidi unaowezekana. Uwekezaji hasa ni wa mara moja na wenye umbo la jukwaa: wateja wa pamoja wenye muda wa kuisha na majaribio ya kurudia, usimamizi wa vyeti wa kiotomatiki, ufuatiliaji wa DNS, VPC iliyogawanywa kwa busara, na kache ya ukingo. Kila kimoja kinanufaisha kila timu inayokirithi, kwa hiyo gharama ya pembeni kwa kila timu ni ndogo huku malipo yakijumlika. CDN hasa mara nyingi hujilipa mara mbili, ikipunguza gharama za upana wa bendi wa asili huku ikiboresha namba za ubadilishaji na ushiriki zinazofuata kurasa za haraka zaidi.

Gharama ya kuruka kazi hii inapimwa kwa kukatika na uvunjaji. Cheti kilichoisha au badiliko baya la DNS linaweza kuzima bidhaa nzima ndani ya dakika, na marekebisho yakichelewa wahandisi wakifukuza safu isiyo sahihi. Muda wa kuisha uliokosekana unaweza kuenea kutoka utegemezi mmoja polepole hadi kukwama kwa jukwaa zima. Kutoka nje kusikodhibitiwa kunageuza mzigo mmoja ulioathirika kuwa tukio la kuvujisha data. Weka kesi kwa uongozi kwa maneno wanayoyafuatilia tayari: upatikanaji, muda wa wastani wa kurejesha, muda wa kupakia ukurasa, na hatari ya uvunjaji. Usimamizi wa kiotomatiki wa vyeti na DNS huzuia kategoria ya kukatika kunakosababishwa na wewe mwenyewe, uwekezaji wa ukingo na CDN husogeza kipimo cha utendaji wa bidhaa, na kugawanya na udhibiti wa kutoka nje hupunguza eneo la mlipuko la uvunjaji. Hoja ya jumla ya gharama ya umiliki ndiyo inayojirudia kote katika mwongozo huu: kujenga uwezo ndani ni sehemu ndogo ya gharama ya kuurudisha baada ya tukio linalolazimisha suala.

Mifumo mibaya na mitego

  • Kudhani mtandao unategemewa na ni wa haraka. Kuandika msimbo kana kwamba miito ya mbali ni ya ndani, bila muda wa kuisha, bila majaribio ya kurudia, na bila ushughulikiaji wa “uliisha muda lakini labda ulikamilika.”
  • Usimamizi wa mkono wa vyeti. Kufuatilia kuisha kwenye lahajedwali au kumbukumbu ya mtu, kuhakikisha kukatika kwa mwisho kunapopita bila kutambuliwa.
  • Kupuuza DNS kama mfumo wa uendeshaji. Hakuna ufuatiliaji wa utatuzi, TTL za kipuuzi, na mabadiliko ya rekodi yanayofanywa bila ukali wa usambazaji.
  • Kujaribu upya bila kutobadilika thamani au kurudi nyuma. Athari za pembeni zilizorudiwa na mikanyagano ya kujaribu upya iliyolingana inayokuza hitilafu ndogo kuwa kukatika.
  • Kuamini mtandao wa ndani. Kuchukulia chochote ndani ya mzunguko kama salama, na trafiki ya ndani isiyosimbwa na hakuna uidhinishaji unaotegemea utambulisho.
  • Kutoka nje kusikodhibitiwa. Kuruhusu mizigo kufikia eneo lolote la nje, kumpa mshambulizi njia ya kuvujisha na njia ya kwenda seva za amri.
  • Njia za maombi zinazozungumza sana. Minyororo ya kina ya miito ya usawazishaji ambapo kila kituo kinaongeza safari ya kwenda-na-kurudi, kwa hiyo ucheleweshaji wa mkia unavimba chini ya mzigo.
  • Kupokea mesh ya huduma mapema mno. Kuchukua ugumu na ucheleweshaji wa sidecar kwa huduma chache ambazo mteja wa pamoja angezihudumia vizuri zaidi.

Kielelezo cha ukomavu

  • Ngazi ya 1, Kuanzisha: Miito ya mbali inachukuliwa kama ya ndani. Muda wa kuisha na majaribio ya kurudia haupo au ni wa kipuuzi, na “uliisha muda lakini labda ulikamilika” haushughulikiwi. Vyeti na DNS vinasimamiwa kwa mkono na kusababisha kukatika kwa mshangao. Hakuna kugawanya, na trafiki ya ndani inaaminiwa kwa chaguo-msingi. Kazi ya muunganisho ni ya kuitikia, inafanyika baada ya tukio kulazimisha tu.
  • Ngazi ya 2, Kuendeleza: Baadhi ya timu zimepokea mazoea ya msingi, lakini hayana uthabiti kuvuka huduma. Muda wa kuisha na majaribio rahisi ya kurudia yapo mahali, TLS inakomeshwa kwenye kisawazishaji cha mzigo, na vyeti kwa sehemu kubwa ni vya kiotomatiki. CDN inatangulia maudhui tuli na kugawanya kwa msingi kwa mtandao kupo, ingawa kutoka nje kwa kiasi kikubwa ni wazi na kila timu inavumbua mteja wake. Kile timu moja inafanya vizuri nyingine haijaanza.
  • Ngazi ya 3, Kusawazisha: Mitandao ustahimilivu imeandikwa na kutekelezwa shirika zima. Muda wa kuisha, kurudi nyuma na mtetemo, na vivunja mzunguko ni vya kawaida kupitia maktaba za pamoja au lango ambalo kila timu inarithi. DNS na vyeti vinafuatiliwa na kuotomatishwa kama mifumo ya uzalishaji, VPC zimegawanywa kwa kuingia na kutoka kunakodhibitiwa, telemetri ya ngazi ya muunganisho inakusanywa kila mahali, na kanuni za uaminifu-sifuri zinapokelewa kama sera badala ya jaribio la timu moja.
  • Ngazi ya 4, Kusimamia: Mpaka wa mtandao unapimwa na kudhibitiwa dhidi ya vipimo vya msingi, si kusawazishwa tu. Ucheleweshaji wa utatuzi, muda wa mkono wa TLS, viwango vya kutuma tena na makosa ya muunganisho, ucheleweshaji wa mkia (p99, si wastani), muda wa kuongoza wa kuisha kwa vyeti, na ukiukaji wa sera ya kutoka nje vinafuatiliwa kwenye dashibodi zenye vizingiti vya tahadhari na bajeti za makosa. Maamuzi ya kwenda/kutokwenda na ya uwezo yanaendeshwa na data hiyo, mazoezi ya kushindwa kwa DNS na utegemezi yaliyosababishwa yanaendeshwa kwa ratiba na matokeo yake kupimwa, na kurudi nyuma kwa ishara yoyote kunanaswa na kumilikiwa badala ya kugunduliwa kwenye kukatika kunakofuata.
  • Ngazi ya 5, Kuratibu: Mitandao ustahimilivu ni chaguo-msingi la jukwaa linaloboreshwa mfululizo, lililounganishwa kuvuka shirika na linalojirekebisha kwa mabadiliko. TLS ya pande zote na uidhinishaji unaotegemea utambulisho ni sare, mara nyingi kupitia mesh ya huduma; mkakati wa ukingo na CDN umerekebishwa dhidi ya data hai ya ucheleweshaji; kutoka nje kunatawaliwa kikamilifu; na uchaguzi wa topolojia, mtoa huduma, na uelekezaji unasawazishwa upya gharama, hatari, na trafiki zinapohama. Maamuzi ya mitandao yamefumwa katika upangaji wa uwezo, usalama, na biashara, na shirika linafikiri waziwazi kuhusu safari za kwenda-na-kurudi, ucheleweshaji wa mkia, na njia za kushindwa kwa mpaka kama jambo la kawaida.

Mawazo ya kujadili

  1. Mtoa huduma wenu mkuu wa DNS au kitatuzi akidhoofika kwa saa moja, sehemu gani ya mfumo wenu bado ingefanya kazi, na mngejuaje?
  2. Ni huduma zipi zenu bado zinatuma trafiki bila usimbaji fiche mara inapokuwa “ndani” ya mtandao, na ingechukua nini kuziba pengo hilo?
  3. Minyororo ya kina zaidi ya miito ya usawazishaji iko wapi kwenye usanifu wenu, na ombi la kawaida la mtumiaji linapata safari ngapi za kwenda-na-kurudi za mtandao kweli?
  4. Muda wenu wa kuisha unaungana chini ya mnyororo wa miito kuwa bajeti thabiti, au kila safu inaweka yake na kutumaini?
  5. Mizigo yenu inaweza kufikia nini kwenye mtandao wa umma sasa hivi, na nani aliidhinisha kila moja ya maeneo hayo ya kutoka nje?
  6. Kwa idadi gani ya huduma utekelezaji sare wa mesh ya huduma ungezidi gharama yake ya uendeshaji kwa shirika lenu, na mko karibu kiasi gani?

Mambo muhimu ya kukumbuka

  • Mtandao ni utegemezi wenye njia zake za kushindwa; buni kila wito wa mbali kwa ucheleweshaji, upotevu, na ukamilishaji usio wazi, si mafanikio au kushindwa safi tu.
  • Ucheleweshaji unatawaliwa na safari za kwenda-na-kurudi na umbali, kwa hiyo punguza vituo, tumia tena miunganisho, na usogeze data karibu na watumiaji kwa CDN na ukingo.
  • DNS na vyeti vya TLS hushindwa kimyakimya na kuangusha huduma nzima; viotomatishe na uvifuatilie kama mifumo ya uzalishaji.
  • Sawazisha mzigo kwenye safu inayofaa trafiki, na uweke masuala ya pamoja nyuma ya lango la L7 tu pale gharama ya upatikanaji na uonekanaji inapohalalishwa.
  • Fanya mpaka wa mtandao uwe ustahimilivu kwa chaguo-msingi kwa muda wa kuisha, majaribio ya kurudia yaliyofungwa yenye mtetemo, na vivunja mzunguko, kwa hakika kama chaguo-msingi za jukwaa zinazorithiwa.
  • Gawanya VPC yako, tawala kutoka nje, panga kwa IPv6, na upokee uaminifu-sifuri ili kuwa “ndani” ya mtandao kusitoe uaminifu wowote wa kiotomatiki.

Marejeo na usomaji zaidi

  • W. Richard Stevens, TCP/IP Illustrated, Volume 1: The Protocols
  • Ilya Grigorik, High Performance Browser Networking
  • Cricket Liu and Paul Albitz, DNS and BIND
  • Andrew S. Tanenbaum and David J. Wetherall, Computer Networks
  • Michael Nygard, Release It!: Design and Deploy Production-Ready Software
  • Evan Gilman and Doug Barth, Zero Trust Networks: Building Secure Systems in Untrusted Networks
  • Lee Calcote and Zack Butcher, Istio: Up and Running (service mesh concepts)
  • Internet Engineering Task Force, RFC 9110 (HTTP Semantics) and RFC 9000 (QUIC)
  • Peter Deutsch and James Gosling, “The Eight Fallacies of Distributed Computing”
  • National Institute of Standards and Technology, Special Publication 800-207: Zero Trust Architecture