DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Anton Weiss, mwanzilishi na mkurugenzi wa Otomato Software, mmoja wa waanzilishi na wakufunzi wa cheti cha kwanza cha DevOps nchini Israeli, alizungumza mwaka jana. DevOpsDays Moscow kuhusu nadharia ya machafuko na kanuni kuu za uhandisi wa machafuko, na pia alielezea jinsi shirika bora la DevOps la siku zijazo linavyofanya kazi.

Tumetayarisha toleo la maandishi la ripoti.



Habari za asubuhi

DevOpsDays huko Moscow kwa mwaka wa pili mfululizo, hii ni mara yangu ya pili kwenye hatua hii, wengi wenu ni katika chumba hiki kwa mara ya pili. Ina maana gani? Hii inamaanisha kuwa harakati ya DevOps nchini Urusi inakua, inazidisha, na muhimu zaidi, inamaanisha kuwa wakati umefika wa kuzungumza juu ya DevOps ni nini mnamo 2018.

Inua mikono yako ambao wanafikiria kuwa DevOps tayari ni taaluma mnamo 2018? Kuna vile. Je, kuna wahandisi wowote wa DevOps kwenye chumba ambao maelezo yao ya kazi yanasema "DevOps Engineer"? Je, kuna wasimamizi wowote wa DevOps kwenye chumba cha mkutano? Hakuna vile. Wasanifu wa DevOps? Pia hapana. Haitoshi. Je, ni kweli kwamba hakuna mtu anayesema wao ni mhandisi wa DevOps?

Kwa hivyo wengi wenu mnadhani huu ni muundo wa kupinga? Kwamba taaluma kama hiyo haipaswi kuwepo? Tunaweza kufikiria chochote tunachotaka, lakini wakati tunafikiria, tasnia inasonga mbele kwa sauti ya tarumbeta ya DevOps.

Nani amesikia kuhusu mada mpya inayoitwa DevDevOps? Hii ni mbinu mpya ambayo inaruhusu ushirikiano mzuri kati ya wasanidi programu na washiriki. Na sio mpya sana. Kwa kuzingatia Twitter, tayari walianza kuzungumza juu ya hii miaka 4 iliyopita. Na hadi sasa, riba katika hili inakua na kukua, yaani, kuna tatizo. Tatizo linahitaji kutatuliwa.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Sisi ni watu wabunifu, hatupumziki kirahisi tu. Tunasema: DevOps si neno la kutosha; bado haina kila aina ya vipengele tofauti, vya kuvutia. Na tunakwenda kwenye maabara zetu za siri na kuanza kuzalisha mabadiliko ya kuvutia: DevTestOps, GitOps, DevSecOps, BizDevOps, ProdOps.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Mantiki ni ironclad, sawa? Mfumo wetu wa uwasilishaji haufanyi kazi, mifumo yetu si thabiti na watumiaji wetu hawajaridhika, hatuna wakati wa kusambaza programu kwa wakati, hatuendani na bajeti. Je, tutayatatuaje haya yote? Tutakuja na neno jipya! Itaisha na "Ops" na shida itatatuliwa.

Kwa hivyo ninaita njia hii - "Ops, na shida imetatuliwa."

Haya yote yanafifia nyuma ikiwa tutajikumbusha kwa nini tulikuja na haya yote. Tulikuja na jambo hili zima la DevOps ili kufanya uwasilishaji wa programu na kazi yetu wenyewe katika mchakato huu kuwa isiyozuiliwa, isiyo na maumivu, yenye ufanisi, na muhimu zaidi, ya kufurahisha iwezekanavyo.

DevOps ilikua nje ya maumivu. Na tumechoka kuteseka. Na ili haya yote yafanyike, tunategemea mazoea ya kijani kibichi: ushirikiano mzuri, mazoea ya mtiririko, na muhimu zaidi, kufikiria kwa mifumo, kwa sababu bila hiyo hakuna DevOps inayofanya kazi.

Mfumo ni nini?

Na ikiwa tayari tunazungumza juu ya mifumo ya kufikiria, hebu tujikumbushe mfumo ni nini.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Ikiwa wewe ni mdukuzi wa mapinduzi, basi kwako mfumo huo ni mbaya sana. Ni wingu linaloning'inia juu yako na kukulazimisha kufanya mambo ambayo hutaki kufanya.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kwa mtazamo wa mifumo ya kufikiri, mfumo ni mzima ambao una sehemu. Kwa maana hii, kila mmoja wetu ni mfumo. Mashirika tunayofanyia kazi ni mifumo. Na tunachojenga wewe na mimi kinaitwa mfumo.

Haya yote ni sehemu ya mfumo mmoja mkubwa wa kijamii na kiteknolojia. Na tu ikiwa tutaelewa jinsi mfumo huu wa kijamii na kiteknolojia unavyofanya kazi pamoja, basi tu ndipo tutaweza kuboresha kitu katika suala hili.

Kutoka kwa mtazamo wa kufikiri wa mifumo, mfumo una mali mbalimbali za kuvutia. Kwanza, ina sehemu, ambayo ina maana kwamba tabia yake inategemea tabia ya sehemu. Aidha, sehemu zake zote pia zinategemeana. Inabadilika kuwa kadiri mfumo unavyo sehemu nyingi, ndivyo inavyokuwa ngumu zaidi kuelewa au kutabiri tabia yake.

Kutoka kwa mtazamo wa tabia, kuna ukweli mwingine wa kuvutia. Mfumo unaweza kufanya kitu ambacho hakuna sehemu yake ya kibinafsi inaweza kufanya.

Kama Dk. Russell Ackoff (mmoja wa waanzilishi wa mifumo ya kufikiri) alisema, hii ni rahisi sana kuthibitisha kwa jaribio la mawazo. Kwa mfano, ni nani katika chumba anajua jinsi ya kuandika msimbo? Kuna mikono mingi, na hii ni ya kawaida, kwa sababu hii ni moja ya mahitaji kuu ya taaluma yetu. Je! unajua kuandika, lakini mikono yako inaweza kuandika msimbo tofauti na wewe? Kuna watu watasema: "Sio mikono yangu inayoandika nambari, ni ubongo wangu ndio huandika nambari." Je, ubongo wako unaweza kuandika msimbo tofauti na wewe? Naam, pengine si.

Ubongo ni mashine ya kushangaza, hatujui hata 10% ya jinsi inavyofanya kazi huko, lakini haiwezi kufanya kazi tofauti na mfumo ambao ni mwili wetu. Na hii ni rahisi kuthibitisha: fungua fuvu lako, toa ubongo wako, uiweka mbele ya kompyuta, basi ajaribu kuandika kitu rahisi. "Halo, ulimwengu" katika Python, kwa mfano.

Ikiwa mfumo unaweza kufanya kitu ambacho hakuna sehemu yake inaweza kufanya tofauti, basi hii ina maana kwamba tabia yake haijatambuliwa na tabia ya sehemu zake. Je, inaamuliwa na nini? Imedhamiriwa na mwingiliano kati ya sehemu hizi. Na ipasavyo, sehemu nyingi zaidi, mwingiliano mgumu zaidi, ni ngumu zaidi kuelewa na kutabiri tabia ya mfumo. Na hii inafanya mfumo huo kuwa wa machafuko, kwa sababu yoyote, hata mabadiliko yasiyo na maana, yasiyoonekana katika sehemu yoyote ya mfumo inaweza kusababisha matokeo yasiyotabirika kabisa.

Usikivu huu kwa hali ya awali uligunduliwa na kuchunguzwa na mtaalamu wa hali ya hewa wa Marekani Ed Lorenz. Baadaye, iliitwa "athari ya kipepeo" na ikasababisha maendeleo ya harakati ya mawazo ya kisayansi inayoitwa "nadharia ya machafuko." Nadharia hii ikawa moja ya mabadiliko makubwa ya dhana katika sayansi ya karne ya 20.

