Menene DevOps

Ma'anar DevOps yana da rikitarwa sosai, don haka dole ne mu sake fara tattaunawa game da shi a kowane lokaci. Akwai littattafai dubu akan wannan batu akan Habré kaɗai. Amma idan kuna karanta wannan, tabbas kun san menene DevOps. Domin ba ni ba. Sannu Sunana Shin Alexander Titov (@osminog), kuma za mu yi magana kawai game da DevOps kuma zan raba gwaninta.

Menene DevOps

Na daɗe ina tunanin yadda zan sa labarina ya zama mai amfani, don haka za a yi tambayoyi da yawa a nan - waɗanda nake yi wa kaina da waɗanda na tambayi abokan cinikin kamfaninmu. Ta hanyar amsa waɗannan tambayoyin, fahimta zai zama mafi kyau. Zan gaya muku dalilin da yasa ake buƙatar DevOps daga ra'ayi na, menene, kuma, daga ra'ayi na, da kuma yadda za ku fahimci cewa kuna sake motsawa zuwa DevOps daga ra'ayi na. Batu na ƙarshe zai kasance ta tambayoyi. Ta hanyar amsa su da kanku, zaku iya fahimtar ko kamfanin ku yana motsawa zuwa DevOps ko kuma akwai matsaloli ta wata hanya.


A wani lokaci ina hawa raƙuman ruwa na haɗuwa da saye. Da farko na yi aiki da wata ‘yar karamar kamfani mai suna Qik, sannan wani babban kamfani mai suna Skype ya siya, sai wani kamfani mai suna Microsoft ya siya. A wannan lokacin, na fara ganin yadda ra'ayin DevOps ke canzawa a cikin manyan kamfanoni daban-daban. Bayan haka, na zama mai sha'awar kallon DevOps daga ra'ayi na kasuwa, kuma ni da abokan aiki na kafa kamfanin Express 42. Shekaru 6 yanzu muna tafiya tare da raƙuman ruwa na kasuwa.

Daga cikin wasu abubuwa, ni daya ne daga cikin masu shirya al'ummar DevOps Moscow kuma mai shirya DevOps-Days 2017, amma ban shirya 2018 ba. Express 42 yana aiki tare da kamfanoni da yawa. Muna girma DevOps a wurin, kallon yadda yake faruwa, zana yanke shawara, bincika, gaya wa kowa ƙarshen mu, kuma muna horar da mutane cikin ayyukan DevOps. Gabaɗaya, muna yin iya ƙoƙarinmu don haɓaka ƙwarewarmu da ƙwarewarmu ta wannan fanni.

Me yasa DevOps

Tambayar farko da ke damun kowa da kowa kuma koyaushe ita ce - me yasa? Mutane da yawa suna tunanin cewa DevOps aiki ne kawai ko makamancin haka wanda kowane kamfani ke da shi.

- Muna da Ci gaba da Haɗuwa - wannan yana nufin mun riga mun sami DevOps, kuma me yasa ake buƙatar duk waɗannan kayan? Suna jin daɗi a ƙasashen waje, amma sun hana mu aiki!

Sama da shekaru 9 na ci gaban al'umma da hanyoyin, ya riga ya bayyana cewa har yanzu wannan ba kyalkyali ba ce ta talla, amma har yanzu ba a bayyana cikakken dalilin da ya sa ake bukata ba. Kamar kowane kayan aiki da tsari, DevOps yana da takamaiman manufofin da a ƙarshe ya cimma.

Duk wannan ya faru ne saboda gaskiyar cewa duniya tana canzawa. Yana motsawa daga tsarin kasuwanci, lokacin da kamfanoni ke matsawa kai tsaye zuwa ga mafarki, kamar yadda St. Petersburg classic rera waƙa, daga aya A zuwa aya B bisa ga wani dabarun, tare da wani tsari da aka gina don wannan.

Menene DevOps

A ka'ida, duk abin da ke cikin IT ya kamata a gina shi bisa ga wannan tsarin. Anan ana amfani da IT na musamman don sarrafa ayyuka.

Automation ba ya canzawa sau da yawa, saboda idan kamfani ya faɗi ƙasa mai kyau, menene zai canza? Yana aiki - kar a taɓa shi. Yanzu hanyoyin a duniya suna canzawa, kuma wanda ake kira Agile ya nuna cewa ƙarshen ƙarshen B ba a bayyane nan da nan.

Menene DevOps

Lokacin da kamfani ya shiga kasuwa, yana aiki tare da abokin ciniki, yana bincika kasuwa akai-akai kuma yana canza ƙarshen batu B. Bugu da ƙari, sau da yawa kamfani yana canza alkiblarsa, yana samun nasara a ƙarshe, saboda ya zaɓi ƙarin kasuwa. niches.

Wani kamfani mai ban sha'awa wanda na koya kwanan nan ya nuna dabarun. Akwatin Shave ɗaya sabis ne na isar da biyan kuɗi don reza da na'urorin haɗi a cikin akwati. Sun san yadda ake keɓance “akwatin” su don abokan ciniki daban-daban. Ana yin hakan ne ta hanyar wata software, sannan ta aika oda zuwa masana'antar Koriya da ke samar da samfurin.

Unilever ce ta sayi wannan samfurin akan dala biliyan 1. Yanzu yana gogayya da Gillette kuma ya ɗauke kaso mai yawa na masu amfani a kasuwar Amurka. Akwatin Shave yana cewa:

