Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2

Ogow. turjumiMaqaalkani wuxuu sii wadaa taxane weyn oo maqaallo ah oo ka yimid wacdiyihii tignoolajiyada AWS Adrian Hornsby, kaas oo u dejiyey inuu si fudud oo cad u sharaxo muhiimada tijaabinta si loo yareeyo cawaaqibka fashilka ee nidaamyada IT.

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2

"Haddii aad ku guuldareysato inaad diyaariso qorshe, markaas waxaad qorsheyneysaa inaad guuldareysato." - Benjamin Franklin

В qaybta koowaad Maqaalladan taxanaha ah, waxaan soo bandhigay fikradda injineernimada fowdada waxaanan sharxay sida ay u caawiso in la helo oo la saxo cilladaha nidaamka ka hor inta aysan u horseedin wax-soo-saarka. Waxa kale oo ay ka hadashay sida injineernimada fowdada u kor u qaado isbeddel dhaqameed togan oo ka dhex jira ururada.

Dhammaadka qaybta hore, waxaan ballan qaaday inaan ka hadlo "qalabka iyo hababka lagu soo bandhigo guul-darrooyinka nidaamyada." Hoogay, madaxaygu wuxuu lahaa qorshayaal u gaar ah arrintan, maqaalkan waxaan isku dayi doonaa inaan ka jawaabo su'aasha ugu caansan ee ka dhex dhacda dadka doonaya inay galaan injineernimada fowdada: Maxaa la jabiyaa marka hore?

Su'aal weyn! Si kastaba ha ahaatee, uma eka inuu si gaar ah u dhibay panda-gan...

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
Ha ku khaldin panda fowdada ah!

Jawaab gaaban: Bartilmaameedsada adeegyada muhiimka ah ee jidka codsiga.

Jawaab ka dheer balse ka cad: Si aad u fahamto halka laga bilaabayo tijaabinta fowdada, fiiro gaar ah u yeelo saddex meelood:

  1. Eeg taariikhda shil oo aqoonso qaababka;
  2. Go'aanso ku tiirsanaanta muhiimka ah;
  3. Isticmaal waxa loogu yeero saamayn kalsoonida xad dhaafka ah.

Waa wax lagu qoslo, laakiin qaybtan si fudud ayaa loogu yeedhi karaa "Socdaalka Is-helidda iyo Iftiinka". Dhexdeeda waxaan ku bilaabi doonaa "ku ciyaarista" qalabyo fiican.

1. Jawaabtu waa hore

Haddii aad xasuusato, qaybta hore waxaan ku soo bandhigay fikradda saxitaanka khaladaadka (COE) - habka aan ku lafaguro khaladaadkeena - khaladaadka tignoolajiyada, habraaca ama abaabulka - si loo fahmo sababahooda loogana hortago. soo noqnoqda mustaqbalka . Guud ahaan, tani waa meesha aad ka bilaabi lahayd.

"Si aad u fahamto hadda, waxaad u baahan tahay inaad ogaato wixii hore." - Carl Sagan

U fiirso taariikhda guuldarrooyinka, ku dheji COE ama dhimashada ka dib oo kala saar. Aqoonso qaababka caadiga ah ee badanaa u horseeda dhibaatooyin, COE kastana, weydii naftaada su'aasha soo socota:

"Miyaa tan la sii saadaaliyey oo sidaas awgeed looga hortegi lahaa cirbad khalad ah?"

Waxaan xasuustaa hal guul darro horraantii xirfaddayda. Si fudud ayaa looga hortagi karay haddii aan samayn lahayn dhowr tijaabo oo qalalaase ah:

Xaaladaha caadiga ah, xaaladaha dambe waxay ka jawaabaan baaritaannada caafimaadka Dheelaha culeyska (ELB)). ELB waxay u isticmaashaa jeegagahan si ay ugu hagaajiso codsiyada xaaladaha caafimaadka qaba. Marka ay soo baxdo in tusaale ahaan "aan caafimaad qabin", ELB waxay joojisaa codsiyada ay u soo dirto. Maalin maalmaha ka mid ah, ka dib olole suuq-geyneed oo guul leh, tirada taraafikada ayaa kor u kacday, dhabarka dambena waxay bilaabeen inay ka jawaabaan baaritaannada caafimaadka si tartiib tartiib ah sidii caadiga ahayd. Waa in la sheegaa in baaritaannadan caafimaad ay ahaayeen qoto dheer, taasi waa, xaalada dadka ku tiirsanaanta waa la hubiyay.

Si kastaba ha ahaatee, wax waliba way fiicnaayeen in muddo ah.

Kadib, markii horeba ay ku jireen xaalado walaac badan, mid ka mid ah tusaalooyinka ayaa bilaabay fulinta hawl aan muhiim ahayn, hawl caadi ah oo ETL ah. Isku darka taraafikada sare iyo cronjob ayaa riixay ka faa'iidaysiga CPU ilaa 100%. Culayska badan ee CPU ayaa hoos u dhigay jawaabaha hubinta caafimaadka, sidaa darteed ELB wuxuu go'aansaday in tusaale ahaan ay la kulmaan dhibaatooyin shaqo. Sida la filayo, miisaan-hayaha ayaa joojiyay qaybinta taraafikada, taas oo, iyaduna, keentay kororka culeyska xaaladaha haray ee kooxda.

Isla markiiba, dhammaan xaaladaha kale waxay sidoo kale bilaabeen inay ku dhacaan baaritaanka caafimaadka.

Bilaabida tusaale cusub waxay u baahday soo dejinta iyo rakibida xirmooyinka waxayna qaadatay wax ka badan intii ay ku qaadatay ELB in la joojiyo iyaga -mid mid-mid-mid-mid-mid-mid-mid-mid-mid-mid-mid-mid-mid-kooxeedka u-saarista. Way caddahay in ugu dhakhsaha badan geeddi-socodkii oo dhami gaadhay meel xasaasi ah oo codsigii burburay.

Ka dib waxaan waligeen fahannay qodobadan soo socda:

  • Ku rakibida softiweerka marka la abuurayo tusaale cusub waxay qaadataa waqti dheer, way fiicantahay inaad door bidayso habka aan la bedeli karin iyo Golden AMI.
  • Xaaladaha adag, jawaabaha hubinta-caafimaadka iyo ELB-yada waa in ay mudnaanta siiyaan - waxa ugu dambeeya ee aad rabto waa inaad ku adkaato nolosha xaaladaha soo hadhay.
  • Kaydinta gudaha ee hubinta caafimaadka aad bay u caawisaa (xitaa dhowr ilbiriqsi).
  • Xaalad adag, ha ku socodsiin hawlaha cron iyo hababka kale ee aan muhiimka ahayn - u badbaadi kheyraadka hawlaha ugu muhiimsan.
  • Marka autoscaling, isticmaal tusaalooyin yar yar. Koox ka kooban 10 nooc oo yaryar ayaa ka wanaagsan koox 4 ah oo waaweyn; Haddii hal tusaale uu ku guuldareysto, kiiska koowaad 10% ee taraafikada waxaa loo qaybin doonaa in ka badan 9 dhibcood, labaad - 25% taraafikada saddex dhibcood.

Sidaas Ma laga yaabaa in tan la sii saadaaliyay, oo sidaas awgeed looga hortagayo soo bandhigida dhibaatada?

Haa, iyo dhowr siyaabood.

Marka hore, adiga oo la jaanqaadaya isticmaalka CPU sare iyadoo la adeegsanayo aaladaha ay ka midka yihiin stress-ng ama cpuburn:

❯ stress-ng --matrix 1 -t 60s

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
stress-ng

Marka labaad, adigoo si xad dhaaf ah u buuxinaya tusaalaha wrk iyo adeegyada kale ee la midka ah:

❯ wrk -t12 -c400 -d20s http://127.0.0.1/api/health

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2

