Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka
Kumanga unyolo wanu woyamba wa DevOps mumayendedwe asanu kwa oyamba kumene.

DevOps yakhala njira yochepetsera pang'onopang'ono, yosalumikizidwa komanso zovuta zina zachitukuko. Koma muyenera kudziwa pang'ono mu DevOps. Ifotokozanso malingaliro monga unyolo wa DevOps ndi momwe mungapangire imodzi mwamasitepe asanu. Ichi si chitsogozo chathunthu, koma "nsomba" yokha yomwe ingakulitsidwe. Tiyeni tiyambe ndi mbiri.

Chiyambi changa ku DevOps

Ndinkagwira ntchito ndi mitambo ku Citi Group ndikupanga pulogalamu ya intaneti ya IaaS kuti ndiyang'anire zomangamanga zamtambo za Citi, koma ndakhala ndikukhudzidwa ndi momwe mungakwaniritsire chitukuko cha chitukuko ndikusintha chikhalidwe pakati pa omanga. Greg Lavender, CTO wathu wa Cloud Architecture and Infrastructure, adandilimbikitsa bukuli. Ntchito "Phoenix". Imalongosola mfundo za DevOps mokongola ndipo imawerengedwa ngati buku.

Gome lakumbuyo likuwonetsa momwe makampani amatulutsira mitundu yatsopano:

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Kodi Amazon, Google ndi Netflix amatha bwanji kutulutsa zochuluka chonchi? Ndipo ndizosavuta: adapeza momwe angapangire unyolo wa DevOps pafupifupi wangwiro.

Sizinali choncho ku Citi mpaka titasamukira ku DevOps. Ndiye gulu langa linali ndi malo osiyanasiyana, koma tinapereka ku seva yachitukuko pamanja. Madivelopa onse anali ndi mwayi wopeza seva imodzi yokha yachitukuko kutengera IBM WebSphere Application Server Community Edition. Ndi kuyesa panthawi imodzimodziyo, seva "inagwa", ndipo nthawi iliyonse tinkayenera "kukambirana mopweteka" pakati pathu. Tidakhalanso ndi ma code osakwanira ndi mayeso, njira yobweretsera pamanja yowononga nthawi, ndipo palibe njira yowonera kutumizidwa kwa ma code mothandizidwa ndi ntchito ina kapena zofunikira za kasitomala.

Zinali zoonekeratu kuti chinachake chiyenera kuchitika mwamsanga, ndipo ndinapeza mnzanga wamaganizo ofanana. Tinaganiza zopanga unyolo woyamba wa DevOps palimodzi - adakhazikitsa makina enieni ndi seva ya Tomcat, ndipo ndidasamalira Jenkins, kuphatikiza ndi Atlassian Jira ndi BitBucket, komanso kuphimba ma code ndi mayeso. Ntchitoyi idayenda bwino: tidapanga makina achitukuko, tidapeza nthawi yopitilira 100% pa seva yachitukuko, tidatha kuyang'anira ndikuwongolera kufalikira kwa ma code ndi mayeso, ndipo nthambi ya Git imatha kumangirizidwa ku kutumiza ndi nkhani ya Jira. Ndipo pafupifupi zida zonse zomwe tidagwiritsa ntchito pomanga unyolo wa DevOps zinali zotseguka.

M'malo mwake, unyolowo unali wosavuta, chifukwa sitinagwiritse ntchito masinthidwe apamwamba pogwiritsa ntchito Jenkins kapena Ansible. Koma tinapambana. Mwina izi ndi zotsatira za mfundoyi Pareto (aka lamulo la 80/20).

Kufotokozera Mwachidule za DevOps ndi CI/CD Chain

DevOps ili ndi matanthauzidwe osiyanasiyana. DevOps, monga Agile, imaphatikizapo maphunziro osiyanasiyana. Koma ambiri adzagwirizana ndi tanthauzo ili: DevOps ndi njira, kapena kayendetsedwe ka moyo, kakulidwe ka mapulogalamu, mfundo yaikulu yomwe ndi kupanga chikhalidwe chomwe omanga ndi antchito ena ali "pamtunda womwewo", ntchito yamanja ndi yodzichitira, aliyense amachita zomwe ali bwino, kuchuluka kwa zobereka kumawonjezeka, zokolola za ntchito zimawonjezeka, kusinthasintha kumawonjezeka.

Ngakhale zida zokha sizokwanira kupanga malo a DevOps, ndizofunikira. Chofunikira kwambiri mwa izi ndikuphatikizana kosalekeza komanso kutumiza mosalekeza (CI/CD). Pali magawo osiyanasiyana mu unyolo pa chilengedwe chilichonse (monga DEV (chitukuko), INT (kuphatikiza), TST (kuyesa), QA (chitsimikizo chamtundu), UAT (kuyesa kuvomereza kwa ogwiritsa ntchito), STG (kukonzekera), PROD (kugwiritsa ntchito)) , ntchito zamanja zimangochitika zokha, opanga amatha kupanga ma code abwino, kuwapereka, ndipo amatha kumanganso mosavuta.