Nadharia ya machafuko

Watu wanaosoma machafuko hujiita machafuko.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kwa kweli, sababu ya ripoti hii ilikuwa kwamba, nikifanya kazi na mifumo tata iliyosambazwa na mashirika makubwa ya kimataifa, wakati fulani niligundua kuwa huyu ndiye ninayejisikia. Mimi ni mtaalamu wa machafuko. Hii kimsingi ni njia ya busara ya kusema: "Sielewi kinachoendelea hapa na sijui la kufanya juu yake."

Nadhani wengi wenu pia mara nyingi huhisi hivi, kwa hiyo ninyi pia ni wachambuzi wa machafuko. Ninakualika kwa chama cha wanazuoni wa machafuko. Mifumo ambayo wewe na mimi, wapenda machafuko wenzetu, tutasoma inaitwa "mifumo tata ya kubadilika."

Kubadilika ni nini? Kubadilika kunamaanisha kuwa tabia ya mtu binafsi na ya pamoja ya sehemu katika mfumo huo wa kubadilika hubadilika na kujipanga, kujibu matukio au misururu ya matukio madogo katika mfumo. Hiyo ni, mfumo unabadilika kwa mabadiliko kupitia kujipanga. Na uwezo huu wa kujipanga unategemea ushirikiano wa hiari, uliogatuliwa kabisa wa mawakala huru wa uhuru.

Mali nyingine ya kuvutia ya mifumo hiyo ni kwamba wao ni uhuru scalable. Nini bila shaka lazima maslahi yetu, kama chaosologists-wahandisi. Kwa hivyo, ikiwa tulisema kwamba tabia ya mfumo mgumu imedhamiriwa na mwingiliano wa sehemu zake, basi tunapaswa kupendezwa na nini? Mwingiliano.

Kuna matokeo mawili ya kuvutia zaidi.
DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kwanza, tunaelewa kuwa mfumo mgumu hauwezi kurahisishwa kwa kurahisisha sehemu zake. Pili, njia pekee ya kurahisisha mfumo mgumu ni kurahisisha mwingiliano kati ya sehemu zake.

Je, tunaingilianaje? Wewe na mimi sote ni sehemu ya mfumo mkubwa wa habari unaoitwa jamii ya wanadamu. Tunaingiliana kupitia lugha ya kawaida, ikiwa tunayo, ikiwa tunaipata.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Lakini lugha yenyewe ni mfumo changamano wa kubadilika. Ipasavyo, ili kuingiliana kwa ufanisi zaidi na kwa urahisi, tunahitaji kuunda aina fulani ya itifaki. Hiyo ni, mlolongo fulani wa alama na vitendo ambavyo vitafanya ubadilishanaji wa habari kati yetu kuwa rahisi, kutabirika zaidi, kueleweka zaidi.

Ninataka kusema kwamba mwelekeo kuelekea utata, kuelekea kubadilika, kuelekea ugatuaji, kuelekea machafuko unaweza kufuatiliwa katika kila kitu. Na katika mifumo ambayo wewe na mimi tunaijenga, na katika mifumo hiyo ambayo sisi ni sehemu yake.

Na sio kuwa na msingi, wacha tuangalie jinsi mifumo ambayo tunaunda inabadilika.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Ulikuwa unasubiri neno hili, naelewa. Tuko kwenye mkutano wa DevOps, leo neno hili litasikika takriban mara laki moja kisha tutaliota usiku.