- 4 guda? Kuna da gaske? Me yasa kuke buƙatar wannan - baya inganta ingancin aske. Keɓaɓɓen kirim ɗin da aka zaɓa na musamman, ƙamshi da reza mai inganci tare da ruwan wukake biyu suna magance matsaloli da yawa fiye da waɗanda wawayen ruwan Gillette 4! Za mu isa zuwa 10 nan da nan?

Wannan shine yadda duniya ke canzawa. Unilever suna da'awar cewa suna da kyakkyawan tsarin IT wanda ke ba ku damar yin wannan. A ƙarshe yana kama da ra'ayi Lokaci zuwa kasuwa, wanda babu wanda ya riga ya yi magana akai.

Menene DevOps

Batun Lokaci zuwa kasuwa ba shine sau nawa muke turawa ba. Kuna iya turawa sau da yawa, amma sake zagayowar za su yi tsayi. Idan zagayowar saki na watanni uku sun mamaye juna, suna canza su da mako guda, ya zama kamar kamfanin yana turawa sau ɗaya a mako. Kuma daga ra'ayin zuwa aiwatarwa na ƙarshe yana ɗaukar watanni 3.

Lokaci zuwa kasuwa shine game da rage lokaci daga ra'ayi zuwa aiwatarwa na ƙarshe.

A wannan yanayin, software yana hulɗa tare da kasuwa. Wannan shine yadda gidan yanar gizo na Akwatin Shave ke hulɗa tare da abokin ciniki. Ba su da masu siyarwa - gidan yanar gizo ne kawai inda baƙi ke dannawa da barin buri. Saboda haka, dole ne a ci gaba da buga wani sabon abu akan rukunin yanar gizon kuma a sabunta shi daidai da buri. Alal misali, a Koriya ta Kudu suna aski daban-daban fiye da na Rasha, kuma suna son ƙanshin pine ba, amma, alal misali, karas da vanilla.

Tunda ya zama dole a canza abun cikin rukunin yanar gizon da sauri, haɓaka software yana canzawa sosai. Ta hanyar software dole ne mu gano abin da abokin ciniki ke so. A baya, mun koyi wannan ta wasu hanyoyin kewayawa, misali, ta hanyar sarrafa kasuwanci. Sa'an nan kuma mun tsara shi, sanya buƙatun a cikin tsarin IT, kuma komai yana da kyau. Yanzu ya sha bamban – software ce ta duk wanda ke da hannu a cikin wannan tsari, ciki har da injiniyoyi, domin ta hanyar fasaha dalla-dalla suna koyon yadda kasuwar ke aiki, kuma suna ba da fahimtarsu da kasuwancin.

Misali, a Qik kwatsam mun sami labarin cewa mutane suna matukar son loda jerin lambobin sadarwa zuwa uwar garken, kuma sun kawo mana aikace-aikace. Da farko ba mu yi tunani akai ba. A cikin wani kamfani na gargajiya, kowa zai yanke shawarar cewa wannan kwaro ne, tunda ƙayyadaddun bai faɗi cewa yakamata yayi aiki mai girma ba kuma ana aiwatar dashi gabaɗaya akan gwiwa, da sun kashe fasalin kuma sun ce: “Babu wanda ke buƙatar wannan, Abu mafi mahimmanci shine babban aikin yana aiki. " . Kuma kamfanin fasahar yana ganin wannan a matsayin wata dama kuma ya fara canza manhajar kamar yadda ya dace.

Menene DevOps

A cikin 1968, wani mutum mai hangen nesa, Melvin Conway, ya tsara wannan ra'ayi.

Ƙungiya mai ƙirƙira tsarin tana da ƙuntatawa ta hanyar ƙira da ke maimaita tsarin sadarwar ƙungiyar.

Dalla-dalla, don samar da tsarin nau'ikan nau'ikan daban-daban, dole ne ku sami tsarin sadarwa a cikin kamfani na nau'ikan daban-daban. Idan tsarin sadarwar ku yana da matsayi na sama, to wannan ba zai ba ku damar ƙirƙirar tsarin da zai iya samar da babban alamar Lokaci-zuwa-Kasuwa ba.

Karanta game da dokar Conway iya ta hanyar hanyoyin sadarwa. Yana da mahimmanci don fahimtar al'adun DevOps ko falsafa saboda Abinda kawai ke canzawa a cikin DevOps shine tsarin sadarwa tsakanin ƙungiyoyi.

Daga ra'ayi na tsari, kafin DevOps, duk matakai: nazari, haɓakawa, gwaji, aiki, sun kasance masu layi.Menene DevOps
A cikin yanayin DevOps, duk waɗannan hanyoyin suna faruwa lokaci guda.

Menene DevOps

Lokaci zuwa kasuwa shine kawai hanyar da za a iya yi. Ga mutanen da suka yi aiki a cikin tsohon tsari, wannan ya dubi ɗan cosmic, kuma gabaɗaya haka-haka.

Don haka me yasa kuke buƙatar DevOps?

Don haɓaka samfuran dijital. Idan kamfanin ku ba shi da samfurin dijital, ba a buƙatar DevOps - yana da mahimmanci.

DevOps ya shawo kan iyakokin saurin samar da software na jeri. A ciki duk matakai suna faruwa a lokaci guda.

Wahala yana ƙaruwa. Lokacin da masu shelar bishara na DevOps suka gaya muku cewa zai sauƙaƙa muku sakin software, wannan shirme ne.