Tijaabooyinku waa kuwo fudud, laakiin waxay ku siin karaan xoogaa cunto ah oo fikradeed ah iyada oo aan la marin walaaca guul-darrida dhabta ah.

Si kastaba ha ahaatee, halkaa haka joogsan. Isku day inaad dib u soo saarto shilka jawi tijaabo oo hubi jawaabtaada su'aasha "Ma laga yaabaa in tan la sii saadaaliyay oo sidaas awgeed laga hortegi lahaa in la keeno khalad?" Tani waa tijaabo yar oo fowdo ah oo ku dhex jirta tijaabo fowdo si loo tijaabiyo malo-awaalka, laakiin ka bilaabma guuldarro.

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
Ma riyo ayay ahayd, mise runtii way dhacday?

Haddaba baro taariikhda guul-darrooyinka, falanqeyso EOC, ku calaamadee oo u kala saar "radius hit" -ama si sax ah, tirada macaamiisha ay saameysay-ka dibna raadi qaabab. Isweydii haddii tan la sii saadaaliyay lagana hortagi lahaa in dhibka la soo bandhigo. Hubi jawaabtaada.

Ka dib u beddel qaababka ugu caansan ee leh qiyaasta ugu weyn.

2. Dhis khariidad ku tiirsanaanta

Qaado daqiiqad si aad uga fikirto codsigaaga. Ma jiraan khariidad cad oo ku saabsan ku tiirsanaanta? Ma garanaysaa saamaynta ay yeelan doonaan haddii uu fashilmo?

Haddii aadan aqoon u lahayn koodka codsigaga ama uu noqday mid aad u weyn, way adkaan kartaa in la fahmo waxa code-ku qabto iyo waxa ay ku tiirsan yihiin. Fahamka ku-tiirsanaantan iyo saamaynta ay ku yeelan karaan codsiga iyo isticmaalayaasha ayaa muhiim u ah ogaanshaha halka laga bilaabayo injineernimada fowdada: barta bilawga ah waa qaybta leh raadiyaha saamaynta ugu weyn.

Aqoonsiga iyo diiwaan gelinta ku tiirsanaanta waxaa loo yaqaan "dhisida khariidad ku tiirsanaanta» (khariidad ku tiirsanaanta). Tan waxaa sida caadiga ah loo sameeyaa codsiyada leh saldhig kood weyn iyadoo la adeegsanayo aaladaha sifada koodka. (code profile) iyo qalabaynta (qalabka). Waxa kale oo aad dhisi kartaa khariidad adiga oo la socdo taraafikada shabakada.

Si kastaba ha ahaatee, dhammaan ku-tiirsanaanta isku mid maaha (taas oo sii adkeynaysa habka). Qaar dhaliil, kale - sare (ugu yaraan aragti ahaan, maadaama shilalka inta badan ay u dhacaan dhibaatooyinka ku-tiirsanaanta oo loo tixgeliyey kuwa aan muhiim ahayn).

Ku-tiirsanaanta muhiimka ah la'aanteed, adeeggu ma shaqayn karo. Ku-tiirsanaanta aan muhiimka ahayn"ma aha» inay saameyn ku yeelato adeegga haddii ay dhacdo dhicitaan. Si aad u fahamto ku-tiirsanaanta, waxaad u baahan tahay inaad si cad u fahanto API-yada uu isticmaalo codsigaga. Tani waxay noqon kartaa mid aad uga adag sida ay u muuqato - ugu yaraan codsiyada waaweyn.

Ka bilow inaad dhex marto dhammaan API-yada Muuji inta ugu badan muhiim ah oo xasaasi ah. Qaado ku tiirsanaan laga bilaabo kaydka koodka, iska hubi diiwaanka xiriirka, ka dibna fiiri dukumeenti (dabcan, haddii ay jirto - haddii kale weli waxaad haysataaоdhibaatooyin ka weyn). Isticmaal qalabka si aad xog-ururinta iyo raadinta, sifee wicitaanada dibadda.

