Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala
Fausia lau filifili DevOps muamua i laasaga e lima mo tagata amata.

DevOps ua avea ma se faʻalavelave mo atinaʻe faʻagasologa e telegese, faʻalavelave, ma faʻafitauli. Ae e te manaʻomia sina malamalama i DevOps. O le a aofia ai manatu e pei o le DevOps filifili ma pe faʻapefea ona faia se tasi i le lima laasaga. E le o se taʻiala atoatoa, ae naʻo se "iʻa" e mafai ona faʻalauteleina. Tatou amata i le talafaasolopito.

O laʻu folasaga i DevOps

Sa ou galue muamua i le ao i le Citi Group ma fausia se IaaS web application e pulea ai atinaʻe ao a Citi, ae sa ou fiafia i taimi uma i le auala e mafai ai ona matou faʻaogaina le filifili atinaʻe ma faʻaleleia le aganuu i le au atiaʻe. Greg Lavender, le matou CTO mo Cloud Architecture and Infrastructure, na fautuaina le tusi ia te au Poloketi "Phoenix". O loʻo faʻamatalaina atoatoa mataupu faavae DevOps ma faitau pei o se tala.

Ole laulau i luga ole laiga o loʻo faʻaalia ai le tele o taimi e faʻasalalau ai e kamupani ni lomiga fou:

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

E faʻafefea ona faʻatautaia e Amazon, Google ma Netflix le tele o mea? E faigofie: na latou mafaufau pe faʻapefea ona fatuina se filifili DevOps toetoe lava atoatoa.

E leʻi faapena mea i Citi seʻia oʻo ina matou sui i DevOps. I le taimi lena, e ese le siosiomaga o laʻu 'au, ae na matou tuʻuina atu i le atinaʻe ma le lima. Na maua uma e le au atina'e na'o le tasi le atina'e server e fa'avae ile IBM WebSphere Application Server Community Edition. Ina ua matou taumafai e momoli i le taimi lava e tasi, na paʻu le server, ma e tatau ona matou feutagai ma le "tiga" ma le tasi i le isi i taimi uma. E le'i lava fo'i a matou fa'ata'ita'iga o le fa'atulafonoina, o le fa'atinoina o galuega fa'atino tusi lesona, ma e leai se auala e siaki ai le tu'uina atu o code fa'atasi ma le fesoasoani i nisi o galuega po'o mana'oga o tagata fa'atau.

Na manino lava e iai se mea e manaʻomia vave ona fai, ma na ou maua ai se paaga tutusa le mafaufau. Na matou filifili e fatuina le filifili muamua DevOps faʻatasi - na ia faʻatutuina se masini komepiuta ma se 'auʻaunaga talosaga Tomcat, ma sa ou tausia Jenkins, faʻatasi ma Atlassian Jira ma BitBucket, faʻapea foʻi ma faʻasalalauga faʻamaonia ma suʻega. Na manuia le poloketi: matou te faʻaogaina atoatoa le filifili atinaʻe, ausia toetoe lava 100% uptime i luga o le atinaʻe server, e mafai ona siaki ma faʻaleleia le faʻaogaina o code code, ma e mafai ona fesoʻotaʻi se lala Git i le tuʻuina atu ma le faʻasalalauga a Jira. Ma toetoe lava o mea faigaluega uma na matou faʻaaogaina e fausia ai le filifili DevOps na tatala punaoa.

O le mea moni, na faʻafaigofie le filifili, aua matou te leʻi faʻaogaina faʻasalalauga faʻapitoa e faʻaaoga ai Jenkins poʻo Ansible. Ae sa matou manuia. Atonu o se taunuuga lea o le mataupu faavae Pareto (o le tulafono 80/20).

Fa'amatalaga puupuu o le DevOps ma CI/CD filifili

