Raha vaovao amin'ny DevOps ianao dia jereo ity torolàlana dimy dingana ity amin'ny famoronana fantsona voalohany anao.

DevOps dia lasa vahaolana manara-penitra amin'ny fanamboarana ny fizotran'ny fampivoarana rindrambaiko miadana, misaraka na tapaka. Ny olana dia raha toa ianao ka vaovao amin'ny DevOps ary tsy fantatrao hoe aiza no hanombohana, dia mety tsy ho azonao ireo teknika ireo. Ity lahatsoratra ity dia hiresaka momba ny famaritana ny fantsona DevOps ary hanome torolàlana dimy dingana amin'ny famoronana iray. Na dia tsy feno aza ity fampianarana ity dia tokony hanome anao fototra hanombohana ny dianao sy hanitarana ny fahalalanao amin'ny ho avy. Fa andeha isika hanomboka amin'ny tantara.
Ny diako DevOps
Niasa tao amin'ny ekipan'ny rahona Citi Group aho teo aloha namolavola rindranasa Infrastructure-as-a-Service (IaaS) hitantana ny fotodrafitrasa rahon'i Citi, saingy liana foana aho ny amin'ny fomba hampahomby kokoa ny fizotran'ny fampandrosoana sy hitondra fiovana ara-kolontsaina tsara ho an'ny ekipa fampandrosoana. Hitako tao anaty boky natolotr'i Greg Lavender, CTO an'ny Cloud Architecture and Infrastructure ao amin'ny Citi ny valiny. Ilay boky dia nantsoina hoe The Phoenix Project (), ary manazava ny fitsipiky ny DevOps, fa mivaky toy ny tantara.
Ny latabatra ao ambadiky ny boky dia mampiseho hoe impiry ny orinasa samihafa no mametraka ny rafiny amin'ny tontolo famoahana:
Amazon: 23 isan'andro
Google: 5 isan'andro
Netflix: 500 isan'andro
Facebook: indray mandeha isan'andro
Twitter: in-3 isan-kerinandro
Orinasa mahazatra: Indray mandeha isaky ny 9 volana
Ahoana no ahafahan'ny Amazon, Google ary Netflix azo atao? Izany dia satria ireo orinasa ireo dia nahita ny fomba hamoronana fantsona DevOps saika tonga lafatra.
Lavitra izany izahay mandra-panatanterahanay ny DevOps tao amin'ny Citi. Tamin'izany fotoana izany, ny ekipako dia nanana tontolo samihafa, fa ny fametrahana ny lohamilina fampandrosoana dia natao tanana tanteraka. Ny mpamorona rehetra dia tsy nanana afa-tsy mpizara fampandrosoana iray mifototra amin'ny IBM WebSphere Application Server Community Edition. Ny olana dia mikatona ny mpizara isaky ny misy mpampiasa maro manandrana mametraka amin'ny fotoana iray, noho izany dia tsy maintsy nifampiresaka ny fikasan'izy ireo ny mpamorona, izay tena mampalahelo. Fanampin'izany, nisy ny olana momba ny fandrakofana kaody fitsapana ambany, ny fizotry ny fametrahana manual, ary ny tsy fahafahana manara-maso ny fametrahana ny kaody mifandraika amin'ny asa manokana na ny tantaran'ny mpampiasa.
Tsapako fa nisy zavatra tokony hatao ary nahita mpiara-miasa mitovy hevitra aminy aho. Nanapa-kevitra ny hiara-hiasa amin'ny fananganana ny fantsona DevOps voalohany izahay - nanangana milina virtoaly Tomcat sy mpizara fampiharana izy raha niasa tao amin'ny Jenkins aho, nampitambatra ny Atlassian Jira sy BitBucket, ary niasa tamin'ny fandrakofana kaody fitsapana. Tena nahomby ity tetikasa lafiny ity: saika nanao automatique tanteraka izahay, nahatratra 100% ny ora fiasana teo amin'ny lohamilina fampivoarana anay, nanome fanaraha-maso sy nanatsara ny fandrakofam-panadinana ny kaody, ary nanampy ny fahafahana mampifandray ny sampana Git amin'ny olana na ny fametrahana an'i Jira. Ny ankamaroan'ny fitaovana nampiasainay hananganana ny fantsona DevOps dia loharano misokatra.
Azoko izao fa tsotra ny fantsona DevOps anay: tsy nampiasa fanitarana toy ny rakitra Jenkins na Ansible izahay. Na izany aza, io fantsona tsotra io dia niasa tsara, angamba noho ny fitsipika Pareto (fantatra ihany koa amin'ny hoe fitsipika 80/20).
Fampidirana fohifohy momba ny DevOps sy ny CI/CD Pipeline
Raha manontany olona maromaro ianao hoe "Inona no DevOps?", Mety hahazo valiny samihafa ianao. DevOps, toa an'i Agile, dia nivoatra nanerana sehatra maro samihafa, saingy ny ankamaroan'ny olona dia hanaiky zavatra vitsivitsy: DevOps dia fampiharana fampivoarana rindrambaiko na tsingerin'ny fiainan'ny fampandrosoana rindrambaiko (SDLC) izay ny foto-kevitry ny foibe dia manova ny kolontsaina misy ny mpamorona sy ny tsy- Ny developer dia misy amin'ny tontolo iray izay:
Ny fampandehanana izay natao tamin'ny tanana teo aloha dia natao ho azy;
Samy manao izay tsara indrindra vitany ny tsirairay;
Mitombo ny isan'ny fampiharana mandritra ny fe-potoana iray; Mitombo ny throughput;
Nitombo flexibility fampandrosoana.
Na dia tsy ny fananana fitaovana rindrambaiko mety ihany aza no ilainao hamoronana tontolo DevOps, dia ilaina ny fitaovana sasany. Ny fitaovana fototra dia ny fampidirana mitohy sy ny fametrahana mitohy (CI/CD). Amin'ity fantsona ity, ny tontolo iainana dia manana dingana samihafa (ohatra DEV, INT, TST, QA, UAT, STG, PROD), asa maro no mandeha ho azy, ary afaka manoratra fehezan-dalàna avo lenta ny mpamorona, mahatratra ny fahaiza-manao fampandrosoana ary ny tahan'ny fandefasana avo lenta.
Ity lahatsoratra ity dia mamaritra fomba fiasa dimy amin'ny famoronana fantsona DevOps tahaka ilay aseho amin'ity kisary manaraka ity amin'ny fampiasana fitaovana loharano misokatra.
Dingana 1: Fomba CI/CD
Ny zavatra voalohany ilainao dia fitaovana CI/CD. Jenkins, fitaovana loharano misokatra miorina amin'ny Java ary nahazo alalana tamin'ny alàlan'ny fahazoan-dàlana MIT, no fitaovana nalaza ny DevOps ary lasa fenitra de facto.
Inona àry no Jenkins? Eritrereto ho karazana fanaraha-maso lavitra eran-tany mahagaga izay afaka miresaka sy mandamina serivisy sy fitaovana isan-karazany. Amin'ny tenany manokana dia tsy misy ilàna azy ny fitaovana CI/CD toa an'i Jenkins, saingy lasa matanjaka kokoa rehefa mifandray amin'ny fitaovana sy serivisy samihafa.
Jenkins dia iray amin'ireo fitaovana CI/CD open source azonao ampiasaina hanamboarana ny fantsona DevOps anao.
Jenkins: Creative Commons sy MIT
Travis CI: MIT
CruiseControl:BSD
Buildbot: GPL
Apache Gump: Apache 2.0
Cabie: GNU
Toy izao ny fizotran'ny DevOps miaraka amin'ny fitaovana CI/CD:

Manana fitaovana CI/CD mandeha amin'ny localhost ianao, saingy tsy misy zavatra azonao atao amin'izao fotoana izao. Andao hiroso amin'ny dingana manaraka amin'ny dia DevOps.
Dingana 2: Tantano ny Source Control Systems
Ny fomba tsara indrindra (ary angamba mora indrindra) hanamarinana fa ny fitaovana CI/CD dia afaka manao ny majika dia ny fampidirana amin'ny fitaovana fanaraha-maso kaody loharano (SCM). Nahoana ianao no mila fanaraha-maso loharano? Andeha hatao hoe mamolavola fampiharana ianao. Isaky ny mamorona fampiharana ianao dia manao fandaharana, ary tsy maninona na mampiasa Java, Python, C++, Go, Ruby, JavaScript, na ireo zillions amin'ny fiteny fandaharana ianao. Ny code soratanao dia antsoina hoe source code. Amin'ny voalohany, indrindra rehefa miasa irery ianao dia mety tsara ny mametraka ny zava-drehetra ao anaty lahatahiry eo an-toerana. Saingy rehefa mihamitombo ny tetikasa ary manasa olona hafa hiara-hiasa ianao, dia mila fomba iray hisorohana ny fifandirana ianao rehefa mizara fanovana amin'ny fomba mahomby. Mila fomba hamerenana amin'ny laoniny ny dikan-teny teo aloha ihany koa ianao, satria lasa lany andro ny famoronana backups sy kopia/mametaka ao aminy. Mila zavatra tsara kokoa ianao (sy ny mpiara-miasa aminao).
Eo no saika ilaina ny fanaraha-maso ny kaody loharano. Ity fitaovana ity dia mitahiry ny kaodinao ao anaty tahiry, manara-maso ny dikan-teny ary mandrindra ny asan'ny mpandray anjara amin'ny tetikasa.
Na dia misy fitaovana fanaraha-maso loharano maro aza, Git no fenitra, ary marina izany. Tena manoro hevitra ny fampiasana Git aho, na dia misy safidy loharano misokatra hafa aza raha tianao.
Git: GPLv2 sy LGPL v2.1
Famadihana: Apache 2.0
Concurrent Versions System (CVS): GNU
Vesta: LGPL
Mercurial: GNU GPL v2+
Toy izao ny endriky ny fantsona DevOps miaraka amin'ny fanaraha-maso ny kaody loharano.

Ny fitaovana CI/CD dia afaka manamboatra ny fizotran'ny famerenana, ny fahazoana kaody loharano ary ny fiaraha-miasa eo amin'ny mpikambana. Tsy ratsy? Ahoana anefa no hamadihanao azy io ho fampiharana miasa mba hahafahan'ny olona an'arivony tapitrisa mampiasa sy mankasitraka azy io?
Dingana 3: Mamorona fitaovana fanamboarana automatique
Mahafinaritra! Azonao atao ny mijery ny kaody sy manao fanovana amin'ny fifehezana loharano, ary manasa ny namanao hiara-hiasa amin'ny fampandrosoana. Saingy mbola tsy namorona fampiharana ianao. Mba hanaovana rindranasa an-tranonkala dia tsy maintsy atambatra sy amboarina amin'ny endrika batch azo alefa na mandeha ho rakitra azo tanterahana. (Mariho fa tsy mila amboarina ny fiteny fandaharana voadika toy ny JavaScript na PHP).
Mampiasà fitaovana automatique fananganana. Na inona na inona fitaovana manangana automatique tianao hampiasaina dia mitovy ny tanjona: manangana ny kaody loharano amin'ny endrika tiana ary manaova ho azy ny asa fanadiovana, fanangonana, fitiliana ary fametrahana amin'ny tontolo iray manokana. Ny fitaovana fananganana dia hiova arakaraka ny fiteny fandaharanao, fa ireto misy safidy open source mahazatra.
anarana
Mombamomba ny mpanoratra
Fiteny fandaharana
Maven
Apache 2.0
Java
Ant
Apache 2.0
Java
gradle
Apache 2.0
Java
bazela
Apache 2.0
Java
ataovy
GNU
N / A
mimenomenona
MIT
JavaScript
mitelina
MIT
JavaScript
mpanao trano
Apache
Ruby
karohy
MIT
Ruby
AAP
GNU
Python
SCons
MIT
Python
BitBake
GPLv2
Python
Cake
MIT
C#
ASDF
Expat (MIT)
LISP
feno
BSD
Haskell
Mahafinaritra! Azonao atao ny mametraka ny fisie fanamboarana fitaovana automatique ao amin'ny rafitra fanaraha-maso loharano ary avelao ny fitaovana CI/CD anao hametraka ny zava-drehetra.

Tsara ny zava-drehetra, sa tsy izany? Fa aiza no hametrahana ny fampiharanao?
Dingana 4: Web Application Server
Amin'izao fotoana izao, manana rakitra voafono ianao izay azo tanterahana na azo apetraka. Mba hahatonga ny fampiharana rehetra tena ilaina, dia tsy maintsy manome karazana serivisy na interface tsara izy io, saingy mila fitoeran-javatra iray hampiantranoana ny fampiharanao ianao.
Ny mpizara fampiharana tranonkala dia fitoeran-javatra toy izany. Ny mpizara dia manome tontolo iray ahafahana mamaritra ny lojikan'ny fonosana apetraka. Ny mpizara koa dia manome interface tsara ary manolotra serivisy amin'ny Internet amin'ny alàlan'ny famoahana ny socket amin'ny tontolo ivelany. Mila mpizara HTTP ianao, ary koa tontolo iainana sasany (toy ny milina virtoaly) hametrahana azy. Amin'izao fotoana izao, andeha hojerentsika fa hianatra bebe kokoa momba an'io ianao (na dia handrakotra ny kaontenera etsy ambany aza aho).
Misy lohamilina fampiharana tranonkala open source maromaro.
anarana
Mombamomba ny mpanoratra
Fiteny fandaharana
Tomcat
Apache 2.0
Java
Jetty
Apache 2.0
Java
WildFly
GNU Lesser Public
Java
GlassFish
CDDL & GNU Kely Public
Java
Django
3-Clause BSD
Python
Tornado
Apache 2.0
Python
gunicorn
MIT
Python
Python
MIT
Python
lalamby
MIT
Ruby
Node.js
MIT
Javascript
Saika vonona hampiasaina ny fantsona DevOps anao. Niasa tsara!

Na dia afaka mijanona eo aza ianao ary mitantana ny fampidirana anao, ny kalitaon'ny kaody dia zava-dehibe ho an'ny mpamorona fampiharana iray tokony hanahy.
Dingana 5: Fandrakofana fitsapana kaody
Ny fampiharana andrana dia mety ho fitakiana manahirana hafa, fa ny mpamorona dia tsy maintsy misambotra ireo bibikely ao amin'ny fampiharana aloha ary manatsara ny kalitaon'ny kaody mba hahazoana antoka fa afa-po ny mpampiasa farany. Soa ihany fa misy fitaovana loharano misokatra maro hitsapana ny kaodinao sy ny fanolorana tolo-kevitra hanatsarana ny kalitaony. Ny tsara kokoa aza dia ny ankamaroan'ny fitaovana CI/CD dia afaka mifandray amin'ireo fitaovana ireo ary manao automatique ny fizotrany.
Ny fitsapana kaody dia misy fizarana roa: rafitra fitiliana kaody izay manampy anao hanoratra sy hanao andrana, ary fitaovana soso-kevitra manampy anao hanatsara ny kalitaon'ny kaody.
Rafitra fitiliana kaody
anarana
Mombamomba ny mpanoratra
Fiteny fandaharana
JUnit
Eclipse Public License
Java
EasyMock
Apache
Java
mockito
MIT
Java
PowerMock
Apache 2.0
Java
Pytest
MIT
Python
petra-kevitra
Mozilla
Python
tox
MIT
Python
Rafitra fanolorana ho fanatsarana ny kaody
anarana
Mombamomba ny mpanoratra
Fiteny fandaharana
Cobertura
GNU
Java
CodeCover
Eclipse Public (EPL)
Java
Coverage.py
Apache 2.0
Python
Emma
Fahazoan-dàlana ho an'ny daholobe
Java
JaCoCo
Eclipse Public License
Java
petra-kevitra
Mozilla
Python
tox
MIT
Python
Jasmine
MIT
JavaScript
Karma
MIT
JavaScript
Mocha
MIT
JavaScript
misy
MIT
JavaScript
Mariho fa ny ankamaroan'ireo fitaovana sy rafitra voalaza etsy ambony dia nosoratana ho an'ny Java, Python ary JavaScript, satria ny C ++ sy C # dia tenim-pandaharana manokana (na dia loharano misokatra aza ny GCC).
Ankehitriny rehefa nampihatra fitaovana fandrakofam-panadinana ianao dia tokony hitovy amin'ilay kisary aseho eo am-piandohan'ity lesona ity ny fantsona DevOps anao.
Dingana fanampiny
fitoeran
Araka ny nolazaiko dia azonao atao ny mampiantrano ny mpizara anao amin'ny milina virtoaly na mpizara, fa ny container dia vahaolana malaza.
Inona no atao hoe container? Ny fanazavana fohy dia ny milina virtoaly dia mila fitadidiana rafitra fiasa be dia be, mihoatra ny haben'ny rindranasa, fa ny fitoeran-javatra iray dia mila tranomboky sy fanamafisam-peo vitsivitsy fotsiny mba hampandehanana ny fampiharana. Mazava ho azy fa mbola misy fampiasana lehibe ho an'ny milina virtoaly, fa ny container dia vahaolana maivana amin'ny fampiantranoana fampiharana, anisan'izany ny mpizara fampiharana.
Na dia misy safidy fitahirizana hafa aza, ny malaza indrindra dia Docker sy Kubernetes.
Docker: Apache 2.0
Kubernetes: Apache 2.0
Fitaovana automatique intermediate
Ny fantsona DevOps anay dia mifantoka indrindra amin'ny famoronana sy fametrahana fampiharana fiaraha-miasa, saingy misy zavatra maro hafa azo atao amin'ny fitaovana DevOps. Ny iray amin'izy ireo dia ny fampiasana fitaovana Infrastructure as Code (IaC), izay antsoina koa hoe fitaovana automation middleware. Ireo fitaovana ireo dia manampy amin'ny fametrahana ho azy, ny fitantanana ary ny asa hafa ho an'ny middleware. Noho izany, ohatra, ny fitaovana automatique dia afaka mamoaka rindranasa toy ny lohamilina fampiharana amin'ny Internet, angon-drakitra ary fitaovana fanaraha-maso miaraka amin'ny fanamafisana marina ary mametraka azy ireo amin'ny lohamilina fampiharana.
Ireto misy fitaovana automatique middleware open source:
Ansible: GNU Public
SaltStack: Apache 2.0
Chef: Apache 2.0
Saribakoly: Apache na GPL

Mitadiava antsipiriany momba ny fomba hahazoana asa tadiavina hatrany am-boalohany na Level Up amin'ny lafiny fahaiza-manao sy karama amin'ny alàlan'ny fianarana amin'ny Internet karama avy amin'ny SkillFactory:
- (12 volana)
fianarana bebe kokoa
- (12 herinandro)
- (12 volana)
- (9 volana)
- (9 volana)
ilaina
Source: www.habr.com
