Ntchito zamasiye: kutsika kwa (micro) service zomangamanga
Director of Operations of portal Banki.ru Andrey Nikolsky analankhula pamsonkhano wa chaka chatha DevOpsDays Moscow za ntchito za ana amasiye: momwe mungazindikirire ana amasiye m'malo ogwirira ntchito, chifukwa chiyani ntchito za ana amasiye sizikuyenda bwino, zoyenera kuchita nazo, komanso zotani ngati palibe chithandizo.
Pansi pa odulidwawo pali malemba a lipoti.
Moni anzanu! Dzina langa ndine Andrey, ndimayang'anira ntchito ku Banki.ru.
Tili ndi mautumiki akuluakulu, awa ndi mautumiki a monolithic, pali mautumiki mumtundu wapamwamba kwambiri, ndipo pali ochepa kwambiri. M'mawu anga ogwira ntchito, ndikunena kuti ngati ntchito ndi yosavuta komanso yaying'ono, ndiye kuti ndi yaying'ono, ndipo ngati siili yophweka komanso yaying'ono, ndiye kuti ndi ntchito chabe.
Ubwino wa ntchito
Ndidzadutsa mwamsanga ubwino wa mautumiki.
Choyamba ndikukulitsa. Mutha kuchitapo kanthu mwachangu pautumiki ndikuyamba kupanga. Mwalandira magalimoto, mwapanga ntchitoyo. Muli ndi magalimoto ambiri, mwawapanga ndikukhala nawo. Iyi ndi bonasi yabwino, ndipo, kwenikweni, pamene tidayamba, idatengedwa kuti ndiyofunika kwambiri kwa ife, chifukwa chiyani tikuchita zonsezi.
Kachiwiri, chitukuko chapadera, mukakhala ndi magulu angapo achitukuko, opanga angapo osiyanasiyana mu gulu lililonse, ndipo gulu lililonse limapanga ntchito yakeyake.
Ndi magulu pali nuance. Madivelopa ndi osiyana. Ndipo pali, mwachitsanzo, anthu a snowflake. Ndinawona izi poyamba ndi Maxim Dorofeev. Nthawi zina anthu a chipale chofewa amakhala m'magulu ena osati pa ena. Izi zimapangitsa kuti mautumiki osiyanasiyana omwe amagwiritsidwa ntchito pakampaniyo akhale osagwirizana.
Yang'anani chithunzichi: uyu ndi wokonza bwino, ali ndi manja akuluakulu, amatha kuchita zambiri. Vuto lalikulu ndi komwe manja awa amachokera.
Ntchito zimathandizira kugwiritsa ntchito zilankhulo zosiyanasiyana zamapulogalamu zomwe zili zoyenera kuchita ntchito zosiyanasiyana. Ntchito zina zili mu Go, zina zili ku Erlang, zina zili ku Ruby, zina zili mu PHP, zina zili mu Python. M'malo mwake, mutha kuwonjezera zambiri. Palinso ma nuances apa.
Zomangamanga zoyendetsedwa ndi ntchito zimangokhudza ma devops. Ndiye kuti, ngati mulibe makina, palibe njira yotumizira, ngati muyikonza pamanja, masinthidwe anu amatha kusintha kuchokera pautumiki kupita ku mwachitsanzo, ndipo muyenera kupita kumeneko kukachita zinazake, ndiye kuti muli ku gehena.
Mwachitsanzo, muli ndi mautumiki 20 ndipo muyenera kutumiza ndi manja, muli ndi zotonthoza 20, ndipo nthawi yomweyo mumakanikiza "kulowetsa" ngati ninja. Si zabwino kwambiri.
Ngati muli ndi ntchito pambuyo poyesedwa (ngati pali kuyesedwa, ndithudi), ndipo mukufunikirabe kumaliza ndi fayilo kuti igwire ntchito popanga, ndimakhalanso ndi nkhani zoipa kwa inu.
Ngati mudalira mautumiki apadera a Amazon ndikugwira ntchito ku Russia, ndiye kuti miyezi iwiri yapitayo munalinso "Chilichonse chozungulira chili pamoto, ndili bwino, zonse zili bwino."
Sindidzaika mwatsatanetsatane izi, chifukwa lipotili likunena zambiri za machitidwe oyanjana, osati za kukhazikitsidwa kwaukadaulo.
Mwachitsanzo, takhala ndi mavuto pomwe Chidole pa seva chimagwira ntchito ndi Ruby 2, koma ntchito ina imalembedwa kwa Ruby 1.8, ndipo sagwira ntchito pamodzi. Chinachake chalakwika pamenepo. Ndipo mukafuna kuyendetsa mitundu ingapo ya Ruby pamakina amodzi, nthawi zambiri mumayamba kukhala ndi mavuto.
Mwachitsanzo, timapatsa aliyense wopanga nsanja pomwe pali pafupifupi chilichonse chomwe tili nacho, mautumiki onse omwe angapangidwe, kuti akhale ndi malo akutali, atha kuswa ndikumanga momwe akufunira.
Zimachitika kuti mumafunikira phukusi lopangidwa mwapadera lothandizira china chake pamenepo. Ndizovuta. Ndinamvera lipoti pomwe chithunzi cha Docker chimalemera 45 GB. Mu Linux, ndithudi, ndizosavuta, chirichonse chiri chochepa pamenepo, komabe, sipadzakhala malo okwanira.
Chabwino, pali zodalira zotsutsana, pamene chidutswa chimodzi cha polojekiti chimadalira laibulale ya mtundu umodzi, gawo lina la polojekitiyo limadalira mtundu wina, ndipo malaibulale sakuikidwa palimodzi.
Tili ndi masamba ndi mautumiki mu PHP 5.6, timachita manyazi nawo, koma tingachite chiyani? Iyi ndi tsamba lathu limodzi. Pali masamba ndi ntchito pa PHP 7, pali zambiri, sitichita manyazi nazo. Ndipo wopanga aliyense ali ndi maziko ake pomwe amawona mosangalala.
Ngati mulemba mu kampani m'chinenero chimodzi, ndiye kuti makina atatu omwe ali ndi makina onse amamveka ngati abwino. Ngati muli ndi zilankhulo zosiyanasiyana zamapulogalamu, ndiye kuti zinthu zikuipiraipira.
Muli ndi masamba ndi ntchito pa izi, pa izi, kenako tsamba lina la Go, tsamba limodzi la Ruby, ndi ma Redis ena kumbali. Zotsatira zake, zonsezi zimasanduka munda waukulu wothandizira, ndipo nthawi zonse zina zimatha kusweka.
Choncho, tinasintha ubwino wa chinenero cha mapulogalamu ndi kugwiritsa ntchito machitidwe osiyanasiyana, popeza mapangidwe a PHP ndi osiyana kwambiri, ali ndi mphamvu zosiyana, madera osiyanasiyana, ndi chithandizo chosiyana. Ndipo mukhoza kulemba utumiki kuti inu muli kale chinachake chokonzekera izo.
Utumiki uliwonse uli ndi gulu lake
Ubwino wathu waukulu, womwe wawoneka bwino kwa zaka zingapo, ndikuti ntchito iliyonse ili ndi gulu lake. Izi ndizoyenera pulojekiti yayikulu, mutha kusunga nthawi pazolemba, oyang'anira amadziwa bwino ntchito yawo.
Mutha kutumiza ntchito mosavuta kuchokera ku chithandizo. Mwachitsanzo, ntchito ya inshuwaransi inatha. Ndipo nthawi yomweyo gulu lomwe limagwira ntchito ndi inshuwaransi limapita kukakonza.
Zatsopano zikupangidwa mwachangu, chifukwa mukakhala ndi ntchito imodzi ya atomiki, mutha kusaka china chake mwachangu.
Ndipo mukaphwanya ntchito yanu, ndipo izi zimachitika mosapeweka, simunakhudze ntchito za anthu ena, ndipo opanga magulu ena samabwera ndikuthamangira kwa inu ndikumati: "Ay-ay, musachite zimenezo."
Monga nthawi zonse, pali ma nuances. Tili ndi matimu okhazikika, mamenejala adakhomeredwa ku timu. Pali zikalata zomveka bwino, oyang'anira amawunika zonse. Gulu lirilonse lokhala ndi manejala limakhala ndi mautumiki angapo, ndipo pali nsonga yodziwika bwino.
Muli ndi mndandanda wa mautumiki ndi anthu. Nyenyezi imatanthauza kuti munthuyo ndi katswiri pa ntchito imeneyi, buku limatanthauza kuti munthuyo akuphunzira utumiki umenewu. Ntchito ya munthuyo ndikusintha kabuku ka nyenyezi. Ndipo ngati palibe cholembedwa pamaso pa utumiki, ndiye kuti mavuto amayamba, omwe ndilankhula mopitirira.
Ngati gululo ndi laling'ono, zimachitika kuti pali woyambitsa mmodzi yemwe amalemba zonse, ena onse ali m'mapiko. "Ndidalemba zomanga zoyambira, tiyeni tiwonjezere zolumikizira." Ndiye nthawi ina woyang'anira, mwachitsanzo, amachoka. Ndipo panthawiyi, pamene woyang'anira wachoka ndipo wina sanasankhidwe, okonza okha amasankha komwe utumiki ukupita ndi zomwe zikuchitika kumeneko. Ndipo monga tikudziwira (tiyeni tibwererenso ma slide angapo), m'magulu ena muli anthu a chipale chofewa, nthawi zina mtsogoleri wa gulu la chipale chofewa. Kenako amasiya, ndipo timapeza ntchito ya amasiye.
Nthawi yomweyo, ntchito zochokera kuthandizo komanso kubizinesi sizitha; zimatha kutsalira. Ngati panali zolakwika za zomangamanga panthawi ya chitukuko cha utumiki, iwonso amathera kumbuyo. Ntchitoyi ikuwonongeka pang'onopang'ono.
Kodi mungadziwe bwanji mwana wamasiye?
Mndandandawu ukufotokoza bwino momwe zinthu zilili. Ndani adaphunzirapo kalikonse za zomangamanga zawo?
Ponena za ntchito zolembedwa: pali ntchito ndipo, kawirikawiri, imagwira ntchito, ili ndi buku lamasamba awiri la momwe mungagwiritsire ntchito, koma palibe amene akudziwa momwe imagwirira ntchito mkati.
Kapena, mwachitsanzo, pali mtundu wina wofupikitsa ulalo. Mwachitsanzo, tili ndi zofupikitsa zitatu zomwe zimagwiritsidwa ntchito pazinthu zosiyanasiyana. Izi ndi zotsatira zake basi.
Tsopano ine ndidzakhala kapitao wa zoonekeratu. Zoyenera kuchita? Choyamba, tiyenera kusamutsa utumiki kwa manejala wina, gulu lina. Ngati gulu lanu lotsogolera silinasiye, ndiye kuti mu gulu lina, mukamamvetsetsa kuti ntchitoyo ili ngati mwana wamasiye, muyenera kuphatikizapo wina amene amamvetsa kanthu za izo.
Tinali ndi mlandu pamene tinaganiza zotulutsa ntchito yoyendetsa ndege.
Idaperekedwa pa nthawi yake, ndipo ichi chinali chiyeso chokha chaubwino. Ichi ndichifukwa chake tinapanga projekiti ina yoyendetsa, yomwe sinalinso woyendetsa. Ntchitozi zidalandiridwa, ndipo kudzera munjira zoyang'anira adati, nambala yanu ndi iyi, gululo, nayi manejala wanu. Ntchitozo zayamba kale kupanga phindu. Panthawi imodzimodziyo, akadali amasiye, palibe amene amamvetsa momwe amagwirira ntchito, ndipo oyang'anira amachita zonse zomwe angathe kuti asiye ntchito zawo.
Palinso lingaliro lina lalikulu - chitukuko cha zigawenga. Pamene dipatimenti ina, nthawi zambiri dipatimenti yotsatsa, ikufuna kuyesa lingaliro ndikulamula kuti ntchito yonseyo ikhale yakunja. Magalimoto akuyamba kulowamo, amatseka zikalata, kusaina zikalata ndi kontrakitala, akuyamba kugwira ntchito ndikuti: "Abale, tili ndi ntchito pano, ili kale ndi magalimoto, imatibweretsera ndalama, tivomere." Tinali ngati, "Oppa, zingatheke bwanji?"
Ndipo njira ina yopezera ntchito ya ana amasiye: pamene gulu lina lidzipeza kuti ladzaza mwadzidzidzi, oyangβanira amati: βTiyeni zisamutsire ntchito ya gulu ili ku timu ina, ili ndi katundu wocheperapo.β Kenako tidzasamutsira ku gulu lachitatu ndikusintha manejala. Ndipo pamapeto pake tilinso ndi mwana wamasiye.
Vuto la ana amasiye ndi chiyani?
Ndani sakudziwa, iyi ndi sitima yankhondo ya Wasa yomwe idakwezedwa ku Sweden, yotchuka chifukwa idamira mphindi 5 itangoyamba. Ndipo Mfumu ya Sweden, mwa njira, sanaphe aliyense chifukwa cha izi. Inamangidwa ndi mibadwo iwiri ya mainjiniya omwe sankadziwa kupanga zombo zoterezi. Natural zotsatira.
Chombocho chikanatha kumira, mwa njira, mwa njira yoipa kwambiri, mwachitsanzo, pamene mfumu inali itakwera kale kwinakwake mumkuntho. Ndipo kotero, adamira nthawi yomweyo, malinga ndi Agile ndi bwino kulephera molawirira.
Ngati talephera msanga, nthawi zambiri palibe mavuto. Mwachitsanzo, pakuvomereza idatumizidwa kuti iwunikenso. Koma ngati tilephera kale kupanga, pamene ndalama zayikidwa, ndiye kuti pangakhale mavuto. Zotsatira zake, monga zimatchulidwira mu bizinesi.
Chifukwa chiyani ntchito za ana amasiye ndizowopsa:
Pambuyo pake, utumiki wakale ukhoza kuchotsedwa. Iyi ndi njira yomwe ndimaikonda kwambiri, pamene mukufunika kutenga ndi kuyeretsa ntchito zina kuchokera ku kasamalidwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe kakenimwebundo kapabukhu kapa | Malo osungira amakhalabe ku Git.
Zithunzizi zikunena kuti ndinu zinenero zogwirizanitsa. Chitsanzo chinali kusintha kukula kwa zithunzi. Kodi m'pofunikadi kuliletsa ku chinenero chimodzi? Chifukwa kukula kwazithunzi mu PHP, kutha kuchitika ku Golang.
M'malo mwake, ndizosankha, monga machitidwe onse. Mwina, nthawi zina, zimakhala zosafunika. Koma muyenera kumvetsetsa kuti ngati muli ndi dipatimenti yaukadaulo pakampani ya anthu 50, 45 mwa iwo ndi akatswiri a PHP, ena 3 ndi ma devops omwe amadziwa Python, Ansible, Puppet ndi zina zotere, ndipo m'modzi yekha wa iwo amalemba ena. chilankhulo china, ntchito yosinthira kukula kwa zithunzi, ndiye ikachoka, ukatswiri umapita nawo. Ndipo panthawi imodzimodziyo, mudzafunika kuyang'ana wopanga malonda omwe amadziwa chinenerochi, makamaka ngati sichipezeka. Ndiko kuti, kuchokera pamalingaliro a bungwe, izi ndizovuta. Kuchokera pamawonedwe a devops, simudzangofunika kupanga mabuku okonzekera omwe mumagwiritsa ntchito potumiza ntchito, koma muyenera kuwalembanso.
Pano tikumanga ntchito pa Node.js, ndipo iyi ingokhala nsanja pafupi ndi aliyense wopanga chilankhulo chosiyana. Koma ife tinakhala ndi kuganiza kuti masewerowo anali ofunika kandulo. Ndiko kuti, ili ndi funso loti mukhale pansi ndikuliganizira.