Haeba u sa tsoa qala ho sebelisa DevOps, sheba tataiso ena ea mehato e mehlano ea ho theha pipeline ea hau ea pele.
DevOps e fetohile tharollo e tloaelehileng ea ho lokisa mekhoa ea ntlafatso ea software butle, e sa kopane kapa e robehileng. Bothata ke hore haeba u le mocha ho DevOps 'me u sa tsebe hore na u qale hokae, u ka' na ua hloka kutloisiso ea mekhoa ena. Sengoliloeng sena se tla tšohla tlhaloso ea pipeline ea DevOps hape e tla fana ka litaelo tsa mehato e mehlano bakeng sa ho theha e le 'ngoe. Leha thuto ena e sa fella, e lokela ho u fa motheo oa ho qala leeto la hau le ho holisa tsebo ea hau nakong e tlang. Empa a re qaleng ka histori.
Leeto laka la DevOps
Ke kile ka sebetsa sehlopheng sa maru sa Citi Group ho nts'etsapele ts'ebeliso ea marang-rang ea Infrastructure-as-a-Service (IaaS) ho laola lisebelisoa tsa maru tsa Citi, empa ke ne ke lula ke thahasella mokhoa oa ho etsa hore ts'ebetso ea nts'etsopele e atlehe haholoanyane le ho tlisa phetoho e ntle ea setso ho sehlopha sa ntshetsopele. Ke fumane karabo bukeng e khothaletsoang ke Greg Lavender, CTO oa Cloud Architecture le Infrastructure ho Citi. Buka eo e ne e bitsoa The Phoenix Project (Morero oa Phoenix), 'me e hlalosa melao-motheo ea DevOps, empa e baleha joaloka buka.
Tafole e ka morao ea buka e bonts'a hore na lik'hamphani tse fapaneng li sebelisa litsamaiso tsa tsona hangata hakae sebakeng sa tokollo:
Amazon: 23 ka letsatsi
Google: 5 ka letsatsi
Netflix: 500 ka letsatsi
Facebook: Hang ka letsatsi
Twitter: makhetlo a 3 ka beke
Khamphani e tloaelehileng: Hang ka mor'a likhoeli tse 9
Maqhubu a Amazon, Google le Netflix a khoneha joang? Lebaka ke hobane lik'hamphani tsena li fumane mokhoa oa ho theha phala e batlang e nepahetse ea DevOps.
Re ne re le hole le sena ho fihlela re kenya tšebetsong DevOps ho Citi. Ka nako eo, sehlopha sa ka se ne se e-na le libaka tse fapaneng, empa ho romelloa ho seva sa nts'etsopele e ne e le ka ho feletseng. Bahlahisi bohle ba ne ba na le phihlello ea seva e le 'ngoe feela ea nts'etsopele e thehiloeng ho IBM WebSphere Application Server Community Edition. Bothata e ne e le hore seva se ne se koala nako le nako ha basebelisi ba bangata ba leka ho sebelisa ka nako e le 'ngoe, kahoo bahlahisi ba ne ba tlameha ho buisana ka sepheo sa bona, e leng ntho e bohloko haholo. Ho feta moo, ho ne ho e-na le litaba tse amanang le ts'ebetso ea khoutu ea teko ea boemo bo tlaase, mekhoa e boima ea ho romelloa ka letsoho, le ho sitoa ho latela mokhoa oa ho romelloa ha khoutu e amanang le mosebetsi o itseng kapa pale ea mosebedisi.
Ke ile ka hlokomela hore ho na le ntho e lokelang ho etsoa ’me ka fumana mosebetsi-’moho ea nang le kelello e tšoanang. Re ile ra etsa qeto ea ho sebelisana 'moho ho aha phala ea pele ea DevOps - o ile a theha mochine o sebetsang oa Tomcat le seva sa kopo ha ke ntse ke sebetsa ho Jenkins, ke kopantseng Atlassian Jira le BitBucket,' me ke sebetsa ho koahela khoutu ea teko. Morero ona oa lehlakore o atlehile haholo: re ile ra batla re iketsetsa mekhoa e mengata ka ho feletseng, re fihletse nako e ka bang 100% ho seva sa rona sa nts'etsopele, re fane ka ho latela le ho ntlafatsa tlhahlobo ea tlhahlobo ea khoutu, 'me ra eketsa bokhoni ba ho hokahanya makala a Git le litaba tsa Jira kapa li-deployments. Boholo ba lisebelisoa tseo re li sebelisitseng ho aha lipeipi tsa rona tsa DevOps e ne e le mohloli o bulehileng.
Joale kea utloisisa hore na pipeline ea rona ea DevOps e ne e le bonolo hakae: ha rea ka ra sebelisa li-extensions tse kang lifaele tsa Jenkins kapa Ansible. Leha ho le joalo, pipeline ena e bonolo e ile ea sebetsa hantle, mohlomong ka lebaka la molao-motheo oa Pareto (o tsejoang hape e le molao oa 80/20).
Kenyelletso e Khutšoanyane ho DevOps le Pipeline ea CI/CD
Haeba u botsa batho ba 'maloa, "DevOps ke eng?", Mohlomong u tla fumana likarabo tse fapaneng tse fapaneng. DevOps, joalo ka Agile, e bile teng ho latela mekhoa e mengata e fapaneng, empa batho ba bangata ba tla lumellana ka lintho tse 'maloa: DevOps ke ts'ebetso ea nts'etsopele ea software kapa software development cycle (SDLC) eo sepheo sa eona se ka sehloohong se fetolang setso seo bahlahisi le bao e seng bahlahisi ba teng tikolohong eo:
Lits'ebetso tse neng li etsoa pele ka letsoho li entsoe ka boiketsetso;
E mong le e mong o etsa seo a se etsang ka ho fetisisa;
Palo ea ts'ebetsong ka nako e itseng ea eketseha; Phallo e eketseha;
Ho fetoha ha maemo a ntlafatso.
Le ha ho ba le lisebelisoa tse nepahetseng tsa software e se eona feela ntho eo u e hlokang ho theha tikoloho ea DevOps, lisebelisoa tse ling lia hlokahala. Sesebelisoa sa bohlokoa ke ho kopanya ho tsoelang pele le ho tsamaisoa ho tsoelang pele (CI / CD). Liphaepheng tsena, libaka li na le mekhahlelo e fapaneng (mohlala, DEV, INT, TST, QA, UAT, STG, PROD), ts'ebetso e mengata e iketsetsa, 'me bahlahisi ba ka ngola khoutu ea boleng bo phahameng, ba finyella katleho ea tsoelo-pele, le litekanyetso tse phahameng tsa ho tsamaisoa.
Sengoliloeng sena se hlalosa mokhoa oa mehato e mehlano ea ho theha pipeline ea DevOps joalo ka e bontšitsoeng setšoantšong se latelang ho sebelisa lisebelisoa tse bulehileng.
Mohato oa 1: Mekhoa ea CI/CD
Ntho ea pele eo u e hlokang ke sesebelisoa sa CI/CD. Jenkins, sesebelisoa sa mohloli o bulehileng o thehiloeng ho Java le laesense tlas'a laesense ea MIT, ke sesebelisoa se tummeng DevOps mme e fetohile tekanyetso ea de facto.
Joale Jenkins ke eng? E nahane e le mofuta o mong oa taolo e hole ea boselamose e ka buang le ho hlophisa lits'ebeletso le lisebelisoa tse fapaneng. Ka boeona, sesebelisoa sa CI / CD se kang Jenkins ha se na thuso, empa se ba matla le ho feta ha se hokahanya lisebelisoa le litšebeletso tse fapaneng.
Jenkins ke e 'ngoe ea lisebelisoa tse ngata tse bulehileng tsa CI/CD tseo u ka li sebelisang ho aha lipeipi tsa hau tsa DevOps.
Jenkins: Creative Commons le MIT
Travis CI: MIT
CruiseControl: BSD
Buildbot: GPL
Apache Gump: Apache 2.0
Cabie: GNU
Mona ke hore na lits'ebetso tsa DevOps li shebahala joang ka sesebelisoa sa CI/CD:
U na le sesebelisoa sa CI/CD se sebetsang sebakeng sa heno, empa ha ho na lintho tse ngata tseo u ka li etsang hajoale. Ha re feteleng mohatong o latelang oa leeto la DevOps.
Mohato oa 2: Laola Litsamaiso tsa Taolo ea Mohloli
Mokhoa o motle ka ho fetisisa (mme mohlomong o bonolo) oa ho netefatsa hore sesebelisoa sa hau sa CI/CD se ka etsa boselamose ke ho hokahana le sesebelisoa sa taolo ea khoutu ea mohloli (SCM). Hobaneng o hloka taolo ea mohloli? Ha re re u ntse u etsa kopo. Nako le nako ha o theha sesebelisoa, oa etsa lenaneo, 'me ha ho na taba hore na u sebelisa Java, Python, C++, Go, Ruby, JavaScript, kapa tse ling tsa li-zillion tsa lipuo tsa lenaneo. Khoutu eo o e ngolang e bitsoa khoutu ea mohloli. Qalong, haholo-holo ha u sebetsa u le mong, mohlomong ho lokile ho beha tsohle bukeng ea lehae. Empa ha morero o ntse o hola mme o mema batho ba bang ho sebelisana, o hloka mokhoa oa ho thibela likhohlano ha o ntse o arolelana liphetoho ka katleho. U boetse u hloka mokhoa oa ho khutlisa liphetolelo tse fetileng, hobane ho theha li-backups le ho li kopitsa / ho li beha ho tsona ha li sa sebetsa. Uena (le basebetsi-'moho le uena) le hloka ho hong ho betere.
Mona ke moo taolo ea khoutu ea mohloli e batlang e le tlhokahalo. Sesebelisoa sena se boloka khoutu ea hau libakeng tsa polokelo, se boloka tlaleho ea liphetolelo, 'me se hokahanya mosebetsi oa bankakarolo ba projeke.
Leha ho na le lisebelisoa tse ngata tsa taolo ea mohloli kantle moo, Git ke maemo, 'me ho joalo. Ke khothaletsa haholo ho sebelisa Git, leha ho na le likhetho tse ling tsa mohloli o bulehileng haeba u khetha.
Git: GPLv2 le LGPL v2.1
Phetolelo: Apache 2.0
Sistimi ea Liphetolelo tse Tšoanang (CVS): GNU
Vesta: LGPL
Mercurial: GNU GPL v2+
Sena ke seo pipeline ea DevOps e shebahalang ka eona ka kenyelletso ea li-control tsa khoutu ea mohloli.
Sesebelisoa sa CI / CD se ka iketsetsa lits'ebetso tsa tlhahlobo, ho fumana khoutu ea mohloli, le tšebelisano har'a litho. Ha e mpe? Empa u e fetola joang hore e be sesebelisoa se sebetsang e le hore batho ba libilione ba ka e sebelisa le ho e ananela?
Mohato oa 3: Theha Sesebelisoa sa ho Iketsa
E kholo! U ka hlahloba khoutu 'me ua etsa liphetoho taolong ea mohloli,' me u meme metsoalle ea hau ho sebelisana le nts'etsopele. Empa ha o so etse kopo. Ho etsa ts'ebeliso ea webo, e tlameha ho hlophisoa le ho pakoa ka sebopeho sa batch kapa ho tsamaisoa joalo ka faele e ka phethisoang. (Hlokomela hore puo ea lenaneo e fetoletsoeng joalo ka JavaScript kapa PHP ha e hloke ho hlophisoa).
Sebelisa sesebelisoa sa ho iketsetsa. Ho sa tsotelehe hore na u nka qeto ea ho sebelisa sesebelisoa sefe sa othomathike, kaofela ba na le sepheo se le seng: aha khoutu ea mohloli ka sebopeho se lakatsehang ebe o etsa mosebetsi oa ho hloekisa, ho bokella, ho lekola le ho fetisetsa tikolohong e itseng. Lisebelisoa tsa ho aha li tla fapana ho latela puo ea hau ea lenaneo, empa mona ke likhetho tse ling tse tloaelehileng tsa mohloli o bulehileng.
Sehlooho
License
Puo ea lenaneo
Maven
Apache 2.0
Java
Ant
Apache 2.0
Java
Sekhetho
Apache 2.0
Java
bazel
Apache 2.0
Java
etsa
GNU
N / A
Ho korotla
med
Javascript
Ho korotla
med
Javascript
Sehahi
Apache
Ruby
rakes
med
Ruby
AAP
GNU
python
Mekhahlelo
med
python
BitBake
GPLv2
python
Cake
med
C#
ASDF
Expat (MIT)
LISP
Cabal
BSD
Haskell
E kholo! U ka kenya lifaele tsa tlhophiso ea lisebelisoa tsa mochini ho sistimi ea hau ea taolo ea mohloli 'me u lumelle sesebelisoa sa hau sa CI / CD ho kopanya tsohle.
Tsohle di lokile, na haho jwalo? Empa o ka isa kopo ea hau hokae?
Mohato oa 4: Seva ea Ts'ebeliso ea Marang-rang
Hajoale, u na le faele e pakiloeng e ka phethisoang kapa ea kengoa. Hore ts'ebeliso efe kapa efe e ka ba molemo e le kannete, e tlameha ho fana ka mofuta o itseng oa ts'ebeletso kapa sebopeho, empa o hloka setshelo ho amohela kopo ea hau.
Seva ea kopo ea webo ke setshelo se joalo feela. Seva e fana ka tikoloho eo ho eona logic ea sephutheloana e sebelisoang e ka hlalosoang. Seva e boetse e fana ka sebopeho mme e fana ka lits'ebeletso tsa webo ka ho pepesa li-sockets ho lefatše le kantle. U hloka seva sa HTTP, hammoho le tikoloho e itseng (joaloka mochini o sebetsang) ho e kenya. Hajoale, ha re nke hore u tla ithuta haholoanyane ka sena (le hoja ke tla koahela lijana tse ka tlase).
Ho na le li-server tse 'maloa tse bulehileng tsa ts'ebeliso ea webo.
Sehlooho
License
Puo ea lenaneo
Tomcat
Apache 2.0
Java
Jetty
Apache 2.0
Java
BOPHELO
GNU Lesser Public
Java
GlassFish
CDDL & GNU Hase Sechaba
Java
Django
3-Molao oa BSD
python
ekumbaki
Apache 2.0
python
sethunya
med
python
python
med
python
Li-rails
med
Ruby
Node.js
med
Javascript
Peipi ea hau ea DevOps e se e loketse ho sebelisoa. Mosebetsi o motle!
Ha u ntse u ka emisa moo 'me u sebetsana le ho kopanya ka bouena, boleng ba khoutu ke ntho ea bohlokoa eo moqapi oa app a ka tšoenyehang ka eona.
Mohato oa 5: Ts'ebetso ea Tlhahlobo ea Khoutu
Ho etsa liteko e ka ba tlhoko e 'ngoe e boima, empa bahlahisi ba tlameha ho ts'oara liphoso life kapa life ts'ebelisong pele le ho ntlafatsa boleng ba khoutu ho netefatsa hore basebelisi ba ho qetela ba khotsofetse. Ka lehlohonolo, ho na le lisebelisoa tse ngata tse bulehileng tsa ho leka khoutu ea hau le ho etsa likhothaletso bakeng sa ho ntlafatsa boleng ba eona. Ho hotle le ho feta ke hore lisebelisoa tse ngata tsa CI/CD li ka hokela lisebelisoa tsena le ho iketsetsa ts'ebetso.
Teko ea khoutu e na le likarolo tse peli: meralo ea tlhahlobo ea khoutu e u thusang ho ngola le ho etsa liteko, le lisebelisoa tsa tlhahiso tse u thusang ho ntlafatsa boleng ba khoutu ea hau.
Sistimi ea tlhahlobo ea khoutu
Sehlooho
License
Puo ea lenaneo
JUnit
Eclipse License ea Sechaba
Java
EasyMock
Apache
Java
mockito
med
Java
PowerMock
Apache 2.0
Java
Pytest
med
python
Khopolo-taba
Mozilla
python
Chefo
med
python
Litsamaiso tsa likhothaletso bakeng sa ntlafatso ea khoutu
Sehlooho
License
Puo ea lenaneo
Cobertura
GNU
Java
CodeCover
Eclipse Public (EPL)
Java
Kakaretso.py
Apache 2.0
python
Emma
License e Tloaelehileng ea Sechaba
Java
JaCoCo
Eclipse License ea Sechaba
Java
Khopolo-taba
Mozilla
python
Chefo
med
python
Jasmine
med
Javascript
Karma
med
Javascript
Mocha
med
Javascript
ho na le
med
Javascript
Hlokomela hore boholo ba lisebelisoa le meralo e boletsoeng ka holimo e ngoletsoe Java, Python le JavaScript, kaha C++ le C # ke lipuo tsa mananeo a beng ba matlo (le hoja GCC e le mohloli o bulehileng).
Kaha joale u se u kentse lisebelisoa tsa tlhahlobo ea liteko, lipeipi tsa hau tsa DevOps li lokela ho shebahala joalo ka setšoantšo se bontšitsoeng qalong ea thuto ena.
Mehato e Eketsehileng
Lijana
Joalo ka ha ke boletse, o ka amohela seva ea hau mochining o sebetsang kapa seva, empa lijana ke tharollo e tsebahalang.
Linkho ke eng? Tlhaloso e khuts'oane ke hore mochini o sebetsang o hloka palo e kholo ea memori ea sistimi e sebetsang, e fetang boholo ba ts'ebeliso, athe setshelo se hloka lilaebrari le litlhophiso tse 'maloa ho tsamaisa ts'ebeliso. Ho hlakile hore ho ntse ho e-na le lisebelisoa tsa bohlokoa bakeng sa mochine oa sebele, empa setshelo ke tharollo e bobebe bakeng sa ho amohela kopo, ho kenyeletsa le seva sa kopo.
Leha ho na le likhetho tse ling tsa lijana, tse tsebahalang haholo ke Docker le Kubernetes.
Docker: Apache 2.0
Kubernetes: Apache 2.0
Lisebelisoa tsa boiketsetso tse mahareng
Pipe ea rona ea DevOps e tsepamisitse maikutlo ho thehoeng ha likopo tse kopanetsoeng le phepelong, empa ho na le lintho tse ling tse ngata tse ka etsoang ka lisebelisoa tsa DevOps. E 'ngoe ea tsona ke ts'ebeliso ea lisebelisoa tsa Infrastructure as Code (IaC), tse tsejoang hape e le lisebelisoa tsa boits'oaro tsa middleware. Lisebelisoa tsena li thusa ho kenya, tsamaiso, le mesebetsi e meng bakeng sa middleware. Kahoo, ho etsa mohlala, sesebelisoa sa othomathike se ka ntša lits'ebetso joalo ka seva sa ts'ebeliso ea webo, database, le sesebelisoa sa ho beha leihlo se nang le litlhophiso tse nepahetseng ebe se li romella ho seva ea kopo.
E utloahalang: GNU Public
SaltStack: Apache 2.0
Chef: Apache 2.0
Popi: Apache kapa GPL
Fumana lintlha tse mabapi le mokhoa oa ho fumana mosebetsi o batloang ho tloha qalong kapa Level Up ho latela litsebo le moputso ka ho nka lithuto tse lefelloang tsa inthanete ho tsoa SkillFactory: