Cloud computing explained: the 11 architecture concepts you must know (4K Masterclass).
Wahandisi wengi wa programu wanajaribu kujifunza usanifu wa wingu kwa kukariri mamia ya vifupisho vya bidhaa za wachuuzi katika AWS, GCP, na Azure.
Wahandisi wengi wa programu wanajaribu kujifunza usanifu wa wingu kwa kukariri mamia ya vifupisho vya bidhaa za wachuuzi katika AWS, GCP, na Azure. Lakini uhandisi halisi wa wingu umejengwa juu ya dhana kumi na moja za kimsingi za usanifu. Katika darasa hili kuu lililohuishwa la 4K, Niko anafafanua mpango kamili wa biashara: kutoka kwa uongezaji wa wima dhidi ya ulalo na usawazishaji wa mizigo wa Tabaka la 7 hadi usawazishaji otomatiki unaobadilika, utekelezaji wa microVM isiyo na seva, utenganishaji wa matukio usiosawazishwa, upangaji wa kontena, mpangilio wa safu nne za hifadhi, tofauti muhimu kati ya upatikanaji wa juu na 11 nines ya uimara, Miundombinu ya Kutangaza kama Kanuni, na mitandao ya Virtual Private Cloud. Fahamu dhana hizi kumi na moja, na unaweza kuunda usanifu wa mfumo wowote wa nyuma katika uzalishaji. Uamuzi: SHIP IT.
Soma toleo lililoandikwa (Kiingereza) ↗
Nini video hii inashughulikia
- - Ukuta wa Usanifu & Mpango Mkuu
- - 01. Uongezaji wa Wima dhidi ya Ulalo
- - 02. Usanifu wa Usawazishaji wa Mizigo (L4 dhidi ya L7 & Ukaguzi wa Afya)
- - 03. Usawazishaji Otomatiki & Unyumbufu
- - 04. Isiyo na Seva (FaaS & Firecracker MicroVMs)
Nakala iliyotafsiriwa
Imetafsiriwa kutoka simulizi asili ya Kiingereza. Sauti na manukuu yanayopatikana yanadhibitiwa na YouTube.
- Ukuta wa Usanifu & Mpango Mkuu
0:00 Kila mhandisi wa programu hatimaye hukabili ukuta wa usanifu wa wingu. Unaunda programu kwenye kompyuta yako ndogo, unaisukuma kwenye uzalishaji, na mara tu watumiaji halisi wanapofika, seva huanguka, miunganisho ya hifadhidata hutoka nje, na bili yako ya AWS inaonekana kama namba ya simu. Waendelezaji wengi hujaribu kutatua uhandisi wa wingu kwa kukariri vifupisho mia tatu tofauti vya bidhaa za AWS. Lakini kompyuta halisi ya wingu haihusu kukariri katalogi za wachuuzi: imejengwa juu ya dhana kumi na moja za kimsingi za usanifu.
0:34 Katika darasa hili kuu, tutapitia mpango mzima wa biashara: kutoka kuongeza na kusawazisha mizigo hadi isiyo na seva, utenganishaji unaoendeshwa na matukio, ngazi za uhifadhi, na mitandao ya wingu. Fahamu dhana hizi kumi na moja, na unaweza kubuni mfumo wowote wa nyuma kwenye AWS, GCP, au Azure. Hii ni The Daily Diff, chini ya kofia.
- 01. Uongezaji wa Wima dhidi ya Ulalo
0:57 Dhana namba moja: Kuongeza. Wakati programu yako inapopata ongezeko la trafiki, una njia mbili za kimsingi tofauti za kushughulikia mzigo: kuongeza wima, au kuongeza ulalo. Kuongeza wima, au kuongeza juu, kunamaanisha kuchukua mashine yako iliyopo na kuongeza rasilimali zaidi: kuboresha kutoka cores nne za CPU hadi thelathini na mbili, au kubadilisha gigabytes thelathini na mbili za RAM kwa gigabytes mia moja ishirini na nane. Kuongeza wima hakuhitaji mabadiliko yoyote ya usanifu: msimbo wako
1:28 na hifadhidata hubaki sawa kabisa. Lakini hugonga kikomo kikali cha vifaa. Hakuna mashine moja ulimwenguni yenye cores elfu kumi za CPU, na matukio ya juu hubeba malipo ya bei ya juu sana. Kuongeza ulalo, au kuongeza nje, kunamaanisha kuweka seva zako ndogo na bei nafuu, lakini kuendesha matukio mengi kwa wakati mmoja nyuma ya ruta. Ikiwa tukio moja litaanguka, nodes zilizobaki huchukua trafiki bila muda wa kupumzika. Sheria ya dhahabu ya kuongeza ulalo ni
2:01 kutokuwa na hali: seva zako za programu haziwezi kuhifadhi vikao vya watumiaji, faili zilizopakiwa, au hali kwenye diski zao za ndani. Hali lazima iishi kwenye hifadhidata ya nje au kashe, kuruhusu node yoyote kushughulikia ombi lolote la mtumiaji.
- 02. Usanifu wa Usawazishaji wa Mizigo (L4 dhidi ya L7 & Ukaguzi wa Afya)
2:17 Dhana namba mbili: Usawazishaji wa Mizigo. Kuongeza ulalo kunaonekana vizuri kwenye karatasi, lakini kunaanzisha tatizo la haraka: wakati watumiaji elfu kumi wanapofika kwenye jina lako la kikoa, ni seva ipi maalum inapokea trafiki yao? Kisawazishaji cha mizigo hufanya kazi kama proksi ya nyuma iliyopo kati ya intaneti ya umma na nguzo yako ya faragha ya nyuma. Inakubali miunganisho inayoingia ya TCP au HTTP na husambaza maombi katika matukio yako yenye afya.
2:47 Visawazishaji vya mizigo hufanya kazi katika tabaka mbili kuu za mtandao. Visawazishaji vya Mizigo vya Mtandao vya Tabaka la 4 hufanya kazi kwenye safu ya usafirishaji, kupeleka pakiti za TCP na UDP kulingana na anwani ya IP na bandari kwa kasi ya mikrosekondi na mamilioni ya maombi kwa sekunde. Visawazishaji vya Mizigo vya Maombi vya Tabaka la 7 hukagua itifaki ya HTTP yenyewe: kusoma njia za URL, vichwa vya maombi, vidakuzi, na mbinu za HTTP. Hii inawezesha uelekezaji kulingana na njia: kutuma maombi ya /api kwenye nguzo yako ya nyuma na maombi ya /static kwenye hifadhi ya vitu.
3:25 Muhimu, visawazishaji vya mizigo hufanya ukaguzi wa afya amilifu. Kila sekunde chache, kisawazishaji hupiga sehemu ya afya kwenye kila tukio. Ikiwa tukio linatoa makosa matatu mfululizo ya mia tano au linashindwa kujibu, huondolewa kiotomatiki kutoka kwenye bwawa bila maombi yoyote yaliyoanguka.
- 03. Usawazishaji Otomatiki & Unyumbufu
3:45 Dhana namba tatu: Usawazishaji Otomatiki. Ikiwa programu yako ya wavuti inahitaji seva mbili saa tatu asubuhi, lakini seva ishirini wakati wa uzinduzi wa mchana, kubonyeza vitufe mwenyewe kwenye koni ya wingu ni njia ya uhakika ya kupoteza muda na kufilisika. Usawazishaji otomatiki huleta unyumbufu thabiti kwa mabwawa ya seva za ulalo. Kundi la Usawazishaji Otomatiki hufuatilia vipimo vya utendaji kama vile wastani wa matumizi ya CPU, I/O ya mtandao, au kina cha foleni. Wakati wastani wa CPU unapovuka kizingiti kilichobainishwa — sema,
4:19 asilimia sabini kwa dakika tatu mfululizo — kisawazishaji otomatiki huanzisha mashine pepe mpya, huzisajili na kisawazishaji chako cha mizigo, na huanza kuelekeza trafiki. Muhimu vile vile ni kuongeza ndani: wakati wimbi la trafiki linapungua, kisawazishaji otomatiki hukomesha matukio ya ziada ili usiendelee kulipia kompyuta isiyotumika. Ili kuzuia kupigapiga — ambapo seva huundwa na kuharibiwa haraka katika kitanzi kisicho na mwisho cha kusaga — wasanifu wa wingu husanidi vipindi vya kupoa. Dhana namba nne: Isiyo na Seva.
- 04. Isiyo na Seva (FaaS & Firecracker MicroVMs)
4:53 Kwa miaka mingi, timu za masoko ziliuza huduma zisizo na seva kama kanuni ya kichawi inayoendesha angani. Kwa kweli, isiyo na seva bado hutumia seva — lakini huimiliki, huisawazishi, au huilipi wakati hakuna kanuni inayoendesha. Ukiwa na Kazi-kama-Huduma kama AWS Lambda au Google Cloud Functions, unaandika kazi huru ya kushughulikia. Wakati ombi la HTTP, upakiaji wa faili ya S3, au mabadiliko ya hifadhidata yanatokea, mfumo wa wingu huanzisha
5:23 mashine ndogo-pepe inayoweza kubadilika kama Firecracker chini ya milisekunde tano. Msimbo wako hutekelezwa, hurejesha jibu, na huzimika. Ikiwa hakuna mtu anayetembelea tovuti yako kwa miezi mitatu, bili yako ya kompyuta ni sifuri dola na senti sifuri. Ikiwa watumiaji milioni wanaiingilia kwa wakati mmoja, mtoa huduma huwasha milioni moja ya microVMs zinazofanana. Biashara za uhandisi ni halisi: latency ya kuanza baridi wakati wa kuanzisha runtimes mpya, kikomo kigumu cha utekelezaji cha dakika kumi na tano kwenye Lambda, na kutokuwa na hali kali.
5:55 Isiyo na seva haina mpinzani kwa mifumo ya matukio na API za mara kwa mara, lakini mbaya kwa WebSockets zinazoendelea au majaribio ya mafunzo ya saa nyingi.
- 05. Usanifu unaoendeshwa na Matukio (EDA & Utenganishaji)
6:05 Dhana namba tano: Usanifu Unaotokana na Matukio, au EDA. Katika usanifu wa kitamaduni, huduma huwasiliana kwa usawazishaji. Huduma yako ya malipo inaita malipo, malipo huita hesabu, hesabu inaita udanganyifu, na udanganyifu unaita barua pepe. Hii inaunda mfululizo wa usawazishaji wa maangamizi. Ikiwa mtoa huduma wa barua pepe wa tatu anapata hitilafu ya mtandao na inachukua sekunde kumi kujibu, ombi lote la malipo la mteja wako linapoteza muda na hitilafu. Katika usanifu unaotokana na matukio, huduma zimetenganishwa kabisa.
6:37 Wakati mteja anapobofya kununua, huduma ya malipo haitoi wito kwa huduma za chini chini. Inachapisha tu tukio linaloitwa Agizo Limewekwa kwenye Basi Kuu la Matukio kama Amazon EventBridge au mada ya SNS. Malipo yanakamilika kwa milisekunde hamsini. Wafanyakazi wa chini kwa malipo, upunguzaji wa hesabu, na risiti za barua pepe huvuta ujumbe kwa kujitegemea kutoka kwenye foleni zao maalum za SQS. Ikiwa huduma ya barua pepe itafungwa kwa saa moja, ujumbe husubiri salama umewekwa kwenye foleni bila agizo lolote lililoanguka.
- 06. Upangaji wa Kontena (Docker & Kubernetes)
7:13 Dhana namba sita: Upangaji wa Kontena. Docker ilitatua ufungaji: inafunga msimbo wako wa programu, maktaba za mfumo, usanidi, na mfumo wa uendeshaji katika picha isiyoweza kubadilika inayoendesha sawa kwenye MacBook yako na kwenye wingu. Lakini kufunga kontena ni rahisi. Kuendesha kontena mia tano kwenye mashine pepe hamsini za kimwili ndipo uhandisi unapovunjika. Ndio maana waandaaji wa kontena kama Kubernetes na AWS ECS
7:41 wapo. Muandaaji hutoa mfumo wa udhibiti: seva ya API, hifadhi ya hali ya etcd, na mpangilio wa akili. Unatangaza hali unayotaka: Nataka nakala kumi za huduma yangu ya uthibitisho kwa gigabytes mbili za RAM kila moja. Mpangilio hukagua nguzo, huweka pods kwenye nodes zilizo na kumbukumbu ya bure, husanidi mitandao ya ndani, na huendelea kupatanisha ukweli. Ikiwa node inakabiliwa na hitilafu ya vifaa, Kubernetes hugundua upotezaji na mara moja huratibu upya pods zote zilizohamishwa kwenye
- 07. Nguzo 4 za Hifadhi ya Wingu (S3, EBS, DBs & Redis)
8:16 nodes zenye afya. Dhana namba saba: Ngazi za Hifadhi ya Wingu. Waanzilishi mara nyingi huiona hifadhi ya wingu kama ndoo moja ambapo unatupa faili. Katika usanifu wa uzalishaji, hifadhi imegawanywa katika nguzo nne tofauti kulingana na mifumo ya ufikiaji na latency. Kwanza ni Hifadhi ya Vitu, kama Amazon S3 au Google Cloud Storage. Unafikia faili kupitia API za HTTP REST ukitumia simu rahisi za PUT na GET. Inatoa uwezo usio na kikomo wa ulalo kwa senti mbili kwa gigabyte kwa mwezi,
8:49 na kuifanya kuwa bora kwa video, upakiaji wa watumiaji, kumbukumbu, na nakala rudufu. Pili ni Hifadhi ya Bloku, kama Amazon EBS. Hizi ni diski kuu pepe zilizowekwa moja kwa moja kwenye mashine maalum ya pepe juu ya miunganisho ya kasi kubwa. Zinajipanga kuwa mifumo ya faili ya kawaida kama ext4, ikiunga mkono ufikiaji wa haraka wa kusoma na kuandika unaohitajika na injini za hifadhidata. Tatu ni Hifadhidata Zinazosimamiwa: injini za uhusiano kama PostgreSQL kwenye RDS zinazotoa miamala ya ACID na unganishi tata,
9:21 na injini za NoSQL kama DynamoDB zinazotoa latency ya milisekunde moja-tarakimu kwa kiwango kikubwa. Na nne ni Kashe za Ndani ya Kumbukumbu kama Redis. Kusoma data kutoka RAM huchukua mikrosekondi badala ya milisekunde. Kashe hukaa mbele ya hifadhidata yako, ikiiwekea kinga dhidi ya trafiki ya kusoma inayorudiwa na kusimamia tokeni za vikao vya watumiaji zinazobadilika.
- 08. Upatikanaji wa Juu & Nines (Multi-AZ Failover)
9:44 Dhana namba nane: Upatikanaji wa Juu, au HA. Upatikanaji hujibu swali moja: ni asilimia ngapi ya wakati programu yako inafanya kazi na inapatikana kwa watumiaji? Katika mikataba ya biashara, upatikanaji hupimwa kwa nines. Nines mbili, au asilimia tisini na tisa ya upatikanaji, huruhusu zaidi ya siku tatu na nusu za kupungua kwa kila mwaka. Nines nne hupunguza muda wa kupungua kwa dakika hamsini na mbili, na nines tano huruhusu dakika tano tu za jumla ya kupungua kwa
10:15 mwaka. Ili kufikia upatikanaji wa juu, lazima uondoe sehemu moja za kushindwa katika vikoa vya makosa. Katika wingu, hiyo inamaanisha kupeleka katika Maeneo mengi ya Upatikanaji. Eneo la Upatikanaji sio rack moja: ni kituo kimoja au zaidi tofauti cha data chenye maili mbali na nguvu huru na baridi. Kwa kuendesha matukio amilifu katika Eneo A na Eneo B kwa usawazishaji wa hifadhidata, mgomo wa umeme au kukatika kwa nyuzi macho kunakochukua kituo chote cha kimwili husababisha ubadilishaji wa kiotomatiki.
10:50 katika sekunde thelathini bila mwingilio wowote wa kibinadamu.
- 09. Uimara dhidi ya Upatikanaji (Kwa nini Nines 11 sio Uptime)
10:53 Dhana namba tisa: Kudumu dhidi ya Upatikanaji. Huu ndio mtego mmoja wa dhana ya kawaida katika usanifu wa wingu mahojiano. Wahandisi hutumia maneno hayo mara kwa mara badala ya mengine, lakini hupima sifa tofauti kabisa. Upatikanaji hupima muda wa kufanya kazi: Je, ninaweza kupiga simu ya API kusoma au kuandika data yangu sasa hivi? Kudumu hupima uhifadhi: je, data yangu itadumu bila uharibifu wa kudumu, uharibifu, au uharibifu kwa miaka kumi?
11:24 Tazama Amazon S3 Standard. Mkataba wake wa Kiwango cha Huduma unatoa asilimia tisini na tisa nukta tisa upatikanaji, ambao unaruhusu takriban dakika arobaini na tatu za kukatika kila mwezi ambapo ombi la API linaweza kurudisha hitilafu ya mia tano. Lakini S3 inaahidi tisa kumi na moja za kudumu: tisini na tisa nukta tisa tisa tisa tisa tisa tisa tisa tisa tisa asilimia. Ukihifadhi faili milioni kumi katika S3, unaweza kutarajia kupoteza wastani wa faili moja kila miaka elfu kumi.
11:56 wastani wa faili moja kila miaka elfu kumi. S3 inafanikisha hili kwa kufuta-kuweka misimbo ya vitu na kurudufisha vipande katika angalau vituo vitatu vya data vilivyotengwa kijiografia. angalau vituo vitatu vya data vilivyotengwa kijiografia. Wakati wa kukatika kwa mtandao mkuu wa kikanda, S3 inaweza kukosekana kwa muda, lakini data yako haiharibiki kamwe.
- 10. Miundombinu kama Kanuni (Terraform dhidi ya Console Drift)
12:14 Dhana namba kumi: Miundombinu kama Msimbo, au IaC. Katika siku za mwanzo za kompyuta ya wingu, wahandisi waliingia kwenye AWS koni ya usimamizi wa wavuti na kubofya mwenyewe ili kuunda mashine pepe, kusanidi subnets, na kuunganisha vikundi vya usalama. Sekta inaita hii ClickOps, na katika uzalishaji, ni janga kabisa. Mabadiliko ya koni ya mikono hayana rekodi ya ukaguzi, hakuna utaratibu wa kurudisha nyuma, na bila shaka husababisha mkengeuko wa usanidi kati ya mazingira ya kupima na uzalishaji. Kwa zana za Miundombinu kama Msimbo kama Terraform,
12:48 OpenTofu, Pulumi, au AWS CDK, unafafanua usanifu wako wote wa wingu katika faili za usanidi zinazotangaza zilizohifadhiwa katika Git. Kila mabadiliko kwenye bandari iliyo wazi au replica ya hifadhidata hupitia ombi la kuvuta na ukaguzi wa rika. na ukaguzi wa rika. Kukimbia mpango wa terraform hutazama API diff kamili kabla ya kitu chochote kuguswa, na kuunda replica inayofanana ya stack yako ya uzalishaji huchukua dakika nne badala ya wiki nne.
- 11. Mitandao ya Wingu (VPC, Subnets, NAT & Vikundi vya Usalama)
13:20 Dhana namba kumi na moja: Mtandao wa Wingu na Mawingu Binafsi ya Virtual (VPCs). Unapopeleka seva kwenye wingu, hazikai zikiwa wazi kwenye intaneti mbichi ya umma. Zinakaa ndani ya mpaka uliotengwa na programu unaoitwa VPC. ndani ya VPC. Ndani ya VPC yako, unatenga nafasi ya anwani ya IP ya faragha kama vile kumi-nukta-sifuri-nukta-sifuri-nukta-sifuri slash kumi na sita, na kuigawanya katika subnets za umma na za faragha. Subnet ya umma ina njia ya moja kwa moja kwenda kwenye Lango la Intaneti.
13:51 Inashikilia mali zinazoelekea umma kama vile Vibalansisha Mizigo ya Maombi yako na Lango la NAT. Ni sehemu pekee ya mtandao wako ambayo inamiliki anwani za IP za umma. Seva zako za programu na hifadhidata za uzalishaji huishi kabisa katika subnets za faragha bila IP za umma na njia sifuri za ndani kutoka intaneti. Wakati seva zako za nyuma zinahitaji kupakua sasisho za usalama, trafiki yao ya kutoka hupitia Lango la NAT katika subnet ya umma. Kuzunguka kila mfumo ni Vikundi vya Usalama: firewalls pepe zenye hali zinazotii kanuni ya haki ndogo zaidi.
- 12. Mpango Kamili wa Biashara & Uamuzi
14:28 Kikundi chako cha usalama cha hifadhidata kinakubali miunganisho kwenye bandari 5432 moja kwa moja kutoka kwa kikundi cha usalama cha seva zako za programu, na hivyo kufanya upenyaji wa nje usiwezekane kihisabati. Unapopanua mtazamo, misingi hii kumi na moja huungana na kuunda mfumo mmoja jumuishi. DNS yako inaelekea kwa Load Balancer katika subnet ya umma, vikundi vya autoscaling hushughulikia ongezeko la trafiki katika Maeneo mengi ya Upatikanaji, mabasi ya matukio huondoa uhusiano kati ya wafanyakazi wa backend, na stack yako yote inasambazwa kutoka Git kwa kutumia Miundombinu kama Msimbo. kutoka Git kwa kutumia Miundombinu kama Msimbo.
15:02 Uamuzi wa darasa la leo: SHIP IT. Acha kukariri mamia ya vifupisho vya uuzaji wa wingu. Mwalimu mifumo hii kumi na moja ya usanifu, tengua hali yako, na jenga mifumo isiyoweza kushindwa. Niambie dhana gani ya wingu ilikupa maumivu ya kichwa zaidi ulipoanza kujenga kwenye maoni. kujenga kwenye maoni. Na ili kupata karatasi kamili ya kudanganya ya usanifu, jiandikishe kwa jarida kwenye the daily diff dot dev,
15:28 kiungo hapa chini. Na huo ndio tofauti kwa leo. Mimi ni Niko kutoka Axrisi. Unganisha kwa uwajibikaji.
Vyanzo
- AWS Well-Architected Framework (Reliability & Performance Pillars)aws.amazon.com
- Kubernetes Architecture & Control Plane Conceptskubernetes.io
- Martin Fowler: What is Event-Driven Architecture?martinfowler.com
- Amazon S3 Data Durability & Availability Technical Whitepaperaws.amazon.com
- HashiCorp: Declarative Infrastructure as Code with Terraformwww.terraform.io