DevOps e eseese faʻamatalaga. DevOps, pei o Agile, e aofia ai matāʻupu eseese. Ae o le toʻatele o le a ioe i le faʻamatalaga o loʻo i lalo: DevOps o se metotia, poʻo le taamilosaga o le olaga, o le atinaʻeina o polokalama, o le mataupu autu o le fatuina lea o se aganuu lea o loʻo i ai le au atinaʻe ma isi tagata faigaluega "i luga o le galu tutusa," o galuega lima lima e otometi. , e faia e tagata uma le mea sili latou te faia, Faʻateleina le tele o tiliva, faʻateleina le gaosiga, ma faʻateleina fetuutuunai.

E ui e le lava na o meafaigaluega e fausia ai se siosiomaga DevOps, e le mafai ona e faia e aunoa ma latou. O le mea pito sili ona taua o nei mea o le faʻaauau le tuʻufaʻatasia ma le faʻaauau le tuʻuina atu (CI / CD). E eseese laʻasaga i le filifili mo siosiomaga taʻitasi (mo se faʻataʻitaʻiga, DEV (atinaʻe), INT (tuʻufaʻatasia), TST (suʻega), QA (pulea lelei), UAT (suʻega taliaina e tagata), STG (sauniuniga), PROD (faʻaoga )), o galuega tusilima e otometi, e mafai e le au atinaʻe ona gaosia le code lelei, tuʻuina atu, ma faigofie ona toe fausia.

O lenei faʻamatalaga o loʻo faʻamatalaina pe faʻapefea ona fatuina se filifili DevOps i laasaga e lima, e pei ona faʻaalia i le ata o loʻo i lalo, e faʻaaoga ai meafaigaluega tatala.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Tatou o ifo i le pisinisi.

Laasaga 1: CI/CD Platform

Muamua, e te manaʻomia se meafaigaluega CI / CD. Jenkins o se meafaigaluega tatala CI / CD na tusia i Java ma se laisene MIT lea na amata ai le faʻalauiloaina o le DevOps movement ma ua avea ma tulaga faʻamaoni mo CICD.

O le a le Jenkins? Vaai faalemafaufau o loʻo i ai sau faʻatonuga faʻapitoa mo le tele o auaunaga ma meafaigaluega. Na o ia lava, o se meafaigaluega CI / CD e pei o Jenkins e leai se aoga, ae faʻatasi ai ma meafaigaluega eseese ma auaunaga e avea ma mea uma.

E tele isi mea faigaluega tatala e ese mai Jenkins, filifili soʻo se tasi.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

O le mea lea e foliga mai o le DevOps process i se meafaigaluega CI / CD

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

E iai sau meafaigaluega CI/CD ile localhost, ae e le'i tele ni mea e fai. Sei o tatou agai i le isi laasaga.

Laasaga 2: Pulea Version

O le auala sili (ma atonu e sili ona faigofie) e faʻataʻitaʻi ai le togafiti faʻataulāitu o se meafaigaluega CI / CD o le tuʻufaʻatasia lea ma se meafaigaluega e pulea ai punaoa (SCM). Aisea e te mana'omia ai le fa'atonuga o fa'amatalaga? Fa'apea o lo'o e faia se talosaga. E te tusia i Java, Python, C ++, Go, Ruby, JavaScript poʻo soʻo se isi lava gagana, o loʻo i ai se taavale solofanua ma se tamaʻi taʻavale. O mea e te tusia e ta'ua o le source code. I le taimi muamua, aemaise lava pe afai o loʻo e galue naʻo oe, atonu e te manaʻo e teu mea uma i se lisi faʻapitonuʻu. Ae a o tuputupu aʻe se poloketi ma toʻatele tagata e auai, e te manaʻomia se auala e faʻasoa ai suiga o tulafono ae aloese mai feteʻenaʻiga tuʻufaʻatasia. E te manaʻomia foʻi le toe faʻafoʻisia o lomiga muamua e aunoa ma le faʻaogaina o faʻamaumauga ma le faʻaogaina o le kopi-paste auala mo faila faila.

