Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej
Tsim koj thawj DevOps saw hauv tsib kauj ruam rau cov pib tshiab.

DevOps tau dhau los ua panacea rau qeeb dhau, kev cuam tshuam thiab lwm yam teeb meem kev txhim kho. Tab sis koj xav tau kev paub tsawg tsawg hauv DevOps. Nws yuav npog cov ntsiab lus xws li DevOps saw thiab yuav ua li cas los tsim ib qho ntawm tsib kauj ruam. Qhov no tsis yog tag nrho cov lus qhia, tab sis tsuas yog "ntses" uas tuaj yeem nthuav dav. Cia peb pib nrog keeb kwm.

Kuv qhov kev taw qhia rau DevOps

Kuv tau siv los ua haujlwm nrog huab ntawm Citi Group thiab tsim ib daim ntawv thov lub vev xaib IaaS los tswj Citi huab cua infrastructure, tab sis kuv ib txwm xav paub yuav ua li cas txhawm rau txhim kho txoj kev loj hlob thiab txhim kho kab lis kev cai ntawm cov neeg tsim khoom. Greg Lavender, peb CTO rau Huab Architecture thiab Infrastructure, pom zoo phau ntawv no rau kuv. Qhov project "Phoenix". Nws piav txog DevOps cov hauv paus ntsiab lus zoo nkauj thiab nyeem zoo li ib qho tshiab.

Lub rooj nyob tom qab qhia tau hais tias ntau npaum li cas tuam txhab lag luam yob tawm tshiab versions:

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Amazon, Google thiab Netflix tswj kom dov tawm li cas? Thiab nws yog qhov yooj yim: lawv nrhiav tau yuav ua li cas los tsim ib qho zoo meej DevOps saw.

Tej yam txawv heev rau peb ntawm Citi mus txog thaum peb hloov mus rau DevOps. Tom qab ntawd kuv pab neeg muaj ntau qhov chaw sib txawv, tab sis peb tau xa mus rau kev txhim kho server manually. Txhua tus neeg tsim khoom tau nkag mus rau tsuas yog ib qho kev txhim kho server raws li IBM WebSphere Application Server Community Edition. Nrog rau ib txhij sim xa, tus neeg rau zaub mov "poob", thiab txhua zaus peb yuav tsum "mob siab" sib tham ntawm peb tus kheej. Peb kuj muaj cov cai tsis txaus nrog cov kev ntsuam xyuas, siv sij hawm siv cov txheej txheem xa khoom, thiab tsis muaj txoj hauv kev los taug qab kev xa cov lej nrog kev pab los ntawm qee cov haujlwm lossis cov neeg siv khoom xav tau.

Nws pom tseeb tias ib yam dab tsi uas yuav tsum tau ua sai sai, thiab kuv pom ib tus neeg ua haujlwm zoo li lub siab xav. Peb tau txiav txim siab los tsim thawj DevOps saw ua ke - nws teeb tsa lub tshuab virtual thiab Tomcat daim ntawv thov server, thiab kuv tau saib xyuas Jenkins, kev koom ua ke nrog Atlassian Jira thiab BitBucket, nrog rau kev them nyiaj nrog kev xeem. Peb tes num tau ua tiav: peb tau ua tiav txoj kev loj hlob ntawm cov saw, ua tiav yuav luag 100% uptime ntawm tus neeg rau zaub mov kev loj hlob, muaj peev xwm saib xyuas thiab txhim kho cov cai kev pab them nqi nrog cov kev xeem, thiab ib ceg Git tuaj yeem khi rau Jira xa thiab qhov teeb meem. Thiab yuav luag tag nrho cov cuab yeej peb siv los tsim DevOps saw yog qhib qhov chaw.

Qhov tseeb, cov saw hlau tau yooj yim, vim peb tsis txawm siv cov kev teeb tsa siab heev uas siv Jenkins lossis Ansible. Tab sis peb ua tiav. Tej zaum qhov no yog qhov tshwm sim ntawm lub hauv paus ntsiab lus Pareto (aka txoj cai 80/20).

Cov lus piav qhia luv luv ntawm DevOps thiab CI/CD Chain