Waxaad isticmaali kartaa barnaamijyada sida netstat - utility line amarka soo bandhigaya liiska dhammaan isku xirka shabakadaha (goobaha firfircoon) ee nidaamka. Tusaale ahaan, si aad u taxdo dhammaan xidhiidhada hadda jira, ku qor:

❯ netstat -a | more 

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2

Gudaha AWS waxaad ku isticmaali kartaa qulqulka qulqulka (flow logs) VPC waa hab kuu ogolaanaya inaad ururiso macluumaadka ku saabsan taraafikada IP-ga ee u socda ama ka imanaya is-dhexgalka shabakada ee VPC. Diiwaanada noocan oo kale ah waxay sidoo kale kaa caawin karaan hawlo kale - tusaale ahaan, helitaanka jawaabaha su'aasha ah sababta gaadiidka qaarkood aysan u gaarin tusaale ahaan.

Waxaad sidoo kale isticmaali kartaa AWS X-ray. X-ray wuxuu kuu ogolaanayaa inaad si faahfaahsan u hesho, "ugu dambeeya" (dhamaadka-ilaa-dhamaadka) dulmar ku saabsan codsiyada marka ay ku dhex socdaan arjiga, iyo sidoo kale waxay dhistaa khariidad qaybaha hoose ee codsiga. Aad u habboon haddii aad u baahan tahay inaad aqoonsato ku-tiirsanaanta.

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
AWS X-Ray Console

Khariidadda ku-tiirsanaanta shabakadu waa xal qayb keliya. Haa, waxay muujinaysaa codsiga la xidhiidha kaas, laakiin waxaa jira ku tiirsanaano kale.

Codsiyo badan ayaa isticmaala DNS si ay ugu xirmaan ku tiirsanaanta, halka kuwa kale ay isticmaali karaan helitaanka adeegga ama xitaa cinwaannada IP-ga ee adag ee faylasha qaabeynta (tusaale. /etc/hosts).

Tusaale ahaan, waad abuuri kartaa DNS godka madow iyadoo gacan ka heleysa iptables oo arag waxa jaba. Si tan loo sameeyo, geli amarka soo socda:

❯ iptables -I OUTPUT -p udp --dport 53 -j REJECT -m comment --comment "Reject DNS"

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
DNS godka madow

Hadday ku jirto /etc/hosts ama faylasha kale ee qaabeynta, waxaad ka heli doontaa cinwaanada IP-yada oo aadan waxba ka ogeyn (haa, nasiib daro, tani sidoo kale way dhacdaa), waxaad mar kale u iman kartaa samatabbixinta iptables. Aynu nidhaahno waad ogaatay 8.8.8.8 oo ha ogaanin in kani yahay ciwaanka DNS server-ka guud ee Google. Adigoo isticmaalaya iptables Waxaad xannibi kartaa taraafikada soo galaya iyo ka baxaysa ciwaankan addoo isticmaalaya amarrada soo socda:

❯ iptables -A INPUT -s 8.8.8.8 -j DROP -m comment --comment "Reject from 8.8.8.8"
❯ iptables -A OUTPUT -d 8.8.8.8 -j DROP -m comment --comment "Reject to 8.8.8.8"

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
Xiritaanka gelitaanka

Xeerka ugu horreeya wuxuu ka saarayaa dhammaan xirmooyinka Google's DNS public: ping shaqeeya, laakiin baakadaha lama soo celiyo. Xeerka labaad wuxuu hoos u dhigayaa dhammaan baakadaha ka imanaya nidaamkaaga ee ku wajahan DNS-ka guud ee Google - iyadoo laga jawaabayo ping waan helnaa Lama ogola hawlgalka.

Fiiro gaar ah: kiiskan gaarka ah way fiicnaan lahayd in la isticmaalo whois 8.8.8.8laakiin tani waa tusaale uun.