Huduma ndogo ni usanifu wa kwanza wa programu ambao uliibuka kama athari kwa mazoea ya DevOps, ambayo imeundwa kufanya mifumo yetu kunyumbulika zaidi, kubadilika zaidi, na kuhakikisha uwasilishaji unaoendelea. Anafanyaje hili? Kwa kupunguza wingi wa huduma, kupunguza wigo wa matatizo ambayo huduma hizi huchakata, na kupunguza muda wa utoaji. Hiyo ni, tunapunguza na kurahisisha sehemu za mfumo, kuongeza idadi yao, na ipasavyo, ugumu wa mwingiliano kati ya sehemu hizi huongezeka kila wakati, ambayo ni, shida mpya huibuka ambazo tunapaswa kutatua.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Microservices sio mwisho, microservices ni, kwa ujumla, tayari jana, kwa sababu Serverless inakuja. Seva zote zimeungua, hakuna seva, hakuna mifumo ya uendeshaji, msimbo safi tu unaoweza kutekelezwa. Mipangilio ni tofauti, majimbo ni tofauti, kila kitu kinadhibitiwa na matukio. Uzuri, usafi, ukimya, hakuna matukio, hakuna kinachotokea, utaratibu kamili.

Utata uko wapi? Ugumu, bila shaka, ni katika mwingiliano. Je, kazi moja inaweza kufanya kwa kiasi gani yenyewe? Je, inaingilianaje na kazi zingine? Foleni za ujumbe, hifadhidata, visawazishi. Jinsi ya kuunda tena tukio fulani wakati kutofaulu kulitokea? Maswali mengi na majibu machache.

Microservices na Serverless ni kile sisi geek hipsters wito Cloud Native. Yote ni kuhusu wingu. Lakini wingu pia asili yake ni mdogo katika scalability yake. Tumezoea kuifikiria kama mfumo uliosambazwa. Kwa kweli, seva za watoa huduma za wingu huishi wapi? Katika vituo vya data. Hiyo ni, tuna aina ya mfano wa kati, mdogo sana, uliosambazwa hapa.

Leo tunaelewa kuwa Mtandao wa Mambo si maneno makubwa tena ambayo hata kulingana na utabiri wa kiasi, mabilioni ya vifaa vilivyounganishwa kwenye Mtandao vinatungoja katika miaka mitano hadi kumi ijayo. Kiasi kikubwa cha data muhimu na isiyo na maana ambayo itaunganishwa kwenye wingu na kupakiwa kutoka kwa wingu.

Wingu halitadumu, kwa hivyo tunazidi kuzungumza juu ya kitu kinachoitwa edge computing. Au pia napenda ufafanuzi mzuri wa "kompyuta ya ukungu". Imegubikwa na fumbo la mapenzi na fumbo.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kompyuta ya ukungu. Jambo ni kwamba mawingu ni sehemu kuu za maji, mvuke, barafu na mawe. Na ukungu ni matone ya maji ambayo yametawanyika karibu nasi katika angahewa.

Katika dhana ya ukungu, kazi nyingi hufanywa na matone haya kwa uhuru kabisa au kwa kushirikiana na matone mengine. Na wanageukia wingu tu wakati wanashinikizwa sana.

Hiyo ni, tena ugatuaji, uhuru, na, kwa kweli, wengi wenu tayari mnaelewa ni wapi haya yote yanaenda, kwa sababu huwezi kuzungumza juu ya ugatuaji bila kutaja blockchain.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Wapo wanaoamini, hawa ni wale ambao wamewekeza kwenye cryptocurrency. Kuna wanaoamini lakini wanaogopa, kama mimi, kwa mfano. Na wapo ambao hawaamini. Hapa unaweza kutibu tofauti. Kuna teknolojia, jambo jipya lisilojulikana, kuna matatizo. Kama teknolojia yoyote mpya, inazua maswali mengi kuliko inavyojibu.

Hype karibu blockchain inaeleweka. Kukimbilia kwa dhahabu kando, teknolojia yenyewe ina ahadi nzuri kwa siku zijazo nzuri: uhuru zaidi, uhuru zaidi, uaminifu uliosambazwa ulimwenguni. Nini si kutaka?