DevOps muaj cov ntsiab lus sib txawv. DevOps, zoo li Agile, suav nrog kev qhuab qhia sib txawv. Tab sis feem ntau yuav pom zoo nrog cov ntsiab lus hauv qab no: DevOps yog ib txoj hauv kev, lossis lub neej voj voog, ntawm kev txhim kho software, lub hauv paus ntsiab lus tseem ceeb ntawm kev tsim kab lis kev cai uas cov neeg tsim khoom thiab lwm tus neeg ua haujlwm yog "nyob rau tib lub wavelength", kev ua haujlwm ntawm tes yog automated, txhua leej txhua tus ua qhov lawv zoo tshaj plaws, qhov zaus ntawm kev xa khoom nce, kev tsim khoom ntawm kev ua haujlwm nce, hloov tau nce.

Thaum cov cuab yeej ib leeg tsis txaus los tsim ib puag ncig DevOps, lawv yog qhov tseem ceeb. Qhov tseem ceeb tshaj plaws ntawm cov no yog kev sib koom ua ke thiab kev xa khoom tas mus li (CI / CD). Muaj ntau theem sib txawv hauv cov saw hlau rau txhua qhov chaw (xws li DEV (kev tsim kho), INT (kev koom ua ke), TST (kev sim), QA (kev lees paub zoo), UAT (cov neeg siv kev lees paub), STG (kev npaj), PROD (siv)) , phau ntawv ua haujlwm yog automated, cov neeg tsim khoom tuaj yeem tsim cov cai zoo, xa nws, thiab tuaj yeem tsim kho tau yooj yim.

Daim ntawv no piav qhia yuav ua li cas los tsim DevOps saw hauv tsib kauj ruam, raws li pom hauv daim duab hauv qab no, siv cov cuab yeej qhib.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Cia peb nqis mus ua lag luam.

Kauj ruam 1: CI/CD Platform

Ua ntej tshaj plaws, koj xav tau CI / CD cuab yeej. Jenkins yog MIT-licensed, qhib-qhov cuab yeej CI / CD sau hauv Java uas nrov rau DevOps txav thiab tau dhau los ua tus qauv de facto rau CICD.

Jenkins yog dab tsi? Xav txog tias koj muaj lub vaj huam sib luag tswj hwm rau ntau yam kev pabcuam thiab cov cuab yeej. Ntawm nws tus kheej, lub cuab yeej CI / CD zoo li Jenkins tsis muaj txiaj ntsig, tab sis nrog cov cuab yeej sib txawv thiab cov kev pabcuam, nws dhau los ua txhua yam muaj zog.

Ntxiv rau Jenkins, muaj ntau lwm yam cuab yeej qhib, xaiv ib qho twg.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Nov yog qhov txheej txheem DevOps zoo li nrog lub cuab yeej CI / CD

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Koj muaj CI/CD cov cuab yeej hauv localhost, tab sis tseem tsis tau ua ntau ntau. Cia peb mus rau kauj ruam tom ntej.

Kauj ruam 2: Versioning

Qhov zoo tshaj plaws (thiab sib cav yooj yim tshaj) txoj hauv kev los sim cov khawv koob ntawm CI / CD cov cuab yeej yog los ua ke nrog cov cuab yeej tswj hwm qhov chaw (SCM). Vim li cas koj thiaj xav tau kev tswj hwm version? Wb hais tias koj tab tom ua ib daim ntawv thov. Koj sau nws hauv Java, Python, C ++, Mus, Ruby, JavaScript, lossis lwm yam lus uas yog lub tsheb thiab lub laub me me. Qhov koj sau yog hu ua qhov chaws. Thaum xub thawj, tshwj xeeb tshaj yog tias koj ua haujlwm ib leeg, koj tuaj yeem khaws txhua yam mus rau hauv cov npe hauv zos. Tab sis raws li qhov project loj hlob thiab ntau tus neeg tuaj koom, koj xav tau ib txoj hauv kev los qhia cov kev hloov pauv tab sis zam kev tsis sib haum xeeb thaum sib koom ua ke hloov pauv. Thiab koj kuj yuav tsum tau ua li cas rov qab cov ntawv dhau los yam tsis tas siv thaub qab thiab siv txoj kev theej-paste rau cov ntaub ntawv code.