Cholembachi chikufotokozera momwe mungapangire unyolo wa DevOps mumayendedwe asanu, monga momwe tawonetsera pachithunzichi, pogwiritsa ntchito zida zotseguka.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Tiyeni tipite ku bizinesi.

Gawo 1: CI/CD Platform

Choyamba, muyenera CI/CD chida. Jenkins ndi chida cha MIT chokhala ndi chilolezo, chotseguka cha CI/CD cholembedwa ku Java chomwe chinatchuka ndi kayendetsedwe ka DevOps ndipo chakhala muyezo wa CICD.

Kodi Jenkins ndi chiyani? Tangoganizani kuti muli ndi gulu lamatsenga lowongolera mautumiki osiyanasiyana ndi zida. Payokha, chida cha CI / CD monga Jenkins ndichabechabe, koma ndi zida ndi mautumiki osiyanasiyana, chimakhala champhamvu kwambiri.

Kuphatikiza pa Jenkins, pali zida zina zambiri zotseguka, sankhani chilichonse.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Izi ndi momwe machitidwe a DevOps amawonekera ndi chida cha CI/CD

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Muli ndi chida cha CI/CD mu localhost, koma palibe zambiri zoti muchite. Tiyeni tipitirire ku sitepe yotsatira.

Gawo 2: Kusintha

Njira yabwino kwambiri (komanso yosavuta) yoyesera matsenga a chida cha CI/CD ndikuchiphatikiza ndi chida chowongolera magwero (SCM). Chifukwa chiyani mukufunika kuwongolera mtundu? Tiyerekeze kuti mukufunsira. Mumalemba mu Java, Python, C++, Go, Ruby, JavaScript, kapena chilankhulo china chilichonse chomwe ndi ngolo ndi ngolo yaying'ono. Zomwe mumalemba zimatchedwa source code. Poyamba, makamaka ngati mukugwira ntchito nokha, mutha kusunga chilichonse ku bukhu lapafupi. Koma pamene polojekiti ikukula ndipo anthu ambiri amalowa nawo, mukufunikira njira yogawana zosintha zamakhodi koma pewani mikangano pophatikiza kusintha. Ndipo muyeneranso kubwezeretsanso mitundu yam'mbuyomu osagwiritsa ntchito zosunga zobwezeretsera ndikugwiritsa ntchito njira ya copy-paste yamafayilo a code.

Ndipo kuno popanda SCM kulikonse. SCM imasunga kachidindo m'malo osungirako zinthu, imayendetsa mitundu yake, ndikuyigwirizanitsa pakati pa omanga.

Pali zida zambiri za SCM, koma Git yakhala yoyenera kukhala muyezo wa de facto. Ndikukulangizani kuti mugwiritse ntchito, koma pali njira zina.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Izi ndi zomwe mapaipi a DevOps amawonekera atawonjezera SCM.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Chida cha CI/CD chimatha kutsitsa ndikutsitsa ma code source ndi mgwirizano wamagulu. Osayipa kwenikweni? Koma tsopano momwe mungapangire ntchito yogwira ntchito kuchokera ku izi, zokondedwa ndi mabiliyoni a ogwiritsa ntchito?

Khwerero 3: Pangani Chida Chodzichitira

Zonse zikuyenda momwe ziyenera kukhalira. Mutha kuyika kachidindo ndikusintha kusintha kwa magwero, ndikuyitanitsa abwenzi kuti azigwira nanu ntchito. Koma mulibe pulogalamu panobe. Kuti iyi ikhale pulogalamu yapaintaneti, iyenera kupangidwa ndikuphatikizidwa kuti igawidwe kapena kuyendetsedwa ngati yotheka. (Chiyankhulo chotanthauziridwa ngati JavaScript kapena PHP sichiyenera kupangidwa.)

Gwiritsani ntchito chida chodzipangira chokha. Chida chilichonse chomwe mungasankhe, chidzasonkhanitsa codeyo mumtundu woyenera ndikuyeretsa, kusonkhanitsa, kuyesa, ndi kutumiza. Zida zomangira zimasiyana malinga ndi zilankhulo, koma njira zotsatirazi zotsegula zikugwiritsidwa ntchito kwambiri.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Wangwiro! Tsopano tiyeni tiyike mafayilo osinthira zida zopangira zokha kuti aziwongolera gwero kuti chida cha CI/CD chiwapange.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Ndikumva bwino. Komano zonsezi ziti zituluke kuti?

Khwerero 4: Web Application Server

