Wahandisi 4, seva 7000 na janga moja la kimataifa

Habari Habr! Ninawasilisha kwa mawazo yako tafsiri ya makala "Wahandisi 4, Seva 7000 na Janga Moja la Ulimwenguni" na Adib Daw.

Ikiwa kichwa hicho hakifanyi mtetemo mdogo chini ya uti wa mgongo wako, unapaswa kuruka hadi aya inayofuata au tembelea ukurasa wetu uliowekwa kwa ajili ya kazi katika kampuni - tungependa kuzungumza.

Sisi ni nani

Sisi ni timu ya pengwini 4 wanaopenda kuandika msimbo na kufanya kazi na maunzi. Katika wakati wetu wa ziada, tuna jukumu la kupeleka, kudumisha na kuendesha kundi la zaidi ya seva 7000 halisi zinazotumia Linux, zinazosambazwa katika vituo 3 tofauti vya data kote Marekani.

Pia tulipata fursa ya kufanya hivi umbali wa kilomita 10 kutoka kwa tovuti, kutoka kwa starehe ya ofisi yetu, ambayo iko umbali mfupi kutoka ufuo wa Bahari ya Mediterania.

Matatizo ya mizani

Ingawa ni jambo la busara kwa uanzishaji kuanza kwa kupangisha miundombinu yake katika wingu kutokana na uwekezaji mdogo wa awali, sisi katika Outbrain tuliamua kutumia seva zetu wenyewe. Tulifanya hivyo kwa sababu gharama za miundombinu ya wingu huzidi sana gharama za uendeshaji wa vifaa vyetu vilivyo katika vituo vya data baada ya maendeleo hadi kiwango fulani. Kwa kuongeza, seva yako hutoa kiwango cha juu zaidi cha udhibiti na uwezo wa utatuzi.

Tunapokua, shida huwa karibu kila wakati. Kwa kuongezea, kawaida huja kwa vikundi. Udhibiti wa mzunguko wa maisha ya seva unahitaji uboreshaji wa kila mara ili uweze kufanya kazi ipasavyo katika muktadha wa ongezeko la haraka la idadi ya seva. Mbinu za programu za kudhibiti vikundi vya seva katika vituo vya data haraka huwa ngumu. Kugundua, kusuluhisha, na kupunguza mapungufu wakati wa kufikia viwango vya QoS inakuwa suala la kushughulikia safu tofauti za maunzi, mzigo wa kazi tofauti, tarehe za mwisho za kuboresha, na mambo mengine mazuri ambayo hakuna mtu anataka kuwa na wasiwasi nayo.

bwana Domains yako

Ili kutatua mengi ya matatizo haya, tuligawanya mzunguko wa maisha wa seva katika Outbrain katika vipengele vyake kuu na kuviita vikoa. Kwa mfano, kikoa kimoja kinashughulikia mahitaji ya vifaa, kingine kinashughulikia vifaa vinavyohusiana na mzunguko wa maisha ya hesabu, na cha tatu kinashughulikia mawasiliano na wafanyikazi wa uwanja. Kuna lingine kuhusu uchunguzi wa vifaa, lakini hatutaelezea vidokezo vyote. Lengo letu lilikuwa kusoma na kufafanua vikoa ili viweze kufutwa kwa kutumia msimbo. Mara tu kifupi cha kufanya kazi kinapoundwa, kinahamishiwa kwa mchakato wa mwongozo ambao unatumwa, kujaribiwa na kusafishwa. Hatimaye, kikoa kimesanidiwa kuunganishwa na vikoa vingine kupitia API, na kutengeneza mfumo wa jumla, unaobadilika na unaobadilika kila mara ambao unaweza kutumika, kufanyiwa majaribio na kuonekana. Kama mifumo yetu mingine yote ya uzalishaji.

Kupitisha njia hii ilituwezesha kutatua matatizo mengi kwa usahihi - kwa kuunda zana na automatisering.

Unahitaji Kikoa

Ingawa barua pepe na lahajedwali zilikuwa njia ifaayo ya kukidhi mahitaji katika siku za awali, haikuwa suluhu iliyofanikiwa, hasa wakati idadi ya seva na wingi wa maombi yanayoingia ulifikia kiwango fulani. Ili kupanga vyema na kuyapa kipaumbele maombi yanayoingia katika uso wa upanuzi wa haraka, ilitubidi kutumia mfumo wa tiketi ambao ungeweza kutoa:

  • Uwezo wa kubinafsisha mtazamo wa nyanja zinazofaa tu (rahisi)
  • Fungua API (zinazoongezwa)
  • Inajulikana kwa timu yetu (inaeleweka)
  • Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ с нашими ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌΠΈ процСссами (ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ)