Tare da DevOps, abubuwa za su daɗa rikitarwa kawai.

A taron da ke tsaye a Avito, kuna iya ganin yadda yake kama da tura akwati Docker - aiki maras tabbas. Rikicin ya zama haramun; dole ne ku jujjuya kwallaye da yawa a lokaci guda.

DevOps gaba daya yana canza tsari da tsari a cikin kamfani - ƙari daidai, ba DevOps ke canzawa ba, amma samfurin dijital. Don zuwa DevOps, har yanzu kuna buƙatar canza wannan tsari gaba ɗaya.

Tambayoyi ga kwararre

Me kuke da shi? Tambayoyin da za ku iya yi wa kanku yayin aiki a cikin kamfani da haɓakawa a matsayin ƙwararru.

Kuna da dabara don ƙirƙirar samfur na dijital? Idan akwai, wannan ya riga ya yi kyau. Wannan yana nufin kamfanin ku yana motsawa zuwa DevOps.

Shin kamfanin ku ya riga ya ƙirƙira samfurin dijital? Wannan yana nufin cewa zaku iya haɓaka wani matakin sama kuma kuyi abubuwa da ban sha'awa - kuma daga ra'ayi na DevOps. Ina magana ne kawai daga wannan ra'ayi.

Shin kamfanin ku yana ɗaya daga cikin shugabannin kasuwa a cikin keɓaɓɓen samfurin dijital? Spotify, Yandex, Uber kamfanoni ne da ke kan kololuwar ci gaban fasaha a yanzu.

Ka tambayi kanka waɗannan tambayoyin, kuma idan duk amsoshin ba a'a ba ne, to watakila bai kamata ka yi DevOps a wannan kamfani ba. Idan batun DevOps yana da ban sha'awa sosai a gare ku, watakila ... ya kamata ku matsa zuwa wani kamfani? Idan kamfanin ku yana so ya shiga cikin DevOps, amma kun amsa "A'a" ga duk tambayoyin, to yana kama da kyawawan rhinoceros waɗanda ba za su taɓa canzawa ba.

Menene DevOps

kungiyar

Kamar yadda na ce, bisa ga Dokar Conway, ƙungiyar kamfani tana canzawa. Zan fara da abin da ke hana DevOps shiga cikin kamfani daga ra'ayi na ƙungiya.

Matsalar "rijiya"

An fassara kalmar Ingilishi "Silo" a nan zuwa Rashanci a matsayin "lafiya". Manufar wannan matsala ita ce babu musayar bayanai tsakanin ƙungiyoyin. Kowace ƙungiya tana zurfafa zurfin ƙwarewarta, ba tare da gina taswirar gama gari don kewayawa ba.

A wasu hanyoyi wannan yana tunatar da ni game da mutumin da ya riga ya isa Moscow kuma har yanzu bai san yadda ake kewaya taswirar metro ba. Muscovites yawanci sun san yankin su sosai, kuma a duk faɗin Moscow suna iya kewayawa ta amfani da taswirar metro. Lokacin da kuka zo Moscow a karon farko, ba ku da wannan fasaha, kuma kuna da damuwa kawai.

DevOps yana ba da shawarar samun cikin wannan lokacin na rashin fahimtar juna da duk sassan da ke aiki tare don gina taswirar mu'amala ɗaya.

Abubuwa biyu ne ke kawo cikas ga hakan.

Sakamakon tsarin gudanarwa na kamfanoni. An gina shi a cikin “rijiyoyi” daban-daban. Misali, akwai wasu KPI a cikin kamfanonin da ke goyan bayan wannan tsarin. A gefe guda kuma, kwakwalwar mutumin da ke da wahala ya wuce iyakokin gwaninta da kewaya tsarin gaba ɗaya ya shiga hanya. Ba dadi kawai. Yi tunanin cewa kuna filin jirgin saman Bangkok - ba za ku sami hanyar ku da sauri ba. Hakanan DevOps yana da wahalar kewayawa, kuma shi ya sa mutane ke cewa kuna buƙatar nemo jagora don isa wurin.

Amma abu mafi mahimmanci shi ne cewa matsalar "rijiyoyi" ga injiniyan da ke cike da ruhun DevOps, ya karanta Fowler da gungun wasu littattafai, an bayyana a cikin gaskiyar cewa. "rijiyoyi" ba sa ba ku damar yin abubuwa "bayyane".. Sau da yawa muna taruwa bayan DevOps Moscow, muna magana da juna, kuma mutane suna korafi:

- Mun kawai so mu ƙaddamar da CI, amma ya zama cewa gudanarwa ba ta buƙatar shi.

Wannan yana faruwa daidai saboda CI и Tsarin Isar da Ci gaba suna kan iyakar gwaje-gwaje da yawa. Kawai ba tare da shawo kan matsalar "rijiyoyi" a matakin kungiya ba, ba za ku iya ci gaba ba, komai abin da kuke yi kuma komai bakin ciki.

Menene DevOps

Kowane ɗan takara a cikin tsari a cikin kamfanin: backend da frontend developers, gwaji, DBA, aiki, cibiyar sadarwa, tono a cikin nasa shugabanci, kuma babu wanda yana da na kowa taswira sai dai manajan, wanda ko ta yaya bitar su da sarrafa su ta amfani da "rabo" kuma nasara” hanya.

Mutane suna gwagwarmaya don wasu taurari ko tutoci, kowa yana tono gwanintarsa.