Ipasavyo, wahandisi zaidi na zaidi ulimwenguni wanaanza kuunda programu zilizopitishwa. Na hii ni nguvu ambayo haiwezi kutupiliwa mbali kwa kusema tu: "Ahh, blockchain ni hifadhidata iliyosambazwa vibaya." Au kama wakosoaji wanapenda kusema: "Hakuna maombi halisi ya blockchain." Ikiwa unafikiri juu yake, miaka 150 iliyopita walisema kitu kimoja kuhusu umeme. Na walikuwa sahihi hata kwa njia fulani, kwa sababu kile ambacho umeme hufanya iwezekanavyo leo haukuwezekana kwa njia yoyote katika karne ya 19.

Kwa njia, ni nani anayejua ni aina gani ya alama kwenye skrini? Hii ni Hyperledger. Huu ni mradi ambao unaendelezwa chini ya ufadhili wa The Linux Foundation na unajumuisha seti ya teknolojia za blockchain. Hii ndiyo nguvu ya jumuiya yetu ya chanzo huria.

Uhandisi wa Machafuko

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kwa hivyo, mfumo tunaounda unazidi kuwa mgumu zaidi na zaidi, wenye machafuko zaidi na zaidi na zaidi. Netflix ni waanzilishi wa mifumo ndogo ya huduma. Walikuwa miongoni mwa watu wa kwanza kuelewa hili, walitengeneza seti ya zana walizoziita Jeshi la Simian, maarufu zaidi ambalo lilikuwa Machafuko Tumbili. Alifafanua kile kilichojulikana kama "kanuni za uhandisi wa machafuko".

Kwa njia, katika mchakato wa kufanya kazi kwenye ripoti, hata tulitafsiri maandishi haya kwa Kirusi, kwa hiyo nenda kiungo, soma, toa maoni, karipia.

Kwa kifupi, kanuni za uhandisi wa machafuko zinasema yafuatayo. Mifumo changamano iliyosambazwa kwa asili haitabiriki na ina hitilafu. Hitilafu haziepukiki, ambayo ina maana tunahitaji kukubali makosa haya na kufanya kazi na mifumo hii kwa njia tofauti kabisa.

Ni lazima sisi wenyewe tujaribu kuwasilisha hitilafu hizi katika mifumo yetu ya uzalishaji ili kujaribu mifumo yetu ili kubaini ubadilikaji huu sawa, uwezo huu huu wa kujipanga, kwa ajili ya kuendelea kuishi.

Na hiyo inabadilisha kila kitu. Sio tu jinsi tunavyozindua mifumo katika uzalishaji, lakini pia jinsi tunavyoikuza, jinsi tunavyoijaribu. Hakuna mchakato wa uimarishaji au kufungia kwa kanuni, kinyume chake, kuna mchakato wa mara kwa mara wa uharibifu. Tunajaribu kuua mfumo na kuona unaendelea kuishi.