Chifukwa chake, muli ndi fayilo yosungidwa yomwe imatha kuchitidwa kapena kutulutsidwa. Kuti pulogalamuyo ikhale yothandiza, iyenera kukhala ndi mtundu wina wa ntchito kapena mawonekedwe, koma muyenera kuyiyika penapake.

Pulogalamu yapaintaneti imatha kuchitidwa pa seva ya pulogalamu yapaintaneti. Seva yogwiritsira ntchito imapereka malo omwe mungapangire malingaliro, kupereka zolumikizira, ndikuwonetsa mautumiki apaintaneti pa socket. Mufunika seva ya HTTP ndi malo ena ochepa (makina enieni, mwachitsanzo) kuti muyike seva yogwiritsira ntchito. Pakadali pano, tiyeni tiyerekeze kuti mukulimbana ndi zonsezi pamene mukupita (ngakhale ndilankhula za zotengera pansipa).

Pali ma seva angapo otseguka a intaneti.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Tili kale ndi unyolo wa DevOps womwe ukugwira ntchito. Ntchito yabwino!

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

M'malo mwake, mutha kuyima apa, ndiye mutha kuzigwira nokha, koma ndikofunikira kuyankhula za mtundu wa code.

Khwerero 5: Kuwunika kwa mayeso

Kuyesa kumatenga nthawi yambiri komanso khama, koma ndibwino kuti mupeze zolakwika nthawi yomweyo ndikuwongolera kachidindo kuti musangalatse ogwiritsa ntchito. Pachifukwa ichi, pali zida zambiri zotseguka zomwe sizingangoyesa kachidindo, komanso kulangiza momwe mungakulitsire. Zida zambiri za CI/CD zimatha kulumikiza zida izi ndikusinthiratu ntchitoyi.

Kuyesa kumagawidwa m'magawo awiri: zoyeserera zolembera ndi kuyesa mayeso, ndi zida zokhala ndi malingaliro owongolera ma code.

Mayeso Frameworks

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Zida zokhala ndi malangizo abwino

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Zambiri mwa zida izi ndi zomangira zimalembedwera Java, Python, ndi JavaScript chifukwa C ++ ndi C # ndi eni ake (ngakhale GCC ndi gwero lotseguka).

Tagwiritsa ntchito zida zoyeserera, ndipo tsopano mapaipi a DevOps akuyenera kuwoneka ngati chithunzi choyambirira cha phunziroli.

Njira Zowonjezera

Zotengera

Monga ndidanenera kale, seva yofunsira imatha kuchitidwa pamakina kapena seva, koma zotengera ndizodziwika kwambiri.

Kontena ndi chiyani? Mwachidule, mu makina enieni, makina ogwiritsira ntchito nthawi zambiri amatenga malo ochulukirapo kuposa momwe amagwiritsira ntchito, ndipo chidebe nthawi zambiri chimakwanira ndi malaibulale angapo ndi kasinthidwe. Nthawi zina, makina enieni ndi ofunikira, koma chidebecho chimatha kutengera pulogalamuyo pamodzi ndi seva popanda mtengo wowonjezera.

Pazotengera, Docker ndi Kubernetes nthawi zambiri amatengedwa, ngakhale pali zosankha zina.

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Werengani zolemba za Docker ndi Kubernetes pa opensource.com:

Zida zopangira zokha zapakati

Unyolo wathu wa DevOps umayang'ana kwambiri pakumanga kothandizana komanso kutumiza ntchito, koma pali zinthu zina zosangalatsa zomwe mungachite ndi zida za DevOps. Mwachitsanzo, gwiritsani ntchito zida za Infrastructure as Code (IaC), zomwe zimadziwikanso kuti middleware automation zida. Zida izi zimathandizira kukhazikitsa, kuyang'anira, ndi ntchito zina zapakati. Mwachitsanzo, chida chodzipangira chokha chitha kutenga mapulogalamu (seva yapaintaneti, database, zida zowunikira) ndi masinthidwe oyenera ndikukankhira ku seva yofunsira.

Nazi njira zina zopangira zida zopangira makina otsegula apakati:

Upangiri wa Dummies: Kumanga Maunyolo a DevOps okhala ndi Zida Zotseguka

Tsatanetsatane m'nkhani opensource.com:

Tsopano chiani?

Iyi ndi nsonga chabe ya madzi oundana. Unyolo wa DevOps ukhoza kuchita zambiri. Yambani ndi chida cha CI/CD ndikuwona china chomwe mungasinthe kuti ntchito yanu ikhale yosavuta. Osayiwala za zida zoyankhulirana zotseguka kuti mugwirizane bwino.

Nawa zolemba zina zabwino za DevOps kwa oyamba kumene:

Mutha kuphatikizanso ma DevOps ndi zida zotseguka:

Source: www.habr.com

Kuwonjezera ndemanga