Ma o iinei e le mafai ona e alu e aunoa ma le SCM. O lo'o teuina e le SCM le fa'ailoga i totonu o fale teu oloa, pulea ona fa'aliliuga, ma fa'amaopoopoina i le au atia'e.

E tele meafaigaluega a le SCM, ae ua tatau ona avea Git ma tulaga faʻamaonia. Ou te fautuaina le faʻaaogaina o lenei mea, ae o loʻo i ai isi filifiliga.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

O le mea lea e foliga mai o le DevOps pipeline pe a uma ona faʻaopoopo SCM.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

O se meafaigaluega CI/CD e mafai ona fa'autometi le fa'apipi'iina ma le la'uina mai o fa'aupuga ma le galulue fa'atasi. E leai se leaga? Ae faʻafefea ona tatou faʻaliliuina lenei mea i se talosaga galue e fiafia i ai le faitau piliona o tagata faʻaoga?

Laasaga 3: Fausia Meafaigaluega Automation

O loʻo alu mea uma e pei ona tatau ai. E mafai ona e tu'uina atu le code ma fai suiga ile fa'atonuga, ma vala'aulia uo e galulue fa'atasi ma oe. Ae e te le'i maua le app. Ina ia avea ma se upega tafaʻilagi, e tatau ona tuʻufaʻatasia ma faʻapipiʻiina mo le tuʻuina atu poʻo le taʻavale e avea o se faila faʻatinoina. (E le manaʻomia ona tuʻufaʻatasia se gagana polokalame faʻamatalaina, pei o le JavaScript poʻo le PHP.)

Fa'aoga se meafaigaluega fau masini. Po o fea lava meafaigaluega e te filifilia, o le a aoina le code i le faatulagaga manaʻomia ma otometi le faʻamamaina, tuʻufaʻatasia, suʻega ma le tuʻuina atu. O meafaigaluega faufale e eseese e fa'atatau i le gagana, ae o lo'o fa'aaogaina avanoa avanoa e fa'aaoga ai.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

atoatoa! Se'i o tatou fa'apipi'i faila fa'atonu mea faigaluega fau masini i totonu o le fa'atonuga fa'atonu ina ia fausia e le meafaigaluega CI/CD.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

E lagona lelei. Ae o fea e tatau ona tatou taʻavale ai nei mea uma?

Laasaga 4: Web Application Server

O lea la, o loʻo i ai sau faila faila e mafai ona faʻatinoina pe taʻavale i fafo. Mo se talosaga ina ia aoga moni, e tatau ona i ai se ituaiga o auaunaga poʻo se atinaʻe, ae e tatau ona e tuʻuina uma i se mea.

E mafai ona fa'afeiloa'i le 'upega tafa'ilagi i luga o se 'upega tafa'ilagi. O lo'o tu'uina atu e le 'au'aunaga talosaga se si'osi'omaga e mafai ai ona e fa'atinoina le fa'atonuga o polokalame mai le afifi, tu'uina atu le fa'aoga, ma fa'aalia auaunaga i luga ole laiga e ala i se socket. E te manaʻomia se HTTP server ma isi siʻosiʻomaga (masini virtual, mo se faʻataʻitaʻiga) e faʻapipiʻi ai le server talosaga. Mo le taimi nei, se'i fa'afoliga e te fa'ata'ita'iina lenei mea a'o e alu atu (e ui o le a ou talanoa e uiga i koneteina i lalo).

O lo'o i ai le tele o sapalai talosaga i luga ole laiga.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Ua uma ona i ai le matou filifili DevOps galue. Manaia galuega!

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

I le mataupu faavae, e mafai ona e taofi iinei, e mafai ona e taulimaina le isi vaega oe lava, ae e taua foi le talanoa e uiga i le tulaga lelei o le code.

Laasaga 5: Su'ega Su'ega