Itifaki za Ujumuishaji wa Mfumo uliosambazwa

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Ipasavyo, hii inahitaji mifumo yetu kubadilika kwa njia fulani. Ili ziwe thabiti zaidi, zinahitaji itifaki mpya za mwingiliano kati ya sehemu zao. Ili sehemu hizi ziweze kukubaliana na kuja kwa aina fulani ya kujipanga. Na kila aina ya zana mpya, itifaki mpya hutokea, ambayo mimi huita "itifaki za mwingiliano wa mifumo iliyosambazwa."

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Ninazungumza nini? Kwanza, mradi Ufuatiliaji wa wazi. Baadhi hujaribu kuunda itifaki ya jumla ya ufuatiliaji iliyosambazwa, ambayo ni zana ya lazima kabisa ya kutatua mifumo changamano iliyosambazwa.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Zaidi - Fungua Wakala wa Sera. Tunasema kwamba hatuwezi kutabiri nini kitatokea kwa mfumo, yaani, tunahitaji kuongeza uchunguzi wake, uchunguzi. Ufuatiliaji wa wazi ni wa familia ya zana zinazopa mifumo yetu kuonekana. Lakini tunahitaji uangalizi ili kubaini ikiwa mfumo unatenda kama tunavyotarajia au la. Je, tunafafanuaje tabia inayotarajiwa? Kwa kufafanua aina fulani ya sera, seti fulani ya sheria. Mradi wa Open Policy Agent unafanya kazi ili kufafanua seti hii ya sheria katika wigo mbalimbali kuanzia ufikiaji hadi ugawaji wa rasilimali.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kama tulivyosema, mifumo yetu inazidi kuendeshwa na matukio. Serverless ni mfano mzuri wa mifumo inayoendeshwa na hafla. Ili tuweze kuhamisha matukio kati ya mifumo na kuyafuatilia, tunahitaji lugha ya kawaida, itifaki ya kawaida ya jinsi tunavyozungumza kuhusu matukio, jinsi tunavyoyasambaza kwa kila mmoja. Hivi ndivyo mradi ulivyoita Matukio ya mawingu.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Mtiririko wa mara kwa mara wa mabadiliko ambayo yanaosha juu ya mifumo yetu, na kuiharibu kila wakati, ni mtiririko unaoendelea wa vizalia vya programu. Ili sisi kudumisha mtiririko huu wa mabadiliko ya mara kwa mara, tunahitaji aina fulani ya itifaki ya kawaida ambayo tunaweza kuzungumza juu ya programu ya vizalia vya programu ni nini, jinsi inavyojaribiwa, ni uthibitishaji gani umepita. Hivi ndivyo mradi ulivyoita Grafeas. Hiyo ni, itifaki ya kawaida ya metadata ya mabaki ya programu.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Na hatimaye, ikiwa tunataka mifumo yetu iwe huru kabisa, ibadilike, na ijipange, lazima tuipe haki ya kujitambulisha. Mradi unaitwa spiffe Hivi ndivyo anavyofanya. Huu pia ni mradi chini ya ufadhili wa Cloud Native Computing Foundation.

Miradi hii yote ni mchanga, yote yanahitaji upendo wetu, uthibitisho wetu. Haya yote ni chanzo wazi, majaribio yetu, utekelezaji wetu. Wanatuonyesha teknolojia inapoelekea.

Lakini DevOps haijawahi hasa kuhusu teknolojia, imekuwa daima kuhusu ushirikiano kati ya watu. Na, ipasavyo, ikiwa tunataka mifumo tunayoendeleza ibadilike, basi sisi wenyewe lazima tubadilike. Kwa kweli, tunabadilika hata hivyo; hatuna chaguo nyingi.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Kuna ajabu kitabu Mwandishi wa Uingereza Rachel Botsman, ambamo anaandika juu ya mageuzi ya uaminifu katika historia yote ya mwanadamu. Anasema kwamba mwanzoni, katika jamii za zamani, uaminifu ulikuwa wa kawaida, yaani, tuliamini wale tu tunaowajua kibinafsi.

Kisha kulikuwa na kipindi kirefu sana - wakati wa giza ambapo uaminifu ulikuwa kati, tulipoanza kuwaamini watu ambao hatujui kwa msingi wa ukweli kwamba sisi ni wa taasisi moja ya umma au ya serikali.

Na hii ndio tunayoona katika ulimwengu wetu wa kisasa: uaminifu unazidi kusambazwa na kugawanywa, na inategemea uhuru wa mtiririko wa habari, juu ya upatikanaji wa habari.

Ukifikiria juu yake, ufikivu huu sana, unaofanya uaminifu huu uwezekane, ndivyo wewe na mimi tunatekeleza. Hii ina maana kwamba jinsi tunavyoshirikiana na jinsi tunavyoifanya lazima ibadilike, kwa sababu mashirika ya IT ya zamani na ya ngazi ya juu hayafanyi kazi tena. Wanaanza kufa.

Misingi ya Shirika la DevOps