Kwa kuwa tunatumia Jira kudhibiti mbio zetu za mbio na kazi za ndani, tuliamua kuunda mradi mwingine ambao ungewasaidia wateja wetu kuwasilisha tikiti na kufuatilia matokeo yao. Kutumia Jira kwa maombi yanayoingia na kwa ajili ya kusimamia kazi za ndani kulituruhusu kuunda bodi moja ya Kanban ambayo ilituruhusu kuangalia michakato yote kwa ujumla. "Wateja" wetu wa ndani waliona maombi ya kifaa pekee, bila kutafakari maelezo muhimu sana ya kazi za ziada (kama vile kuboresha zana, kurekebisha hitilafu).

Wahandisi 4, seva 7000 na janga moja la kimataifa
Bodi ya Kanban huko Jira

Kama bonasi, ukweli kwamba foleni na vipaumbele vilionekana kwa kila mtu ilifanya iwezekane kuelewa "wapi kwenye foleni" ombi fulani lilikuwa na ni nini kilitangulia. Hii iliruhusu wamiliki kutanguliza upya maombi yao bila kuwasiliana nasi. Iburute na ndivyo hivyo. Pia ilituruhusu kufuatilia na kutathmini SLA zetu kulingana na aina za ombi kulingana na vipimo vinavyozalishwa katika Jira.

Kikoa cha Mzunguko wa Maisha ya Vifaa

Jaribu kufikiria ugumu wa kudhibiti vifaa vinavyotumika katika kila rack ya seva. Mbaya zaidi ni kwamba vipande vingi vya vifaa (RAM, ROM) vinaweza kuhamishwa kutoka kwenye ghala hadi kwenye chumba cha seva na nyuma. Pia hazifaulu au zinafutwa na kubadilishwa na kurejeshwa kwa msambazaji kwa uingizwaji / ukarabati. Yote hii lazima iwasilishwe kwa wafanyakazi wa huduma ya colocation wanaohusika katika matengenezo ya kimwili ya vifaa. Ili kutatua matatizo haya, tuliunda chombo cha ndani kinachoitwa Floppy. Kazi yake ni:

  • Usimamizi wa mawasiliano na wafanyikazi wa uwanja, mkusanyiko wa habari zote;
  • Kusasisha data ya "ghala" baada ya kila kazi iliyokamilishwa na kuthibitishwa ya matengenezo ya vifaa.

Ghala, kwa upande wake, linaonyeshwa kwa kutumia Grafana, ambayo tunaitumia kupanga vipimo vyetu vyote. Kwa hivyo, tunatumia zana sawa kwa taswira ya ghala na kwa mahitaji mengine ya uzalishaji.

Wahandisi 4, seva 7000 na janga moja la kimataifaJopo la kudhibiti vifaa vya ghala huko Grafana

Kwa vifaa vya seva ambavyo viko chini ya udhamini, tunatumia zana nyingine tunayoita Dispatcher. Yeye:

  • Inakusanya kumbukumbu za mfumo;
  • Hutoa ripoti katika muundo unaohitajika na muuzaji;
  • Huunda ombi kutoka kwa muuzaji kupitia API;
  • Hupokea na kuhifadhi kitambulisho cha programu kwa ufuatiliaji zaidi wa maendeleo yake.

Baada ya dai letu kukubaliwa (kwa kawaida ndani ya saa za kazi), sehemu ya ziada hutumwa kwa kituo cha data kinachofaa na kukubaliwa na wafanyakazi.

Wahandisi 4, seva 7000 na janga moja la kimataifa
Pato la koni ya Jenkins

Kikoa cha Mawasiliano

Ili kuendana na ukuaji wa haraka wa biashara yetu, ambayo inahitaji uwezo unaoongezeka kila wakati, ilitubidi kurekebisha jinsi tunavyofanya kazi na wataalamu wa kiufundi katika vituo vya data vya karibu. Ikiwa mara ya kwanza kuongeza ilimaanisha kununua seva mpya, basi baada ya mradi wa ujumuishaji (kulingana na mpito hadi Kubernetes) ikawa kitu tofauti kabisa. Mabadiliko yetu kutoka kwa "kuongeza rafu" hadi "kuboresha seva."

Kutumia mbinu mpya pia kulihitaji zana mpya ambazo ziliwezesha kuingiliana kwa raha zaidi na wafanyikazi wa kituo cha data. Zana hizi zilihitajika:

  • Urahisi;
  • Kujitegemea;
  • Ufanisi;
  • Kuegemea.

Ilitubidi kujitenga na mlolongo na muundo wa kazi ili mafundi waweze kufanya kazi moja kwa moja na vifaa vya seva. Bila uingiliaji wetu na bila kuinua mara kwa mara masuala haya yote kuhusu mzigo wa kazi, saa za kazi, upatikanaji wa vifaa, nk.