A sakamakon haka, lokacin da aikin ya taso na haɗa wannan duka tare da gina bututun guda ɗaya, kuma babu buƙatar yin yaƙi don taurari da tutoci, tambaya ta taso - menene ya kamata mu yi? Muna bukatar mu yi yarjejeniya ko ta yaya, amma ba wanda ya koya mana yadda ake yin haka a makaranta. Tun daga makaranta ake koyar da mu: aji takwas - wow! - idan aka kwatanta da aji na bakwai! Haka yake a nan.

Haka yake a kamfanin ku?

Don duba wannan, zaku iya yiwa kanku tambayoyi masu zuwa.

Shin ƙungiyoyi suna amfani da kayan aikin gama gari kuma suna ba da gudummawa ga canje-canje ga waɗannan kayan aikin gama gari?

Sau nawa ƙungiyoyi suke sake tsarawa-wasu ƙwararrun ƙwararru daga wannan ƙungiya suna ƙaura zuwa wata ƙungiya? A cikin yanayin DevOps ne wannan ya zama al'ada, saboda wani lokacin mutum ba zai iya fahimtar abin da wani yanki na gwaninta ke yi ba. Ya koma wani sashe, yana aiki na tsawon makonni biyu don ƙirƙirar wa kansa taswirar daidaitawa da hulɗa da wannan sashin.

Shin zai yiwu a kafa kwamitin canji a canza abubuwa? Ko yana buƙatar hannu mai ƙarfi na mafi girman gudanarwa da shugabanci? Kwanan nan na rubuta a kan Facebook yadda wani banki da ba a san shi ba ke aiwatar da kayan aiki ta hanyar umarni: muna rubuta oda, muna aiwatar da shi har tsawon shekara guda, kuma ga abin da ya faru. Wannan, ba shakka, yana da tsawo da baƙin ciki.

Yaya mahimmanci ga manajoji su sami nasarori na sirri ba tare da la'akari da nasarorin da kamfani ya samu ba?

Idan kun amsa waɗannan tambayoyin da kanku, zai bayyana ko kuna da irin wannan matsala a cikin kamfanin ku.

Kayayyakin aiki azaman code

Bayan an wuce wannan matsala, aikin farko mai mahimmanci, wanda ba tare da wanda yake da wuya a ci gaba ba a cikin DevOps, shine kayayyakin more rayuwa a matsayin code.

Mafi sau da yawa, kayayyakin more rayuwa a matsayin code ana gane kamar haka:

- Bari mu sarrafa komai a cikin bash, mu rufe kanmu da rubutun don admins su sami ƙarancin aikin hannu!

Amma wannan ba gaskiya ba ne.

Kayayyakin gine-gine a matsayin lamba yana nufin ka bayyana tsarin IT da kake aiki da shi ta hanyar lamba don fahimtar yanayinsa koyaushe.

Tare da wasu ƙungiyoyi, kuna ƙirƙirar taswira a cikin nau'in lamba wanda kowa zai iya fahimta kuma zai iya kewayawa da kewayawa. Ba kome abin da aka yi a kan - Chef, Mai yiwuwa, Gishiri, ko amfani da fayilolin YAML a cikin Kubernetes - babu bambanci.

A taron, wani abokin aiki daga 2GIS ya gaya yadda suka yi nasu abu na ciki don Kubernetes, wanda ya bayyana tsarin tsarin mutum. Don kwatanta tsarin 500, suna buƙatar kayan aiki daban wanda ke haifar da wannan bayanin. Lokacin da akwai wannan bayanin, kowa zai iya bincika juna, duba canje-canje, yadda za a canza shi da inganta shi, abin da ya ɓace.

Yarda, rubutun bash ɗaya ɗaya yawanci ba sa samar da wannan fahimtar. A cikin ɗaya daga cikin kamfanonin da na yi aiki, akwai ma sunan rubutun "rubuta kawai" - lokacin da aka rubuta rubutun, amma ba zai yiwu a karanta shi ba. Ina tsammanin wannan ma ya san ku.

Kayan aiki kamar yadda code yake lambar da ke bayyana halin yanzu na abubuwan more rayuwa. Yawancin samfura, abubuwan more rayuwa, da ƙungiyoyin sabis suna aiki tare akan wannan lambar, kuma mafi mahimmanci, duk suna buƙatar fahimtar yadda wannan lambar ke aiki a zahiri.

Ana kiyaye lambar bisa ga mafi kyawun ayyukan code: haɓaka haɗin gwiwa, sake dubawa na lamba, shirye-shiryen XP, gwaji, buƙatun ja, CI don kayan aikin code - duk wannan ya dace kuma ana iya amfani dashi.

Lambar ya zama yare gama gari ga duk injiniyoyi.

Canza kayayyakin more rayuwa a lamba baya ɗaukar lokaci mai yawa. Ee, lambar kayan aikin kuma na iya samun bashin fasaha. Yawancin lokaci ƙungiyoyi suna saduwa da shi shekara guda da rabi bayan sun fara aiwatar da "kayan aiki a matsayin code" a cikin nau'i na nau'i na rubutun ko ma Mai yiwuwa, wanda suke rubutawa kamar lambar spaghetti, kuma suna jefa bash scripts a cikin mahaɗin!

Muhimmanci: Idan ba ku gwada wannan kayan ba tukuna, tuna cewa Mai yiwuwa ba bash ba ne! Karanta takardun a hankali, nazarin abin da suka rubuta game da shi.