Thiab ntawm no tsis muaj SCM nyob qhov twg. SCM khaws cov cai hauv cov chaw khaws cia, tswj hwm cov qauv ntawm nws, thiab tswj hwm nws ntawm cov neeg tsim khoom.

Muaj ntau cov cuab yeej SCM, tab sis Git tau tsim nyog dhau los ua tus qauv de facto. Kuv qhia koj kom siv nws, tab sis muaj lwm yam kev xaiv.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Nov yog qhov DevOps pipeline zoo li tom qab ntxiv SCM.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Cov cuab yeej CI / CD tuaj yeem hloov kho qhov code upload thiab rub tawm thiab pab pawg sib koom tes. Tsis phem? Tab sis tam sim no yuav ua li cas thiaj ua tau daim ntawv thov ua haujlwm los ntawm qhov no, nyiam los ntawm ntau lab tus neeg siv?

Kauj ruam 3: Tsim Automation Tool

Txhua yam mus raws li nws yuav tsum tau. Koj tuaj yeem rub tawm cov lej thiab hloov pauv rau kev tswj hwm qhov chaw, thiab caw phooj ywg los ua haujlwm nrog koj. Tab sis koj tseem tsis tau muaj ib qho app. Rau qhov no los ua ib daim ntawv thov web, nws yuav tsum tau muab tso ua ke thiab ntim rau kev faib lossis khiav raws li kev ua tiav. (Ib qho kev txhais lus programming zoo li JavaScript lossis PHP tsis tas yuav muab tso ua ke.)

Siv cov cuab yeej tsim automation. Txawm lub cuab yeej twg koj xaiv, nws yuav sib sau ua ke cov cai hauv txoj cai thiab automate cleanup, compilation, testing, and delivery. Tsim cov cuab yeej sib txawv los ntawm hom lus, tab sis cov kev xaiv qhib hauv qab no feem ntau siv.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Zoo meej! Tam sim no cia peb ntxig cov cuab yeej tsim cov cuab yeej teeb tsa cov ntaub ntawv rau hauv qhov chaw tswj kom cov cuab yeej CI / CD tsim lawv.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Nws hnov ​​zoo. Tab sis qhov twg yog tag nrho cov no yuav dov tawm tam sim no?

Kauj ruam 4: Web Application Server

Yog li, koj muaj cov ntaub ntawv ntim uas tuaj yeem ua tiav lossis dov tawm. Rau ib daim ntawv thov kom muaj txiaj ntsig zoo, nws yuav tsum muaj qee yam kev pabcuam lossis interface, tab sis koj yuav tsum muab tso rau txhua qhov chaw.

Ib daim ntawv thov lub vev xaib tuaj yeem tuav ntawm lub vev xaib thov server. Daim ntawv thov neeg rau zaub mov muab ib puag ncig uas koj tuaj yeem ua tiav cov txheej txheem ntim khoom, ua haujlwm cuam tshuam, thiab nthuav tawm cov kev pabcuam hauv lub vev xaib dhau lub qhov (socket). Koj xav tau HTTP server thiab ob peb lwm qhov chaw (ib lub tshuab virtual, piv txwv li) txhawm rau txhim kho daim ntawv thov server. Txog tam sim no, cia peb ua piv txwv tias koj tab tom cuam tshuam nrog txhua qhov no thaum koj mus (txawm tias kuv yuav tham txog cov thawv hauv qab).

Muaj ob peb lub web application servers qhib.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Peb twb muaj cov saw yuav luag ua haujlwm DevOps. Txoj hauj lwm zoo!

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Hauv paus ntsiab lus, koj tuaj yeem nres ntawm no, tom qab ntawd koj tuaj yeem tswj koj tus kheej, tab sis nws tsim nyog tham txog qhov zoo ntawm cov cai.

Kauj Ruam 5: Kuaj kev pab them nqi