O suʻega e manaʻomia ai le tele o taimi ma taumafaiga, ae sili atu le vave suʻeina o mea sese ma faʻaleleia le code e faʻamalieina ai tagata faʻaoga. Mo lenei faʻamoemoe, o loʻo i ai le tele o meafaigaluega tatala e le gata ina faʻataʻitaʻiina le code, ae faʻapea foi ona fautuaina pe faʻafefea ona faʻaleleia. O le tele o meafaigaluega CI/CD e mafai ona fa'afeso'ota'i i nei mea faigaluega ma fa'autometi le faiga.

Ua vaevaeina le su'ega i ni vaega se lua: fa'ata'ita'iga fa'ata'ita'iga mo le tusitusi ma le fa'atinoina o su'ega, ma mea faigaluega fa'atasi ai ma fautuaga mo le fa'aleleia atili o le tulaga o le code.

Fa'avae su'ega

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Meafaigaluega e iai fautuaga lelei

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

O le tele o nei mea faigaluega ma fa'avae ua tusia mo Java, Python ma le JavaScript ona o le C ++ ma le C # e fa'apitoa (e ui lava o le GCC o se punaoa tatala).

Ua matou faʻaogaina meafaigaluega faʻapipiʻi suʻega, ma o le taimi nei o le DevOps pipeline e tatau ona pei o le ata i le amataga o le taʻiala.

Laasaga Faaopoopo

Koneteina

E pei ona ou fai atu, e mafai ona talimalo le 'auʻaunaga talosaga i luga o se masini komepiuta poʻo se 'auʻaunaga, ae o pusa e sili atu ona lauiloa.

O a pusa? I se faapuupuuga, i totonu o se masini komepiuta, o le faiga faʻaogaina e masani ona sili atu le avanoa nai lo le talosaga, ma e masani lava ona manaʻomia e le koneteina ni nai faletusi ma faʻatulagaga. I nisi tulaga, e manaʻomia tele masini komepiuta, ae o le atigipusa e faʻaogaina le talosaga faʻatasi ma le server e aunoa ma se tau faaopoopo.

Mo koneteina, Docker ma Kubernetes e masani ona faʻaaogaina, e ui lava e iai isi filifiliga.

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Faitau tala e uiga i Docker ma Kubernetes i luga opensource.com:

Middleware Automation Tools

O la matou DevOps filifili e taulaʻi i le galulue faʻatasi ma le tuʻuina atu o se talosaga, ae o loʻo i ai isi mea manaia e mafai ona e faia i meafaigaluega DevOps. Mo se faʻataʻitaʻiga, faʻaaoga mea faigaluega e pei o le Code (IaC), e taʻua foi o meafaigaluega otometi middleware. O mea faigaluega nei e fesoasoani e fa'atosina fa'apipi'i, pulega, ma isi galuega mo middleware. Mo se faʻataʻitaʻiga, e mafai e se meafaigaluega faʻaautomatika ona ave faʻaoga (web application server, database, mataʻituina meafaigaluega) faʻatasi ai ma faʻatonuga saʻo ma taʻavale i fafo i le server application.

O nisi nei o avanoa avanoa fa'aoga middleware meafaigaluega meafaigaluega:

Fa'ata'ita'iga a Dummies: Fausia o filifili DevOps ma Meafaigaluega Tatala

Fa'amatalaga ile tala ile opensource.com:

Ma o le a nei?

E na'o le pito lea o le aisa. Ole filifili DevOps e mafai ona tele atu mea. Amata i se meafaigaluega CI/CD ma va'ai po'o le a se isi mea e mafai ona e fa'aogaina e fa'afaigofie ai lau galuega. Aua nei galo e uiga i matala meafaigaluega fesoʻotaʻiga mo le galulue faatasi lelei.

O nisi nei o tala lelei e uiga i DevOps mo tagata amata:

E mafai foʻi ona e tuʻufaʻatasia DevOps faʻatasi ma meafaigaluega tatala mo agile:

puna: www.habr.com

Faaopoopo i ai se faamatalaga