Waxaan xitaa hoos ugu sii socon karnaa godka bakaylaha, sababtoo ah wax kasta oo isticmaala TCP iyo UDP dhab ahaantii waxay ku xiran yihiin IP sidoo kale. Inta badan, IP waxay ku xidhan tahay ARP. Ha iloobin dab-damiska...

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
Haddii aad qaadato kaniiniga cas, waxaad joogi doontaa Wonderland, waxaanan ku tusi doonaa sida qoto dheer ee godka bakaylaha u socdo."

Hab ka sii xagjirsan waa in goyn baabuurta mid mid u fiirso waxa jabay... noqo "daayeer fowdo ah." Dabcan, nidaamyo badan oo wax-soo-saar ah looma qorsheynin weerarka xoogga ah, laakiin ugu yaraan waxaa lagu tijaabin karaa jawi tijaabo ah.

Dhisida khariidadda ku-tiirsanaanta badanaa waa hawl aad u dheer. Waxaan dhawaan la hadlay macmiil ku dhawaad ​​2 sano ku qaatay horumarinta aalad si toos ah u soo saarta khariidado ku-tiirsanaanta boqolaal adeeg yar iyo amarro.

Natiijadu, si kastaba ha ahaatee, waa mid aad u xiiso badan oo faa'iido leh. Waxaad wax badan ka baran doontaa nidaamkaaga, ku tiirsanaantiisa iyo hawlgaladiisa. Mar labaad, samir: waa safarka laftiisa tan ugu muhiimsan.

3. Iska jir kalsoonida xad dhaafka ah

"Qofkii ku riyoodaa, wuu rumaystaa." - Demosthenes

Waligaa ma maqashay saamayn kalsoonida xad dhaafka ah?

Sida laga soo xigtay Wikipedia, saameynta kalsoonida xad-dhaafka ah waa "eexda garashada taas oo kalsoonida qofku ku qabo ficilladiisa iyo go'aannadiisa ay aad uga weyn tahay saxnaanta ujeeddada xukunnadaas, gaar ahaan marka heerka kalsoonida uu sarreeyo."

Fawdada injineernimada: farshaxanka burburin ula kac ah. Qaybta 2
Iyada oo ku saleysan dareen iyo khibrad...

Waayo-aragnimadayda, qalloocani waa tilmaam weyn oo ah meesha laga bilaabo injineernimada fowdada.

Ka digtoonow hawlwadeenka kalsoonida badan:

Charlie: "Waxani kuma dhicin shan sano, wax walba waa fiican yihiin!"
Shil: "Sug... dhawaan ayaan halkaas joogi doonaa!"

Eexda oo ka dhalata kalsoonida xad dhaafka ah waa shay khiyaano ah oo xitaa khatar ah iyadoo ay ugu wacan tahay arrimo kala duwan oo saameeya. Tani waxay si gaar ah run u tahay marka xubnaha kooxdu ay qalbigooda ku shubeen tignoolajiyada ama ay waqti badan ku bixiyeen inay "hagaajiyaan"

Isku soo wada duuboo

Raadinta barta bilowga ah ee injineernimada fowdada waxay had iyo jeer keentaa natiijooyin ka badan intii la filayay, iyo kooxaha bilaabay inay wax jebiyaan si degdeg ah waxay lumiyaan aragtida caalamiga ah iyo nuxurka xiisaha badan ee (fawdada-)injineernimada - isticmaalka hal-abuurka hababka sayniska и caddayn dhab ah naqshadeynta, horumarinta, hawlgalka, dayactirka iyo hagaajinta nidaamyada (software).

Tani waxay ku soo gabagabaynaysaa qaybta labaad. Fadlan qor faallooyin, wadaag ra'yiga ama kaliya ku sacab gacmahaaga Dhexdhexaad. Qaybta xigta I runtii Waxaan tixgelin doonaa qalabka iyo hababka lagu soo bandhigo guuldarrooyinka nidaamyada. Ilaa!

PS ka turjumaan

Sidoo kale ka akhri boggayaga:

Source: www.habr.com

Add a comment