Kev sim yuav siv sijhawm ntau thiab siv zog, tab sis nws yog qhov zoo dua los nrhiav cov kab mob tam sim ntawd thiab txhim kho cov cai kom txaus siab rau cov neeg siv kawg. Rau lub hom phiaj no, muaj ntau cov cuab yeej qhib uas yuav tsis tsuas yog kuaj cov cai, tab sis kuj qhia txog yuav ua li cas txhim kho nws. Feem ntau cov cuab yeej CI / CD tuaj yeem ntsaws rau hauv cov cuab yeej no thiab ua kom cov txheej txheem ua haujlwm.

Kev ntsuam xyuas tau muab faib ua ob ntu: kev sim cov txheej txheem rau kev sau ntawv thiab ua cov ntawv xeem, thiab cov cuab yeej nrog cov lus qhia los txhim kho cov lej zoo.

Kev Xeem Frameworks

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Cov cuab yeej nrog cov lus qhia zoo

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Feem ntau ntawm cov cuab yeej thiab cov qauv no tau sau rau Java, Python, thiab JavaScript vim C ++ thiab C # yog tus tswv (txawm tias GCC yog qhov qhib).

Peb tau siv cov cuab yeej ntsuas ntsuas, thiab tam sim no DevOps kav dej yuav tsum zoo li daim duab thaum pib ntawm kev qhia.

Cov kauj ruam ntxiv

Ntim

Raws li kuv tau hais ua ntej, daim ntawv thov server tuaj yeem tuav hauv lub tshuab virtual lossis lub server, tab sis cov ntim khoom nrov dua.

Cov thawv ntim khoom yog dab tsi? Nyob rau hauv luv luv, nyob rau hauv lub tshuab virtual, lub operating system feem ntau siv ntau qhov chaw tshaj li daim ntawv thov, thiab lub thawv feem ntau txaus nrog ob peb lub tsev qiv ntawv thiab teeb tsa. Qee zaum, cov tshuab virtual yog qhov tseem ceeb, tab sis lub thawv tuaj yeem ua kom haum rau daim ntawv thov nrog rau cov neeg rau zaub mov yam tsis muaj nqi ntxiv.

Rau cov thawv, Docker thiab Kubernetes feem ntau yog coj, txawm tias muaj lwm txoj hauv kev.

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Nyeem cov lus hais txog Docker thiab Kubernetes ntawm opensource.com:

Middleware automation cov cuab yeej

Peb DevOps saw yog tsom rau kev sib koom tes hauv tsev thiab xa daim ntawv thov, tab sis muaj lwm yam nthuav dav uas koj tuaj yeem ua nrog DevOps cov cuab yeej. Piv txwv li, siv Infrastructure li Code (IaC) cov cuab yeej, tseem hu ua Middleware automation cov cuab yeej. Cov cuab yeej no pab automate installation, tswj, thiab lwm yam dej num rau nruab nrab. Piv txwv li, cov cuab yeej automation tuaj yeem nqa cov ntawv thov (web application server, database, saib xyuas cov cuab yeej) nrog cov teeb tsa raug thiab thawb lawv mus rau daim ntawv thov server.

Nov yog qee qhov kev xaiv rau qhib Middleware automation cov cuab yeej:

Phau Ntawv Qhia Dummies: Tsim DevOps Chains nrog Qhib Cov Cuab Yeej

Paub meej hauv cov ntawv opensource.com:

Thiab tam sim no zoo li cas?

Qhov no tsuas yog lub ntsis ntawm lub iceberg. DevOps saw yuav ua tau ntau yam ntxiv. Pib nrog lub cuab yeej CI / CD thiab pom dab tsi ntxiv uas koj tuaj yeem siv tau los ua kom koj txoj haujlwm yooj yim dua. Tsis txhob hnov ​​qab txog qhib cov cuab yeej sib txuas lus rau kev sib koom tes zoo.

Nov yog qee cov lus zoo DevOps rau cov pib tshiab:

Koj tuaj yeem ua ke nrog DevOps nrog qhib cov cuab yeej:

Tau qhov twg los: www.hab.com

Ntxiv ib saib