Poyambirira, tidayika zida zoyeserera pamakina enieni, koma chifukwa chakuti malingaliro abizinesi omwe adatumizidwa anali osiyana ndi kukhazikitsidwa, tidawonjezera kutulutsa kwa baremetall popanda vuto lililonse.
Mfundo ya Liskov Substitution
M'malo mfundo Barbara Liskov. zinthu zomwe zili mu pulogalamu ziyenera kusinthidwa ndi zochitika za subtypes zawo popanda kusintha machitidwe oyenera a pulogalamuyo.
Ngati muyang'ana mozama, sizinthu za polojekiti iliyonse yomwe ingagwiritsidwe ntchito pamenepo ZOLIMBIKITSA, nthawi zambiri zimakhala za CFM, mwachitsanzo, pantchito ina ndikofunikira kuyika pulogalamu ya Java yokhala ndi bokosi pamwamba pa Java zosiyanasiyana, ma seva ogwiritsira ntchito, nkhokwe, OS, ndi zina zambiri. Pogwiritsa ntchito chitsanzo ichi, ndilingalira mfundo zina ZOLIMBIKITSA
Kwa ife, pali mgwirizano mkati mwa gulu la zomangamanga kuti ngati tayika imbjava kapena oraclejava udindo, ndiye kuti tili ndi java binary executable. Izi ndizofunikira chifukwa Maudindo akumtunda amadalira khalidwe ili; Nthawi yomweyo, izi zimatilola kuti tisinthe mtundu umodzi wa java / mtundu wina popanda kusintha malingaliro otumizira.
Vuto pano liri kuti ndizosatheka kugwiritsa ntchito izi mu Ansible, chifukwa chake mapangano ena amawonekera mkati mwa gulu.
The Interface Segregation Principle
Mfundo yolekanitsa mawonekedwe: "Mawonekedwe ambiri okhudzana ndi kasitomala ndi abwino kuposa mawonekedwe a cholinga chimodzi.
Poyambirira, tidayesa kuyika kusinthika konse kwa kutumizidwa kwa ntchito mu buku limodzi la Ansible playbook, koma zinali zovuta kuthandizira, ndi njira tikakhala ndi mawonekedwe akunja (makasitomala amayembekeza doko 443), ndiye kuti maziko atha kusonkhanitsidwa kuchokera kwa munthu payekha. njerwa za kukhazikitsa kwapadera.
Mfundo ya Dependency Inversion
Mfundo ya kudalira inversion. Ma module apamwamba sayenera kudalira ma modules otsika kwambiri. Mitundu yonse iwiri ya ma modules iyenera kudalira zotsalira. Kufotokozera sikuyenera kudalira mwatsatanetsatane. Tsatanetsatane ziyenera kutengera zomwe zimachotsedwa.
Pano chitsanzo chidzakhazikitsidwa pa antipattern.
M'modzi mwa makasitomala anali ndi mtambo wachinsinsi.
Tinayitanitsa makina enieni mkati mwamtambo.
Koma chifukwa cha mawonekedwe a mtambo, kutumizidwa kwa mapulogalamu kumalumikizidwa ndi hypervisor VM.
Zomangamanga monga kachidindo sizongokhudza kachidindo, komanso za ubale pakati pa ma code ndi anthu, zokhudzana ndi kuyanjana pakati pa opanga zomangamanga.
Chinthu cha basi
Tiyerekeze kuti muli ndi Vasya pa polojekiti yanu. Vasya amadziwa zonse zokhudzana ndi zomangamanga zanu, chidzachitike ndi chiyani ngati Vasya atayika mwadzidzidzi? Izi ndizochitika zenizeni, chifukwa akhoza kugundidwa ndi basi. Nthawi zina zimachitika. Izi zikachitika komanso chidziwitso chokhudza kachidindo, kapangidwe kake, momwe amagwirira ntchito, mawonekedwe ndi mapasiwedi samagawidwa pakati pa gulu, ndiye kuti mutha kukumana ndi zovuta zingapo. Kuti muchepetse zoopsazi ndikugawa chidziwitso mkati mwa gulu, mutha kugwiritsa ntchito njira zosiyanasiyana
Pair Devopsing
Sizili ngati ngati nthabwala, kuti ma admins amamwa mowa, kusintha mawu achinsinsi, ndi analogi ya mapulogalamu awiri. Iwo. mainjiniya awiri amakhala pansi pa kompyuta imodzi, kiyibodi imodzi ndikuyamba kukhazikitsa zida zanu palimodzi: kukhazikitsa seva, kulemba gawo Loyenera, ndi zina. Zikumveka zabwino, koma sizinagwire ntchito kwa ife. Koma zochitika zapadera za mchitidwe umenewu zinagwira ntchito. Wantchito watsopano wafika, mlangizi wake amatenga ntchito yeniyeni pamodzi ndi iye, amagwira ntchito ndikusamutsa chidziwitso.
Mlandu wina wapadera ndi kuyimba kwa zochitika. Pavuto, gulu la omwe ali pantchito ndi omwe akukhudzidwawo amasonkhana, mtsogoleri mmodzi amasankhidwa, yemwe amagawana chophimba chake ndi kufotokoza malingaliro ake. Otsatira ena amatsatira malingaliro a mtsogoleriyo, amazonda zidule kuchokera ku kontrakitala, fufuzani kuti sanaphonye mzere mu chipikacho, ndikuphunzira zatsopano za dongosololi. Njira imeneyi imagwira ntchito nthawi zambiri.
Chochititsa chidwi apa chinali chakuti owunikirawo adasankhidwa mmodzimmodzi, malinga ndi ndondomeko, i.e. ndi kuthekera kwina mudzakwera mu gawo latsopano la zomangamanga.
Pamwamba pa piramidi timalandira moni ndi mayeso a End to End. Iwo. Sitimayang'ana momwe seva ina ikuyendera, zolemba zina, kapena njerwa yosiyana ya zomangamanga zathu. Timayang'ana kuti ma seva ambiri alumikizidwa palimodzi, zomangamanga zathu zimagwira ntchito momwe timayembekezera. Tsoka ilo, sindinawonepo mayankho okonzeka opangidwa ndi bokosi, mwina chifukwa ... Zomangamanga nthawi zambiri zimakhala zapadera komanso zovuta kuzijambula ndikupanga chimango choyesera. Zotsatira zake, aliyense amapanga mayankho ake. Pali chofuna, koma palibe yankho. Chifukwa chake, ndikuwuzani zomwe zilipo kuti ndikankhire ena kuti amveke bwino kapena kusisita mphuno yanga pozindikira kuti zonse zidapangidwa kalekale ife tisanakhalepo.
Ntchito yokhala ndi mbiri yakale. Amagwiritsidwa ntchito m'mabungwe akuluakulu ndipo mwina aliyense wa inu adadutsana nawo mwanjira ina. Pulogalamuyi imathandizira ma database ambiri, kuphatikiza, ndi zina. Kudziwa momwe zomangamanga zingawonekere ndi mafayilo ambiri a docker-compose, komanso kudziwa kuti ndi mayesero ati omwe angayendere komwe kuli Jenkins.
Chiwembucho chinagwira ntchito kwa nthawi yayitali, mpaka mkati mwa chimango kafukufuku sitinayesere kusamutsa izi ku Openshift. Zotengerazo zimakhalabe zofanana, koma malo otsegulira asintha (hello DRY kachiwiri).
Lingaliro la kafukufuku linapita patsogolo, ndipo mu openshift adapeza chinthu monga APB (Ansible Playbook Bundle), yomwe imakulolani kulongedza chidziwitso cha momwe mungagwiritsire ntchito zowonongeka mu chidebe. Iwo. pali chidziwitso chobwerezabwereza, choyesedwa cha momwe mungagwiritsire ntchito zomangamanga.
Zonsezi zidamveka bwino mpaka tidalowa m'malo osiyanasiyana: timafunikira Windows yoyesa. Zotsatira zake, chidziwitso cha zomwe, komwe, momwe mungatumizire, ndikuyesa zili mu jenkins.