Kamfanonin ababen more rayuwa a matsayin lamba shine rarrabuwar lambar ababen more rayuwa zuwa yadudduka daban-daban.

A cikin kamfaninmu, mun bambanta nau'i-nau'i na asali 3, waɗanda suke da haske da sauƙi, amma ana iya samun ƙarin su. Kuna iya duba lambar kayan aikin ku kuma gaya ko kuna da wannan yanayin ko a'a. Idan babu yadudduka da aka haskaka, to kana bukatar ka dauki wani lokaci da kuma refactor kadan.
Menene DevOps

tushe Layer - wannan shine yadda aka tsara OS, backups da sauran ƙananan matakan, misali, yadda ake tura Kubernetes a matakin asali.

Matsayin sabis - Waɗannan su ne ayyukan da kuke bayarwa ga mai haɓakawa: shiga azaman sabis, saka idanu azaman sabis, bayanai azaman sabis, daidaitawa azaman sabis, jerin gwano azaman sabis, Ci gaba da Bayarwa azaman sabis - gungun sabis waɗanda ƙungiyoyin ɗaya ɗaya zasu haɗu. zai iya samar da ci gaba. Wannan duk yana buƙatar bayaninsa a cikin keɓantattun kayayyaki a cikin tsarin sarrafa sanyinku.

Layer inda ake yin aikace-aikace kuma ya bayyana yadda za su bayyana a saman yadudduka biyu da suka gabata.

Sarrafa tambayoyi

Shin kamfanin ku yana da ma'ajiyar kayayyakin more rayuwa gama gari? Shin kuna sarrafa bashin fasaha a cikin kayan aikin ku? Kuna amfani da ayyukan ci gaba a cikin ma'ajiyar kayayyakin more rayuwa? An yanki kayan aikin ku zuwa yadudduka? Kuna iya duba zane-zane na Base-service-APP. Yaya wuya a yi canji?

Idan kun fuskanci cewa ya ɗauki kwana ɗaya da rabi don yin canje-canje, wannan yana nufin cewa kuna da bashin fasaha kuma kuna buƙatar yin aiki tare da shi. Kun dai yi tuntuɓe kan rake na fasaha a lambar kayan aikin ku. Na tuna da yawa irin waɗannan labarun lokacin da, don canza wasu CCTL, kuna buƙatar sake rubuta rabin lambar kayan aikin, saboda kerawa da sha'awar sarrafa duk abin da ya haifar da gaskiyar cewa komai ya lalace a ko'ina, an cire duk hannayen hannu, kuma wajibi ne a sake gyarawa.

Ci gaba da Bayarwa

Bari mu kwatanta zare kudi da kiredit. Na farko ya zo bayanin abubuwan more rayuwa, wanda zai iya zama ainihin asali. Ba lallai ne ku bayyana komai dalla-dalla ba, amma ana buƙatar wasu bayanan asali don ku iya aiki da shi. In ba haka ba, ba a bayyana abin da za a yi tare da ci gaba da bayarwa na gaba ba. Duk waɗannan ayyukan suna buɗewa lokaci guda lokacin da kuka zo DevOps, amma yana farawa da fahimtar abin da kuke da shi da yadda ake sarrafa shi. Wannan shine ainihin aikin ababen more rayuwa a matsayin lamba.

Da zarar ya bayyana cewa kana da shi da kuma yadda ake sarrafa shi, za ka fara gano yadda ake aika lambar haɓakawa zuwa samarwa da sauri. Ina nufin tare da developer - mun tuna game da matsalar "rijiyoyi", wato, ba mutane da yawa suka zo tare da wannan, amma wata tawagar.

Lokacin muna tare Vanya Evtukhovich ya ga littafin farko Jez Humble da kungiyoyin marubuta "Ci gaba da Bayarwa", wanda aka saki a 2009, mun dade muna tunanin yadda za a fassara take zuwa Rashanci. Suna so su fassara shi a matsayin "Sadar da Koyaushe", amma, da rashin alheri, an fassara shi da "Ci gaba da bayarwa". Da alama a gare ni akwai wani abu na Rasha a cikin sunanmu, tare da matsi.

Isarwa akai-akai yana nufin

Ana iya sauke lambar da ke cikin ma'ajiyar samfur koyaushe zuwa samarwa. Maiyuwa ba za a yi masa rauni ba, amma koyaushe yana shirye don hakan. Saboda haka, koyaushe kuna rubuta lamba tare da wuyar bayyanawa na wasu damuwa a ƙarƙashin kashin wut ɗinku. Yakan bayyana lokacin da kuka fitar da lambar ababen more rayuwa. Wannan jin na wasu damuwa yakamata ya kasance - yana haifar da tsarin kwakwalwa wanda ke ba ku damar rubuta lamba kaɗan daban. Wannan ya kamata a rubuta shi a cikin dokoki a cikin ci gaba.

Don isarwa akai-akai, kuna buƙatar tsari na kayan tarihi wanda ke gudana akan dandamalin abubuwan more rayuwa. Idan kun jefa "sharar rayuwa" na nau'i daban-daban a fadin tsarin samar da kayan aiki, to, ya zama haɗin kai, yana da wuya a kula da shi, kuma matsalar bashi na fasaha ya taso. Tsarin kayan aikin yana buƙatar daidaitawa - wannan kuma aiki ne na gamayya: dukkanmu muna buƙatar haɗuwa, mu yi wa kwakwalwarmu tsatsa, mu fito da wannan tsari.