Shirika bora la DevOps la siku zijazo ni mfumo uliogatuliwa, unaobadilika unaojumuisha timu zinazojitegemea, kila moja ikijumuisha watu wanaojitegemea. Timu hizi zimetawanyika kote ulimwenguni, zikishirikiana ipasavyo kwa kutumia mawasiliano ya asynchronous, kwa kutumia itifaki za mawasiliano zilizo wazi sana. Mzuri sana, sivyo? Wakati ujao mzuri sana.

Kwa kweli, hii haiwezekani bila mabadiliko ya kitamaduni. Lazima tuwe na uongozi wa mabadiliko, uwajibikaji wa kibinafsi, motisha ya ndani.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Huu ndio msingi wa mashirika ya DevOps: uwazi wa habari, mawasiliano ya asynchronous, uongozi wa mabadiliko, ugatuaji.

Kuchoma

Mifumo ambayo sisi ni sehemu yake na tunayoijenga inazidi kuwa na machafuko, na ni vigumu kwa sisi wanadamu kukabiliana na mawazo haya, ni vigumu kuacha udanganyifu wa udhibiti. Tunajaribu kuendelea kuwadhibiti, na hii mara nyingi husababisha uchovu. Ninasema hivi kutokana na uzoefu wangu mwenyewe, pia nilichomwa moto, pia nilikuwa mlemavu na kushindwa zisizotarajiwa katika uzalishaji.

DevOps na Machafuko: Uwasilishaji wa Programu katika Ulimwengu uliowekwa madarakani

Uchovu hutokea tunapojaribu kudhibiti kitu ambacho hakiwezi kudhibitiwa. Tunapochoma, kila kitu kinapoteza maana yake kwa sababu tunapoteza hamu ya kufanya kitu kipya, tunajihami na kuanza kutetea tulichonacho.

Taaluma ya uhandisi, kama ninavyopenda kujikumbusha mara nyingi, kwanza kabisa ni taaluma ya ubunifu. Ikiwa tunapoteza hamu ya kuunda kitu, basi tunageuka kuwa majivu, kugeuka kuwa majivu. Watu wanaungua, mashirika yote yanateketea.

Kwa maoni yangu, tu kukubali nguvu ya ubunifu ya machafuko, tu kujenga ushirikiano kulingana na kanuni zake ndiko kutatusaidia tusipoteze yaliyo mazuri katika taaluma yetu.

Hili ndilo ninalotaka kwako: kupenda kazi yako, kupenda kile tunachofanya. Ulimwengu huu unalisha habari, tuna heshima ya kuilisha. Kwa hivyo wacha tusome machafuko, tuwe wachambuzi wa machafuko, tulete thamani, tuunda kitu kipya, vizuri, shida, kama tumegundua tayari, haziepukiki, na zinapotokea, tutasema tu "Ops!" Na shida inatatuliwa.

Nini kingine isipokuwa Tumbili wa Machafuko?

Kwa kweli, vyombo hivi vyote ni mchanga sana. Netflix sawa walijijengea zana. Jenga zana zako mwenyewe. Soma kanuni za uhandisi wa machafuko na uishi kulingana na kanuni hizo badala ya kujaribu kutafuta zana zingine ambazo mtu mwingine tayari ameunda.

Jaribu kuelewa jinsi mifumo yako inavyoharibika na anza kuivunja na uone jinsi inavyoshikilia. Hii inakuja kwanza. Na unaweza kutafuta zana. Kuna kila aina ya miradi.

Sikuelewa kabisa wakati uliposema kuwa mfumo hauwezi kurahisishwa kwa kurahisisha vipengele vyake, na mara moja ukahamia kwenye huduma ndogo, ambazo hurahisisha mfumo kwa kurahisisha vipengele vyenyewe na kuingiliana kwa utata. Hizi kimsingi ni sehemu mbili zinazopingana.