Ili kufanikisha hili, tulisakinisha iPads katika kila kituo cha data. Baada ya kuunganishwa na seva, yafuatayo yatatokea:

  • Kifaa kinathibitisha kwamba seva hii kweli inahitaji kazi fulani;
  • Programu zinazoendesha kwenye seva zimefungwa (ikiwa ni lazima);
  • Seti ya maagizo ya kazi imewekwa kwenye chaneli ya Slack inayoelezea hatua zinazohitajika;
  • Baada ya kukamilika kwa kazi, kifaa huangalia usahihi wa hali ya mwisho ya seva;
  • Huanzisha upya programu ikiwa ni lazima.

Kwa kuongezea, pia tulitayarisha bot ya Slack kusaidia fundi. Shukrani kwa anuwai ya uwezo (tulikuwa tukipanua utendaji kila wakati), bot ilifanya kazi yao iwe rahisi, na ilifanya maisha yetu kuwa rahisi sana. Kwa njia hii tuliboresha zaidi mchakato wa kurejesha na kudumisha seva, tukijiondoa kwenye mtiririko wa kazi.

Wahandisi 4, seva 7000 na janga moja la kimataifa
iPad katika moja ya vituo vyetu vya data

Kikoa cha Vifaa

Kuongeza kwa uaminifu miundombinu ya kituo chetu cha data kunahitaji mwonekano mzuri katika kila sehemu, kwa mfano:

  • Utambuzi wa kushindwa kwa vifaa
  • Majimbo ya seva (inatumika, mwenyeji, zombie, n.k.)
  • Matumizi ya Nguvu
  • Toleo la firmware
  • Takwimu za biashara hii nzima

Suluhu zetu huturuhusu kufanya maamuzi kuhusu jinsi, wapi na wakati wa kununua vifaa, wakati mwingine hata kabla ya kuhitajika. Pia, kwa kuamua kiwango cha mzigo kwenye vifaa tofauti, tuliweza kufikia ugawaji bora wa rasilimali. Hasa, matumizi ya nishati. Sasa tunaweza kufanya maamuzi sahihi kuhusu uwekaji wa seva kabla ya kusakinishwa kwenye rack na kuunganishwa kwenye chanzo cha nishati, katika kipindi chote cha maisha yake na hadi itakapostaafu.

Wahandisi 4, seva 7000 na janga moja la kimataifa
Dashibodi ya Nishati huko Grafana

Na kisha COVID-19 ilionekana ...

Timu yetu huunda teknolojia zinazowezesha kampuni za midia na wachapishaji mtandaoni ili kuwasaidia wageni kupata maudhui, bidhaa na huduma zinazofaa ambazo zinaweza kuwavutia. Miundombinu yetu imeundwa ili kuhudumia trafiki inayozalishwa wakati habari za kusisimua zinatolewa.

Utangazaji mkubwa wa vyombo vya habari kuhusu COVID-19, pamoja na ongezeko la trafiki, ulimaanisha kwamba tulihitaji kujifunza jinsi ya kukabiliana na shinikizo hizi. Kwa kuongezea, haya yote yalilazimika kufanywa wakati wa shida ya ulimwengu, wakati minyororo ya usambazaji ilitatizwa na wafanyikazi wengi walikuwa nyumbani.

Lakini, kama tulivyosema, mtindo wetu tayari unadhani kuwa:

  • Vifaa katika vituo vyetu vya data, kwa sehemu kubwa, haviwezi kufikiwa na sisi;
  •  Tunafanya karibu kazi zote za kimwili kwa mbali;
  • Kazi inafanywa asynchronously, autonomously na kwa kiwango kikubwa;
  • Tunakidhi mahitaji ya vifaa kwa kutumia njia ya "kujenga kutoka kwa sehemu" badala ya kununua vifaa vipya;
  • Tuna ghala ambayo inaruhusu sisi kuunda kitu kipya, na sio tu kufanya matengenezo ya kawaida.

Kwa hivyo, vikwazo vya kimataifa ambavyo vilizuia makampuni mengi kupata ufikiaji wa kimwili kwa vituo vyao vya data vilikuwa na athari kidogo juu yetu.Na kuhusu vipuri na seva, ndiyo, tulijaribu kuhakikisha uendeshaji thabiti wa vifaa. Lakini hii ilifanyika kwa lengo la kuzuia matukio iwezekanavyo wakati ghafla inageuka kuwa baadhi ya kipande cha vifaa haipatikani. Tulihakikisha kuwa hifadhi zetu zinajazwa bila kulenga kukidhi mahitaji ya sasa.

Kwa muhtasari, ningependa kusema kwamba mbinu yetu ya kufanya kazi katika sekta ya kituo cha data inathibitisha kwamba inawezekana kutumia kanuni za muundo mzuri wa kanuni kwa usimamizi wa kimwili wa kituo cha data. Na labda utapata kuvutia.

Asili: tyts

Chanzo: mapenzi.com

Kuongeza maoni