Ana ci gaba da inganta kayan tarihi kuma yana canzawa don dacewa da yanayin samarwa yayin da yake tafiya ta cikin bututun isar da sako. Lokacin da wani kayan tarihi ke tafiya tare da bututun, koyaushe yana ci karo da wasu abubuwan da ba su dace da shi ba, waɗanda suke kama da abin da kayan aikin da kuka sa a cikin kera suka ci karo da su. Idan a cikin ci gaban al'ada ana yin wannan ta hanyar mai kula da tsarin wanda ke yin jujjuyawar, to a cikin tsarin DevOps wannan yana faruwa koyaushe: anan sun gwada shi tare da wasu gwaje-gwaje, anan sun jefa shi cikin gungu na Kubernetes, wanda yafi kama da haka. zuwa samarwa, sannan ba zato ba tsammani suka fara gwajin lodi.

Wannan yana ɗan tunowa game da wasan Pac-Man - kayan aikin ya shiga cikin wani nau'in labari. A lokaci guda, yana da mahimmanci a sarrafa ko lambar ta shiga cikin labarin kuma ko yana da alaƙa da samarwa ku. Za a iya jawo labaru daga samarwa zuwa tsarin Isar da Ci gaba: kamar haka ne lokacin da wani abu ya fadi, yanzu bari mu tsara wannan yanayin a cikin tsarin. Duk lokacin da lambar za ta bi ta wannan yanayin kuma, kuma ba za ku fuskanci wannan matsalar lokaci na gaba ba. Za ku koyi game da shi da wuri fiye da yadda ya isa ga abokin cinikin ku.

Dabarun turawa daban-daban. Misali, kuna amfani da gwajin AB ko turawa canary don gwada lambar ta bambanta akan abokan ciniki daban-daban, samun bayanai game da yadda lambar ke aiki, da yawa kafin lokacin da aka fitar da ita ga masu amfani miliyan 100.

"Sadarwa akai-akai" yayi kama da wannan.

Menene DevOps

Tsarin isar da saƙon Dev, CI, Test, PreProd, Prod ba mahalli ne daban ba, waɗannan matakai ne ko tashoshi tare da adadin hana wuta wanda kayan aikin ku ke wucewa.

Idan kuna da lambar kayan aikin da aka bayyana azaman Base Service APP to yana taimakawa kar a manta da duk rubutun, kuma ku rubuta su azaman code don wannan kayan tarihi, inganta kayan tarihi kuma canza shi yayin da kuke tafiya.

Tambayoyin gwada kai

Lokacin daga bayanin fasalin don fitarwa zuwa samarwa a cikin 95% na lokuta bai wuce mako guda ba? Shin ingancin kayan aikin ya inganta a kowane mataki na bututun? Akwai labarin da ya shiga? Kuna amfani da dabarun turawa daban-daban?

Idan duk amsoshin eh, to kun yi sanyi sosai! Rubuta amsoshin ku a cikin sharhi - Zan yi farin ciki).

Feedback

Wannan ita ce al'ada mafi wahala duka. A taron DevOpsConf, abokin aiki daga Infobip, yana magana game da shi, ya ɗan rikice cikin kalmominsa, saboda wannan hakika aiki ne mai rikitarwa game da gaskiyar cewa kuna buƙatar saka idanu akan komai!

Menene DevOps

Alal misali, lokaci mai tsawo da ya wuce, lokacin da na yi aiki a Qik kuma mun gane cewa muna buƙatar saka idanu akan komai. Mun yi wannan, kuma a yanzu muna da abubuwa 150 a Zabbix, waɗanda ake sa ido akai-akai. Abin ban tsoro ne, darektan fasaha ya murɗe yatsansa a haikalinsa:

- Jama'a, me yasa kuke yiwa uwar garken fyade da wani abu da ba a sani ba?

Amma sai wani lamari ya faru wanda ya nuna cewa wannan dabara ce mai kyau sosai.

Ɗayan sabis ɗin ya fara faɗuwa akai-akai. Da farko, bai fado ba, wanda ke da ban sha'awa, ba a ƙara lambar a can ba, saboda dillali ne na asali, wanda kusan babu aikin kasuwanci - kawai ya aika saƙonni tsakanin sabis na mutum. Sabis ɗin bai canza ba har tsawon watanni 4, kuma ba zato ba tsammani ya fara faɗuwa tare da kuskuren "Segmentation fault".

Mun yi mamaki, mun buɗe ginshiƙi a cikin Zabbix, kuma ya zama cewa mako guda da rabi da suka wuce, halayen buƙatun a cikin sabis na API da wannan dillali ke amfani da shi ya canza sosai. Daga nan sai muka ga yawan aika wani nau’in sako ya canza. Daga baya mun gano cewa waɗannan abokan cinikin android ne. Mun tambayi:

— Samari, me ya faru da ku mako daya da rabi da ya wuce?

A cikin martani, mun ji labari mai ban sha'awa game da yadda suka sake fasalin UI. Yana da wuya wani ya ce nan da nan ya canza ɗakin karatu na HTTP. Ga abokan cinikin Android, yana kama da canza sabulu a gidan wanka - ba sa tunawa. A sakamakon haka, bayan minti 40 muna tattaunawa, mun gano cewa sun canza ɗakin karatu na HTTP, kuma lokacin da aka saba da shi ya canza. Wannan ya haifar da yanayin zirga-zirgar ababen hawa a kan uwar garken API, wanda ya haifar da yanayin da ya haifar da tsere a cikin dillalin, kuma ya fara rushewa.