Hiyo ni kweli, huduma ndogo ni mada yenye utata sana kwa ujumla. Kwa kweli, kurahisisha sehemu huongeza kubadilika. Je, huduma ndogo hutoa nini? Wanatupa kubadilika na kasi, lakini hakika hawatupi unyenyekevu. Wanaongeza ugumu.

Kwa hivyo, katika falsafa ya DevOps, huduma ndogo sio jambo zuri?

Nzuri yoyote ina upande wa nyuma. Faida ni kwamba huongeza kubadilika, kuruhusu sisi kufanya mabadiliko kwa kasi, lakini huongeza utata na kwa hiyo udhaifu wa mfumo mzima.

Bado, ni nini mkazo zaidi: katika kurahisisha mwingiliano au kurahisisha sehemu?

Msisitizo, kwa kweli, ni katika kurahisisha mwingiliano, kwa sababu ikiwa tunaangalia hii kutoka kwa mtazamo wa jinsi tunavyofanya kazi na wewe, basi, kwanza kabisa, tunahitaji kuzingatia kurahisisha mwingiliano, na sio kurahisisha kazi. ya kila mmoja wetu tofauti. Kwa sababu kurahisisha kazi kunamaanisha kugeuka kuwa roboti. Hapa McDonald's inafanya kazi kwa kawaida wakati una maelekezo: hapa unaweka burger, hapa unamwaga mchuzi juu yake. Hii haifanyi kazi hata kidogo katika kazi yetu ya ubunifu.

Je, ni kweli kwamba kila kitu ulichosema kinaishi katika ulimwengu usio na ushindani, na machafuko huko ni mazuri sana, na hakuna utata ndani ya machafuko haya, hakuna mtu anataka kula au kuua mtu yeyote? Je, ushindani na DevOps zinapaswa kuwa vipi?

Kweli, inategemea ni aina gani ya mashindano tunayozungumza. Je, ni kuhusu ushindani mahali pa kazi au ushindani kati ya makampuni?

Kuhusu ushindani wa huduma zilizopo kwa sababu huduma sio makampuni kadhaa. Tunaunda aina mpya ya mazingira ya habari, na mazingira yoyote hayawezi kuishi bila ushindani. Kuna ushindani kila mahali.

Netflix sawa, tunawachukua kama mfano wa kuigwa. Kwa nini walikuja na hili? Kwa sababu walihitaji kuwa na ushindani. Unyumbufu huu na kasi ya harakati ndiyo hitaji la ushindani kabisa; inaleta machafuko katika mifumo yetu. Yaani fujo sio jambo tunalofanya kwa kufahamu kwa sababu tunataka, ni jambo linalotokea kwa sababu ulimwengu unadai. Tunapaswa tu kuzoea. Na machafuko, ni matokeo ya ushindani.

Je, hii inamaanisha machafuko ni kutokuwepo kwa malengo, kama ilivyokuwa? Au yale malengo ambayo hatutaki kuyaona? Tuko ndani ya nyumba na hatuelewi malengo ya wengine. Ushindani, kwa kweli, unatokana na ukweli kwamba tuna malengo wazi na tunajua tutaishia wapi kila wakati ujao kwa wakati. Hii, kwa mtazamo wangu, ndio kiini cha DevOps.

Pia angalia swali. Nadhani sote tuna lengo moja: kuishi na kuifanya
furaha kubwa. Na lengo la ushindani la shirika lolote ni sawa. Kuishi mara nyingi hutokea kwa njia ya ushindani, hakuna kitu unaweza kufanya kuhusu hilo.

Mkutano wa mwaka huu DevOpsDays Moscow itafanyika Desemba 7 huko Technopolis. Tunakubali maombi ya ripoti hadi tarehe 11 Novemba. Andika sisi kama ungependa kusema.

Usajili kwa washiriki umefunguliwa, tikiti zinagharimu rubles 7000. Jiunge nasi!

Chanzo: mapenzi.com

Kuongeza maoni