Ba tare da zurfin sa ido ba gaba ɗaya ba zai yiwu a buɗe wannan ba. Idan har yanzu kungiyar tana da matsalar "rijiyoyi", lokacin da kowa ya jefa kuɗi a juna, wannan zai iya rayuwa har tsawon shekaru. Kuna sake kunna uwar garken kawai saboda ba shi yiwuwa a magance matsalar. Lokacin da kuka saka idanu, waƙa, bin duk abubuwan da kuke da su, kuma kuyi amfani da saka idanu azaman gwaji - rubuta lamba kuma nan da nan nuna yadda ake saka idanu akan shi, shima a cikin nau'in lamba (mun riga mun sami abubuwan more rayuwa azaman lambar), komai ya bayyana yadda yakamata. a tafin hannu. Ko da irin waɗannan matsaloli masu sarƙaƙiya ana samun sauƙin bibiya.

Menene DevOps

Tattara duk bayanai game da abin da ke faruwa da kayan tarihi a kowane mataki na tsarin bayarwa - ba a cikin samarwa ba.

Loda saka idanu zuwa CI, kuma wasu abubuwa na asali za su kasance a bayyane a can. Daga baya za ku gan su a cikin Test, PredProd, da gwajin kaya. Tattara bayanai a duk matakai, ba kawai ma'auni, ƙididdiga ba, amma har ma rajistan ayyukan: yadda aikace-aikacen ya yi birgima, abubuwan ban mamaki - tattara komai.

In ba haka ba zai yi wuya a gane shi. Na riga na faɗi cewa DevOps ya fi rikitarwa. Don jimre wa wannan rikitarwa, kuna buƙatar yin nazari na yau da kullun.

Tambayoyi don kamun kai

Shin saka idanu da shigar da kayan aikin ci gaba a gare ku? Lokacin rubuta lambar, shin masu haɓaka ku, gami da ku, suna tunanin yadda ake saka idanu da shi?

Kuna jin matsaloli daga abokan ciniki? Kuna fahimtar abokin ciniki mafi kyau daga saka idanu da shiga? Shin kun fahimci tsarin da kyau daga saka idanu da shiga? Shin kuna canza tsarin ne kawai saboda kun ga cewa yanayin tsarin yana haɓaka kuma kun fahimci cewa a cikin wasu makonni 3 komai zai mutu?

Da zarar kun sami waɗannan abubuwan guda uku, zaku iya tunanin wane nau'in dandamali na kayan aikin da kuke da shi a cikin kamfanin ku.

Dandalin kayan more rayuwa

Batun ba shine saitin kayan aikin da ya bambanta da kowane kamfani ke da shi ba.

Manufar dandalin samar da ababen more rayuwa shine cewa duk ƙungiyoyi suna amfani da waɗannan kayan aikin kuma suna haɓaka su tare.

A bayyane yake cewa akwai ƙungiyoyi daban-daban waɗanda ke da alhakin haɓaka kowane yanki na dandamalin abubuwan more rayuwa. Amma a lokaci guda, kowane injiniya yana ɗaukar alhakin haɓakawa, aiki, da haɓaka dandamalin abubuwan more rayuwa. A matakin ciki ya zama kayan aiki na kowa.

Duk ƙungiyoyi suna haɓaka dandamalin abubuwan more rayuwa kuma suna kula da shi da kulawa azaman IDE nasu. A cikin IDE ɗin ku kuna shigar da plugins daban-daban don yin komai mai kyau da sauri, da daidaita maɓallan zafi. Lokacin da ka buɗe Sublime, Atom ko Visual Studio Code, kurakurai na lamba suna ta shiga kuma ka gane cewa ba shi yiwuwa a yi aiki kwata-kwata, nan da nan za ka ji baƙin ciki kuma ka gudu don gyara IDE naka.

Bi da dandalin samar da ababen more rayuwa irin wannan. Idan kun fahimci cewa akwai wani abu ba daidai ba tare da shi, ku bar buƙatun idan ba za ku iya gyara shi da kanku ba. Idan akwai wani abu mai sauƙi, gyara shi da kanku, aika buƙatun ja, mutanen za su yi la'akari da shi kuma su ƙara shi. Wannan wata hanya ce ta ɗan bambanta ga kayan aikin injiniya a kan mai haɓakawa.

Dandalin kayan aiki yana tabbatar da canja wurin kayan tarihi daga ci gaba zuwa abokin ciniki tare da ci gaba da ingantawa a cikin inganci. An tsara IP ɗin tare da saitin labaran da ke faruwa ga lambar a samarwa. A cikin shekarun ci gaba, akwai da yawa daga cikin waɗannan labarun, wasu daga cikinsu na musamman ne kuma suna da alaƙa da ku kawai - ba za a iya Googled ba.

A wannan gaba, dandalin samar da ababen more rayuwa ya zama fa'idar gasa ku, domin yana da wani abu da aka gina a cikinsa wanda ba ya cikin kayan fafatawa. Zurfafawar IP ɗinku, mafi girman fa'idar ku dangane da Lokaci-zuwa kasuwa. Ya bayyana a nan matsalar kulle mai siyarwa: Kuna iya ɗaukar dandalin wani, amma ta amfani da kwarewar wani, ba za ku fahimci yadda ya dace da ku ba. Ee, ba kowane kamfani bane zai iya gina dandamali kamar Amazon. Wannan layi ne mai wuyar gaske inda ƙwarewar kamfanin ya dace da matsayinsa a kasuwa, kuma ba za ku iya amfani da kulle mai sayarwa a can ba. Wannan kuma yana da mahimmanci a yi tunani akai.

Makircin

Wannan zane ne na asali na dandalin samar da ababen more rayuwa wanda zai taimaka muku saita duk ayyuka da matakai a cikin kamfanin DevOps.

Menene DevOps

Mu duba abin da ya kunsa.

Tsarin kade kayan albarkatu, wanda ke ba da CPU, ƙwaƙwalwar ajiya, faifai zuwa aikace-aikace da sauran ayyuka. A saman wannan - ƙananan ayyuka: saka idanu, shiga, Injin CI/CD, ajiyar kayan tarihi, abubuwan more rayuwa kamar lambar tsarin.

Ayyuka mafi girma: database azaman sabis, jerin gwano azaman sabis, Load Balance azaman sabis, girman hoto azaman sabis, Babban masana'antar bayanai azaman sabis. A saman wannan - bututun da ke ba da lambar da aka canza akai-akai ga abokin cinikin ku.

Kuna karɓar bayani game da yadda software ɗinku ke aiki ga abokin ciniki, canza shi, sake ba da wannan lambar, karɓar bayanai - don haka koyaushe kuna haɓaka dandamalin abubuwan more rayuwa da software ɗin ku.

A cikin zane, bututun isarwa ya ƙunshi matakai da yawa. Amma wannan zane-zane ne wanda aka bayar a matsayin misali - babu buƙatar maimaita shi ɗaya bayan ɗaya. Matakai suna hulɗa tare da ayyuka kamar dai sabis ne-kowane tubali na dandamali yana ɗaukar labarinsa: yadda ake kasafta albarkatun, yadda aka ƙaddamar da aikace-aikacen, aiki tare da albarkatu, ana sa ido, da canje-canje.

Yana da mahimmanci a fahimci cewa kowane bangare na dandalin yana ɗauke da labari, kuma ku tambayi kanku wane labari ne wannan bulo yake ɗauka, watakila a jefar da shi a maye gurbinsa da sabis na ɓangare na uku. Misali, shin zai yiwu a sanya Okmeter maimakon tubali? Wataƙila mutanen sun riga sun haɓaka wannan ƙwarewar fiye da yadda muke da su. Amma watakila ba - watakila muna da ƙwarewa na musamman, muna buƙatar shigar da Prometheus kuma mu haɓaka shi gaba.

Ƙirƙirar dandalin

Wannan tsari ne mai rikitarwa. Lokacin da kuke da ayyuka na asali, kun fara sadarwa tsakanin injiniyoyi daban-daban da ƙwararrun waɗanda ke haɓaka buƙatu da ƙa'idodi, kuma koyaushe suna canza su zuwa kayan aiki da hanyoyin daban-daban. Al'adun da muke da su a cikin DevOps suna da mahimmanci a nan.

Menene DevOps
Tare da al'ada komai abu ne mai sauqi qwarai - game da haɗin gwiwa da sadarwa ne, wato, sha'awar yin aiki a fagen gama gari da juna, sha'awar yin amfani da kayan aiki ɗaya tare. Babu kimiyyar roka a nan - komai abu ne mai sauqi qwarai, banal. Alal misali, dukanmu muna zaune a ƙofar kuma muna kiyaye ta da tsabta - irin wannan matakin al'ada.

Me kuke da shi?

Bugu da ƙari, tambayoyi za ku iya yi wa kanku.

An sadaukar da dandalin samar da ababen more rayuwa? Wanene ke da alhakin ci gabanta? Shin kun fahimci fa'idodin gasa na dandalin samar da ababen more rayuwa?

Kuna buƙatar yin wa kanku waɗannan tambayoyin akai-akai. Idan za a iya canja wurin wani abu zuwa sabis na ɓangare na uku, ya kamata a canza shi; idan sabis na ɓangare na uku ya fara toshe motsinku, to kuna buƙatar gina tsarin a cikin kanku.

Don haka, DevOps ...

... wannan tsari ne mai rikitarwa, dole ne ya kasance yana da:

  • Samfurin dijital.
  • Samfuran kasuwanci waɗanda ke haɓaka wannan samfurin dijital.
  • Ƙungiyoyin samfur waɗanda ke rubuta lamba.
  • Ci gaba da ayyukan isarwa.
  • Dandali azaman sabis.
  • Kayayyakin aiki azaman sabis.
  • Kayayyakin aiki azaman code.
  • Ayyuka daban-daban don kiyaye aminci, an gina su cikin DevOps.
  • Ayyukan amsawa wanda ke bayyana shi duka.

Menene DevOps

Kuna iya amfani da wannan zane, kuna nuna abin da kuke da shi a cikin kamfanin ku ta wani nau'i: ya haɓaka ko har yanzu yana buƙatar haɓakawa.

Zai ƙare nan da makonni biyu DevOpsConf 2019. a matsayin wani ɓangare na RIT++. Ku zo taron, inda za ku sami rahotanni masu sanyi da yawa game da ci gaba da bayarwa, abubuwan more rayuwa kamar lambar da canjin DevOps. Yi ajiyar tikitinku, ƙarshe farashin ƙarshe shine Mayu 20

source: www.habr.com

Add a comment