Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020

Pagsugod sa paggamit sa labing kaayo nga mga himan sa DevOps karon!

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang rebolusyon sa DevOps sa katapusan nakuha na ang kalibutan ug ang mga himan sa DevOps nahimong labi ka sikat. Sumala sa serbisyo Google Trends, ang gidaghanon sa mga hangyo alang sa "mga himan sa DevOps" kanunay nga nagtubo, ug kini nga uso nagpadayon.

Ang pamaagi sa DevOps naglangkob sa tibuuk nga siklo sa kinabuhi sa pagpalambo sa software, aron ang mga propesyonal makapili gikan sa lainlaing mga himan. Apan, sama sa imong nahibal-an, walay himan nga mahimong unibersal nga himan alang sa tanan. Bisan pa, ang pipila nga mga solusyon nagtanyag usa ka halapad nga mga gimbuhaton nga mahimo nila madumala ang hapit bisan unsang buluhaton.

Atong bahinon ang mga himan sa DevOps sa mga kategorya ug itandi kini sa mga analogue:

  • pagpalambo ug pagtukod sa mga himan
  • pagsulay sa mga himan sa automation
  • mga himan alang sa pag-organisar sa pag-deploy
  • Mga gamit sa runtime
  • mga himan sa kolaborasyon.

Malampuson ug mahunahunaon nga pagpatuman Praktisiyon sa DevOps naglakip sa mga instrumento gikan sa tanang lima ka grupo nga gilista sa ibabaw. Analisaha ang kasamtangan nga hugpong sa mga himan sa imong proyekto aron dili masipyat ang usa ka importante nga elemento sa pipeline sa CI/CD.

Pag-uswag ug Pagtukod nga mga Himan

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Kini ang sukaranan sa CI / CD pipeline stack. Nagsugod ang tanan dinhi mismo! Ang labing kaayo nga mga himan sa kini nga kategorya makadumala sa daghang mga sapa sa panghitabo ug dali nga mahiusa sa ubang mga produkto.

Niini nga yugto sa siklo sa kinabuhi sa kalamboan, adunay tulo ka grupo sa mga himan:

  • version control system (SCM)
  • padayon nga panagsama (CI)
  • Pagdumala sa datos

Ang GIT adunay positibo nga track record sa 2020, mao nga ang imong tool sa SCM kinahanglan adunay seamless nga suporta alang sa GIT. Alang sa CI, usa ka kinahanglanon mao ang abilidad sa pagpatuman ug pagpadagan sa mga pagtukod sa usa ka nahilit nga sulud sa sulud. Pag-abut sa pagdumala sa datos, nanginahanglan kini nga abilidad sa paghimo sa mga pagbag-o sa schema sa database ug pagpadayon sa database sumala sa bersyon sa aplikasyon.

SCM + CI Tool #1

mananaog: GitLab ug GitLab-CI

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang labing kaayo nga himan sa 2020 DevOps cycle mao ang walay duhaduha nga GitLab, ug kini siguradong magpadayon sa pagpanguna sa kabag-ohan sa umaabot.

Ang nag-unang gimbuhaton sa GitLab mao ang paghatag og komportable nga pagdumala sa usa ka Git repository. Ang interface sa web intuitive ug dali gamiton. GitLab naghatag sa tanan nga imong gikinahanglan sa usa ka libre nga bersyon ug moabut ingon nga SaaS ug on-prem (gamit ang imong kaugalingon nga mga kapanguhaan sa pag-host sa software).

Wala'y laing tool sa SCM nga naggamit sa padayon nga panagsama (CI) nga direkta sa imong repository, ug ang GitLab nagbuhat niini sa dugay nga panahon. Aron magamit ang GitLab-CI, kinahanglan nimong idugang ang .gitlab-ci.yml file sa imong source code nga gamut, ug ang bisan unsang mga pagbag-o sa proyekto magpahinabog mga aksyon base sa eksakto kung unsa ang imong gipiho. Ang GitLab ug GitLab-CI angayan nga giila isip mga lider sa natad sa padayon nga panagsama (CI-as-code).

Pangunang mga Kaayohan

  • Kasaligan - Ang produkto naa sa merkado sukad sa 2013; lig-on; maayo nga gisuportahan.
  • Open Source - Ang libre nga bersyon sa GitLab wala maglimite sa core functionality nga gikinahanglan sa mga development team. Ang bayad nga mga pakete sa serbisyo naghatag dugang nga mapuslanon nga mga bahin alang sa mga kompanya nga lainlain ang gidak-on ug panginahanglan.
  • Naka-engrained CI - Wala'y laing himan sa merkado nga nagtukod og padayon nga paghiusa direkta ngadto sa SCM sama sa GitLab-CI. Ang paggamit sa Docker nagsiguro nga wala’y problema nga nahimulag nga mga pagtukod, ug ang mga built-in nga mga taho nagpadali sa pag-debug. Wala kami magkinahanglan og komplikadong paghiusa ug pagdumala sa daghang mga himan sa samang higayon.
  • Unlimited Integrations - GitLab naghatag ug sayon ​​nga integration sa tanang DevOps tools nga imong gikinahanglan. Kini nagsiguro nga ang development ug maintenance teams adunay usa ka tinubdan sa impormasyon mahitungod sa ilang aplikasyon sa bisan unsa nga palibot.

Mga kauban

Miapil sa gubat, apan wala makadaog

Adunay uban pang mga sikat nga himan sa kini nga kategorya, apan dili sila sama ka maayo sa GitLab. Ug mao kana ang hinungdan:

GitHub - Kini usa ka maayo kaayo nga sistema sa pagkontrol sa bersyon sa SaaS alang sa gagmay nga mga kompanya ug sayo nga yugto sa pag-uswag. Alang sa dagkong mga kompaniya diin importante ang pagtipig sa mga IP address sa ilang kaugalingong network, ang bugtong solusyon gikan sa GitHub mao ang .OVA virtual machine nga walay suporta alang sa taas nga mga sistema sa pagkaanaa. Kini nakapalisud sa on-prem nga pagmentinar, gawas pa, ang .OVA angayan lamang alang sa mga medium-sized nga negosyo, kon dili ang server mag-crash lang ubos sa mas dako nga load. Ang kakulang sa GitHub Actions (hangtud bag-o lang ug wala pa sa usa ka on-prem nga bersyon) o CI-as-code nagpasabot nga kinahanglan ka nga mopili og lain nga himan sa CI ug dayon modumala sa maong panagsama. Sa katapusan, ang GitHub labi ka mahal kaysa bisan unsang bersyon sa GitLab.

Jenkins - Bisan kung ang Jenkins gikonsiderar nga sukaranan taliwala sa padayon nga mga himan sa panagsama pinaagi sa default, kini kanunay nga kulang sa mga kapabilidad sa pagkontrol sa bersyon. Kini nahimo nga imong gigamit ang Jenkins plus usa ka matang sa tool sa SCM. Lisud kaayo kung mahimo sa GitLab ang duha. Ang kasarangan nga disenyo sa UX dili angay alang sa usa ka moderno nga aplikasyon sa web ug daghan ang gusto.

BitBucket/Kawayan — Kinahanglan nako nga mailhan siya ingon usa ka awtomatiko nga napildi: ngano nga adunay duha nga mga himan kung ang GitLab naghimo sa tanan nga hingpit nga independente. Gisuportahan sa BitBucket Cloud ang GitLab-CI / GitHub Action functionality, apan walay kompanya nga mas dako pa sa usa ka startup ang daling makapatuman niini. Ang on-prem BitBucket server wala gani mosuporta sa BitBucket pipelines!

#1 Himan sa Pagdumala sa Data

mananaog: FlywayDB

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Sa pag-uswag sa aplikasyon sa web, ang automation sa database kasagarang wala gihatagan ug importansya. Ang ideya sa pag-deploy sa mga pagbag-o sa database schema alang sa mga bag-ong bersyon sa aplikasyon ulahi na. Ang mga pagbag-o sa schema sagad moresulta sa mga kolum o mga lamesa nga gidugang ug gibag-o sa ngalan. Kung ang bersyon sa aplikasyon dili motakdo sa bersyon sa schema, ang aplikasyon mahimong ma-crash. Dugang pa, ang pagdumala sa mga pagbag-o sa database kung ang pag-update sa usa ka aplikasyon mahimong mahagit tungod kay adunay duha nga lainlaing mga sistema. Gisulbad sa FlyWayDB kining tanan nga mga problema.

Pangunang mga Kaayohan

  • Pag-bersyon sa database - Gitugotan ka sa Flyway sa paghimo og mga bersyon sa database, pagsubay sa mga paglalin sa database, ug dali nga ibalhin o ibalik ang mga pagbag-o sa schema nga wala’y dugang nga himan alang niini.
  • Binary o Embedded - Mahimo natong pilion ang pagpadagan sa Flyway isip kabahin sa aplikasyon o isip binary executable. Gisusi sa Flyway ang pagkaangay sa bersyon sa pagsugod ug gisugdan ang angay nga mga paglalin, gipadayon ang pag-sync sa database ug mga bersyon sa aplikasyon. Pinaagi sa pagpadagan sa cmd line ad-hoc nga komand, naghatag kami og pagka-flexible sa kasamtangan nga mga database nga wala'y pagtukod pag-usab sa tibuok nga aplikasyon.

Mga kauban

Miapil sa gubat, apan wala makadaog

Wala’y daghang mga himan sa kini nga lugar. Atong tan-awon ang pipila niini:

LiquiBase - Ang Liquibase susama sa FlywayDB. Gusto nako nga ibutang kini sa ibabaw sa Flyway kung adunay usa sa akong team nga adunay daghang kasinatian sa Liquibase.

Flocker - Mahimo ra magtrabaho alang sa mga containerized nga aplikasyon. Aron malampuson nga makadagan ang mga containerized database, ang tanan kinahanglan nga hingpit nga giplano. Girekomendar nako ang paggamit sa RDS (Relational Database Service) alang sa mga database ug ayaw pagtambag sa pagtipig sa importante nga impormasyon sa usa ka sudlanan.

Test Automation Tools

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Atong sugdan ang atong diskusyon sa test automation tools pinaagi sa pagklasipikar niini base sa testing pyramid.

Ang testing pyramid (mga pagsulay) adunay 4 nga lebel:

  • Mga Pagsulay sa Yunit - Kini ang sukaranan sa tibuuk nga proseso sa awtomatiko nga pagsulay. Kinahanglan nga adunay daghang mga pagsulay sa yunit kung itandi sa ubang mga klase sa pagsulay. Ang mga developer nagsulat ug nagpadagan sa mga pagsulay sa yunit aron masiguro nga ang usa ka bahin sa usa ka aplikasyon (nailhan nga usa ka "unit") nahiuyon sa disenyo niini ug naglihok sama sa gipaabut.
  • Component Tests − Ang nag-unang katuyoan sa component testing mao ang pagmatuod sa input/output nga kinaiya sa test object. Kinahanglan natong sigurohon nga ang pag-andar sa butang nga pagsulay gipatuman sa husto sumala sa espesipikasyon.
  • Mga pagsulay sa panagsama - Usa ka matang sa pagsulay diin ang mga indibidwal nga module sa software gihiusa ug gisulayan ingon usa ka grupo.
  • End-to-End Tests - Kini nga lakang kay gipatin-aw sa kaugalingon. Among gimonitor ang tibuok nga aplikasyon ug siguruha nga kini molihok sama sa giplano.

Tungod kay ang mga pagsulay sa yunit ug pagsulay sa sangkap gihimo ra sa mga nag-develop ug kanunay nga piho nga sinultian sa programming, dili namon susihon kini nga mga himan alang sa natad sa DevOps.

#1 Himan sa Pagsulay sa Paghiusa

mananaog: Cucumber

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang pepino naghiusa sa mga detalye ug dokumentasyon sa pagsulay ngadto sa usa ka buhing dokumento. Ang mga detalye kanunay nga labing bag-o tungod kay kini awtomatiko nga gisulayan sa Cucumber. Kung gusto nimo nga magtukod og usa ka automated testing framework gikan sa scratch ug model user behavior sa usa ka web application, unya ang Selenium WebDriver uban sa Java ug Cucumber BDD usa ka maayong paagi sa pagkat-on ug pagpatuman sa Cucumber sa usa ka proyekto.

Pangunang mga Kaayohan

  • BDD nga pamaagi (Behavior Driven Development - "development through behavior" sukwahi sa "test-driven development" approach) - Ang pepino gidisenyo alang sa BDD testing, kini orihinal nga gimugna alang niini nga buluhaton.
  • Buhi nga Dokumentasyon - Ang dokumentasyon kanunay nga sakit! Tungod kay ang imong mga pagsulay gisulat ingon nga code, ang Cucumber nagsulay sa awtomatik nga nahimo nga dokumentasyon aron masiguro nga ang mga pagsulay ug dokumentasyon naa sa dungan.
  • Suporta - Makapili kami gikan sa daghang mga himan, apan ang Cucumber adunay gikinahanglan nga pinansyal nga mga kapanguhaan ug usa ka maayo nga pagkahan-ay nga sistema sa pagsuporta aron matabangan ang mga tiggamit sa bisan unsang lisud nga sitwasyon.

Mga kauban

Miapil sa gubat, apan wala makadaog

Taliwala sa ubang mga gambalay ug mga himan nga espesipiko sa teknolohiya, ang Pipino lamang ang maisip nga usa ka universal nga solusyon.

Katapusan sa Katapusan nga mga Tool sa Pagsulay

Kung nagpahigayon sa end-to-end nga pagsulay, kinahanglan nimo nga ipunting ang duha ka hinungdanon nga punto:

  • functional testing
  • Pagsulay sa Stress.

Sa functional testing, atong susihon kung mahitabo ba ang tanan nga gusto nato. Pananglitan, kung ako nag-klik sa pipila ka mga elemento sa akong SPA (usa ka panid nga aplikasyon), pun-a ang mga porma ug pilia ang "Isumite", ang data makita sa database ug ang mensahe nga "Success!" makita sa screen.

Mahinungdanon usab alang kanamo nga susihon nga ang usa ka piho nga gidaghanon sa mga tiggamit nga nagdagan sa parehas nga senaryo mahimong maproseso nga wala’y mga sayup.

Ang pagkawala niining 2 ka matang sa pagsulay mahimong usa ka mahinungdanong disbentaha sa imong CI/CD pipeline.

#1 end-to-end testing tool. Functional nga pagsulay

mananaog: SoapUI Pro

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang SoapUI naa sa wanang sa pagsulay sa API sa dugay nga panahon sukad nga ang mga serbisyo sa web nga nakabase sa SOAP mao ang sukaranan. Samtang wala na kami maghimo ug bag-ong mga serbisyo sa SOAP ug ang ngalan sa himan wala mausab, wala kana magpasabut nga wala kini nag-uswag. Naghatag ang SoapUI usa ka maayo kaayo nga balangkas alang sa paghimo og awtomatiko nga mga pagsulay sa pag-andar sa backend. Ang mga pagsulay dali nga makombinar sa padayon nga mga himan sa panagsama ug magamit isip bahin sa pipeline sa CI/CD.

Pangunang mga Kaayohan

  • Detalyadong dokumentasyon - Ang SoapUI dugay na nga naa sa merkado, busa adunay daghang mga kapanguhaan sa online nga makatabang kanimo nga masabtan kung giunsa ang pag-set up sa mga pagsulay.
  • Kasayon ​​sa Paggamit - Bisan kung ang himan nagsuporta sa daghang mga protocol alang sa pagsulay sa mga API, ang presensya sa SoapUI sa usa ka sagad nga interface alang sa daghang mga serbisyo nagpadali sa mga pagsulay sa pagsulat.

Mga kauban

Miapil sa gubat, apan wala makadaog

selenium maoy laing dakong instrumento niini nga grupo. Girekomenda ko ang paggamit niini kung nagtukod ka ug nagpadagan sa usa ka aplikasyon nga nakabase sa Java. Bisan pa, kung nagtukod ka usa ka bug-os nga aplikasyon sa web nga adunay daghang mga teknolohiya, mahimo’g dili kini magamit alang sa dili mga sangkap sa Java.

#1 end-to-end testing tool. Pagsulay sa Stress

mananaog: LoadRunner

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Pagpatin-aw: Pag-abot sa panahon nga i-load ang pagsulay sa matag elemento sa imong aplikasyon, ang LoadRunner lang ang makakompleto sa buluhaton. Oo, kini mahal ug lisud sa sinugdanan, apan ang LoadRunner mao lamang ang himan nga naghatag kanako, isip usa ka teknikal nga arkitekto, hingpit nga pagsalig nga ang bag-ong code molihok ubos sa grabeng mga kondisyon sa pagkarga. Usab, sa akong hunahuna kini ang panahon alang sa LoadRunner nga kuhaon sa mga tim sa pagpauswag kaysa mga tim sa pagsulay.

Pangunang mga Kaayohan

  • Daghang dokumentasyon - Ang LoadRunner dugay na nga naa sa merkado, busa adunay daghang mga kapanguhaan sa online aron matabangan ka nga masabtan kung giunsa ang pag-set up sa mga pagsulay sa pagkarga.
  • Suporta sa Protocol - Gisuportahan sa Load Runner ang tanan gikan sa ODBC hangtod sa AJAX, HTTPS ug bisan unsang uban nga dili hinungdanon nga protocol nga mahimo gamiton sa imong aplikasyon. Gisulayan namon nga dili mogamit daghang mga himan alang sa pagsulay sa pagkarga, tungod kay nagpakomplikado lamang kini sa proseso.

Mga kauban

Miapil sa gubat, apan wala makadaog

Pag-usab, wala'y daghang unibersal nga mga himan sa kini nga lugar, mao nga ang labing kaayo nga solusyon mao ang usa nga molihok sa bisan unsang palibot nga adunay bisan unsang teknolohiya.

Mga gamit sa pagdeploy

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang mga himan sa pag-deploy mao tingali ang labing gamay nga nasabtan nga aspeto sa kalamboan. Para sa operations team nga walay lawom nga pagsabot sa code ug functionality sa aplikasyon, lisud gamiton ang maong mga himan. Alang sa mga nag-develop, ang pagdumala sa pag-deploy usa ka bag-ong responsibilidad, mao nga wala pa sila igong kasinatian sa pagtrabaho sa ingon nga mga himan.

Una sa tanan, atong bahinon ang tanan nga mga himan sa pag-deploy sa tulo ka mga subkategorya:

  • pagdumala sa artifact
  • pagdumala sa configuration
  • ipakatap.

#1 Himan sa Pagdumala sa Artifact

mananaog: Nexus

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang Nexus artifact repository nagsuporta sa halos tanang dagkong teknolohiya, gikan sa Java ngadto sa NPM ngadto sa Docker. Magamit namo kini nga himan aron tipigan ang tanang artifact nga among gigamit. Ang pag-proxy sa mga tagdumala sa hilit nga pakete labi usab nga nagpadali sa proseso sa pagtukod sa CI, nga naghimo sa mga pakete nga mas dali nga magamit alang sa pagtukod. Laing bentaha mao ang abilidad sa pagkuha sa usa ka kompleto nga pagtan-aw sa tanan nga mga pakete nga gigamit sa daghang mga proyekto sa software, pag-ali sa dili luwas nga open source nga mga pakete (mahimo silang molihok ingon usa ka vector sa pag-atake).

Pangunang mga Kaayohan

  • Teknikal nga suporta - Masaligan nga produkto; maayo nga gisuportahan.
  • Open Source - Ang libre nga bersyon wala maglimite sa core functionality nga gikinahanglan sa mga development team.

#1 Himan sa Pagdumala sa Configuration

mananaog: Ansible

Si Ansible usa ka lider sa usa ka yano nga rason: walay estado. Kaniadto, ang parehas nga mga himan nagpunting sa pagdumala sa estado sa pag-configure. Kung gilansad, ang ingon nga himan, nga nakadawat sa gitinguha nga pagsumpo, mosulay sa pagtul-id sa karon nga pagsumpo sa aplikasyon. Ug sa bag-ong pamaagi, ang wala’y estado nga mga sangkap ra ang naa. Ang mga bag-ong bersyon sa code kay mga artifact nga gipakatap aron ilisan ang mga naa na. Mahimo kining isipon nga usa ka matang sa ephemeral, short-term nga palibot.

Pangunang mga Kaayohan

  • Stateless - Ang Playbook gilusad gikan sa deployment machine ug gipatuman sa mga target server. Dili ko kinahanglan nga mabalaka mahitungod sa kahimtang sa hilit nga butang pinaagi sa paggamit sa usa ka himan sama sa Packer sa paghimo sa deployable mga butang.
  • Open Source - Sama sa CentOS, ang Ansible gisuportahan usab sa RedHat. Nakatabang kini sa pagpadayon sa komunidad ug naghatag taas nga kalidad, dali gamiton nga mga module.
  • Pagsulay sa Molecule (usa ka Ansible nga balangkas) - Tungod kay ang pagdumala sa pag-configure usa ka code, sama sa tanan, ang pagsulay hinungdanon. Ang Molecule's Ansible role testing framework nagtrabaho nga walay depekto, nagsiguro nga ang configuration parehas og kalidad ug nagsunod sa samang CI/CD pipeline sama sa application code.
  • YAML - Kon itandi sa ubang mga himan, ang YAML mas sayon ​​sabton. Tungod kay ang pagdumala sa pag-configure kasagaran usa ka bag-ong hagit alang sa mga nagpatuman sa mga gawi sa DevOps, ang kayano mao ang trump card niini.

Mga kauban

Miapil sa gubat, apan wala makadaog

OpsCode Chef — Gisugdan nako ang akong karera sa DevOps isip developer sa cookbook. Si Ruby ug Chef siyempre mahal kaayo sa akong kasingkasing, apan wala nila masulbad ang mga problema sa modernong stateless, cloud-native nga mga aplikasyon. Ang OpsCode Chef usa ka maayo nga himan alang sa mas tradisyonal nga mga aplikasyon, apan sa kini nga artikulo naka-focus kami sa umaabot.

Mga manunugtog — Ang puppet wala gyud daghang mga fans, labi na kung itandi sa Chef ug Ansible. Maayo kini alang sa paghatag ug pagtrabaho kauban ang hardware, apan kulang kini nga suporta sa pagdumala sa moderno nga pag-configure alang sa usa ka aplikasyon sa web.

Tool sa pag-deploy #1

mananaog: Terraform

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Gisulbad sa Terraform ang problema sa paghubit sa imong imprastraktura ingon code, gikan sa mga sangkap sa network hangtod sa tibuuk nga mga imahe sa server. Kini nga produkto dugay na nga naabut sukad sa una nga pagpagawas niini, nga adunay daghang mga plugin nga gihimo ug usa ka lig-on nga komunidad nga gitukod nga sigurado ka nga makakuha og tabang sa bisan unsang senaryo sa pag-deploy. Ang abilidad sa pagsuporta sa bisan unsang matang sa palibot (on-premise, sa panganod, o bisan asa) dili hitupngan. Sa katapusan, ang pinakabag-o nga bersyon naghatag sa kadaghanan sa parehas nga logic function ug mga klase sa HCL sama sa bisan unsang tradisyonal nga programming language, nga naghimo sa Terraform nga dali nga masabtan sa mga developer nga dali ug dali.

Pangunang mga Kaayohan

  • Environment agnostic - Ang Terraform naggamit sa mga function nga naglihok isip interface tali sa imong Terraform code, tanang API, ug internal logic aron makigkomunikar sa infrastructure provider. Nagpasabot kini nga usa lang ka himan ang akong ma-master ug makatrabaho bisan asa.
  • Open Source - Lisud pildihon ang libre nga mga himan! Suporta sa komunidad sa pinakataas nga lebel.

Mga kauban

Miapil sa gubat, apan wala makadaog

Pagporma sa AWS Cloud — Bisan kung nagtrabaho ka lang sa AWS cloud environment, ang imong sunod nga trabaho mahimong mogamit ug lahi nga himan. Ang pagpahinungod sa tanan nimong oras ug kusog sa usa lang ka plataporma usa ka mubo nga panan-aw nga desisyon. Dugang pa, daghang mga bag-ong serbisyo sa AWS ang kanunay magamit ingon mga module sa Terraform sa wala pa kini magamit sa CloudFormation.

Mga gamit sa runtime

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020

Ang katapusang katuyoan sa bisan unsang proyekto sa pag-uswag mao ang paglansad sa aplikasyon sa produksiyon. Sa kalibutan sa DevOps, gusto namon nga hingpit nga mahibal-an ang tanan nga posible nga mga problema sa among palibot, ug gusto usab namon nga maminusan ang manual nga interbensyon. Ang pagpili sa husto nga hugpong sa mga himan sa runtime hinungdanon aron makab-ot ang nirvana sa pagpalambo sa aplikasyon.

Mga subkategorya sa mga himan sa runtime:

  • X-as-a-serbisyo (XaaS)
  • orkestrasyon
  • pagmonitor
  • logging.

X-tool-as-a-service #1

mananaog: Amazon Web Services

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang Amazon kanunay nga nanguna sa mga teknolohiya sa panganod, apan wala kini mohunong didto: ang lainlaing mga bag-ong serbisyo alang sa mga nag-develop nagbukas sa mata. Dad-a ang bisan unsang teknolohiya ug template sa AWS ug kini matukod ug modagan. Ang gasto sa himan makatarunganon kaayo: itandi kini sa pag-assemble, pagdumala ug pagmentinar sa mga ekipo sa imong kaugalingong data center. Ang libre nga bersyon nagtugot kanimo sa pag-eksperimento ug paghimo sa husto nga desisyon sa dili pa mogasto og salapi.

Pangunang mga Kaayohan

  • Prevalence - Kung ikaw adunay kasinatian sa paghimo og mga aplikasyon sa AWS, mahimo ka magtrabaho bisan asa. Ang mga negosyo ganahan sa AWS, ug ang mga startup nagpasalamat usab sa mubu nga gasto niini.
  • Ang libre nga bersyon usa ka tinuud nga hinungdanon nga hinungdan nga nagpalahi sa AWS gikan sa mga kauban niini. Tugoti ako nga sulayan ang serbisyo ug tan-awon kung giunsa kini molihok sa wala pa ako mohimo usa ka desisyon sa pagpalit, dili ko gusto nga mogasto og liboan ka dolyar sa usa ka butang nga wala kinahanglana. Ang libre nga bersyon kanunay igo alang kanako sa pagsulay sa bisan unsang konsepto.

Mga kauban

Miapil sa gubat, apan wala makadaog

azure "Ang Azure dugay na nga naabot sukad sa una nga pagpagawas niini, ug kini dalaygon. Bisan pa, ang tinguha nga mahimong lahi misangpot sa mga katingad-an nga mga ngalan alang sa mga serbisyo, nga sagad makapakomplikado sa trabaho. Unsay buot ipasabot sa "blob storage"? Ug samtang ang .NET code naglihok nga mas maayo sa Microsoft ecosystem, dili tingali nga mogamit ka lang sa .NET alang sa matag bahin sa imong aplikasyon.

Heroku — Dili gyud ko magpadagan bisan unsa gawas sa usa ka personal nga proyekto sa Heroku tungod sa ubos nga lebel sa pagkakasaligan ug transparency, mao nga ang mga kompanya kinahanglan dili mogamit niini ingon usa ka plataporma. Ang Heroku maayo alang sa pagpakita sa usa ka butang sa usa ka blog, apan alang sa praktikal nga paggamit - "Dili, salamat!"

#1 Himan sa Orkestra

mananaog: openshift

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Tingali naggamit ka Docker o uban pang mga sudlanan sa imong stack sa aplikasyon. Nindot ang mga aplikasyon nga walay server, apan dili kini angay sa matag arkitektura. Ang pagpadagan sa mga sudlanan nga walay orkestrasyon nga plataporma dili gyud molihok. Ang Kubernetes Core (K8s) dili hitupngan sa termino sa seguridad ug tooling. Ang OpenShift mao ra ang platform nga nakabase sa Kubernetes nga makakolekta sa Source2Image, nagsuporta sa awtomatiko nga pag-deploy sa mga pod, ug nagsuporta sa pagsubay ug pag-monitor. Ang OpenShift mahimong ipadagan sa prem, sa panganod, o sa prem ug sa panganod sa samang higayon.

Pangunang mga Kaayohan

  • Gitukod nga Seguridad - Ang pagdumala sa seguridad sa K8 mahimong magkinahanglan usa ka advanced degree. Ang matag detalye kinahanglan nga hunahunaon pag-ayo ug tagdon! Ang mga mekanismo sa seguridad nga gitukod pinaagi sa default sa OpenShift nagkuha sa palas-anon sa mga developer ug naghatag og mas luwas nga plataporma alang sa mga aplikasyon.
  • All-in-one nga solusyon - Dili sama sa mga batakang K8, nga wala maglakip sa mga himan sa pagbalanse sa load pinaagi sa default, ang OpenShift adunay tanan. Magamit nako kini sa paghimo ug pag-host sa mga sudlanan, pagpadagan sa mga gamit sa CI/CD, pagdumala sa mga eksternal nga proseso, pagdumala sa mga yawe, ug daghan pa. Bisan tuod ang graphical user interface layo pa sa hingpit, ang API-based nga paagi nagpasabot nga ang tanan mahimong mahulagway sa usa ka script. Dili sama sa ubang mga GUI para sa K8s, ang OpenShift naghimo sa pagkat-on sa mga sukaranan sa Kubernetes nga mas sayon. Dili nimo kinahanglan nga makakuha usa ka degree!

Mga kauban

Miapil sa gubat, apan wala makadaog

Pagdugok sa Docker - Gisulayan sa Docker Swarm nga pasimplehon ang mga K8 pinaagi sa pagtangtang sa daghang mga butang. Maayo kini alang sa gagmay nga mga aplikasyon, apan alang sa mga aplikasyon sa negosyo dili kini molihok. Dugang pa, ang mga solusyon sama sa AWS ECS nagkuha og susama nga pamaagi apan gipasayon ​​ang pagtrabaho sa ubang mga serbisyo nga mahimo usab nakong makig-uban (Lambda, IAM, ug uban pa).

Tool sa pagmonitor #1

mananaog: Bag-ong Relic

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang una nga pagpagawas sa Bag-ong Relic nakahimo usa ka butang nga maayo - pag-monitor sa APM (Application Performance Monitoring). Kini karon usa ka bug-os nga bahin nga himan sa pag-monitor nga nagtugot kanimo sa pag-monitor sa server, sudlanan, pasundayag sa database, pag-monitor sa kasinatian sa katapusan sa tiggamit, ug siyempre, pag-monitor sa pasundayag sa aplikasyon.

Pangunang mga Kaayohan

  • Kasayon ​​sa Paggamit - Sa dihang nagtrabaho ko isip usa ka system engineer, migamit ko og daghang mga himan sa pagmonitor, apan wala pa ako makasugat og usa ka yano ug sayon ​​nga gamiton sama sa New Relic. SaaS kini, mao nga dili nimo kinahanglan nga i-install kini sa imong kaugalingon.
  • End-to-end visibility - Ang ubang mga himan mosulay sa pagmonitor sa usa ka piho nga elemento sa imong aplikasyon. Pananglitan, usa ka sukatan sa paggamit sa processor o trapiko sa network, apan kining tanan kinahanglan nga bantayan nga komprehensibo aron ang aplikasyon molihok sa husto. Ang Bag-ong Relic naghatag kanimo ug katakus sa paghiusa sa tanan nimong datos aron makakuha usa ka komprehensibo nga pagtan-aw sa kung unsa ang nanghitabo.

Mga kauban

Miapil sa gubat, apan wala makadaog

Zabbix — Ang akong una ug paborito nga sistema sa pag-monitor, apan kini nagpabilin sa nangagi tungod sa kakulang sa pag-uswag sa mga teknolohiya sa panganod ug sa natad sa pag-monitor sa pasundayag sa aplikasyon sa APM. Gibuhat gihapon ni Zabbix ang tradisyonal nga pag-monitor sa imprastraktura sa server, apan kana ang bahin niini.

DataDog — Sobra nga naka-focus sa proseso sa pagdumala sa palibot sa produksiyon sa aplikasyon, ug dili sa code mismo. Sa mga DevOps teams nga naglambigit sa mga developers, dili na mi magsalig sa lisod gamiton nga mga himan para makahatag ug top-notch nga suporta.

Tool sa pag-log #1

mananaog: Gipili

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Lisud nga makigkompetensya sa Splunk! Sa dugay nga panahon siya nagpabilin nga nanguna sa pagpamutol, nga nagpadayon sa pagbuhat niini nga labi ka maayo kaysa bisan kinsa. Uban sa on-prem ug SaaS nga mga halad, mahimo nimong gamiton ang Splunk bisan asa. Ang dako nga downside mao ang presyo niini: Ang Splunk mahal gihapon!

Pangunang mga Kaayohan

  • Pagkalapnag - Ang mga negosyo nahigugma sa Splunk, ug ang mga kompanya adunay kuwarta aron mapalit kini.
  • Bisan kung ang mga startup naningkamot sa pagbawi sa mga gasto, daghang mga gimbuhaton ang masulbad salamat sa bukas nga gigikanan nga mga analogue.
  • Pagpadayon - Sa yanong pagkasulti, ang Splunk nagtrabaho ug maayo kini. Kini adunay daghang mga default nga setting ug mga bahin nga andam gamiton. Dili kinahanglan nga mag-usik sa oras sa pagbasa sa dokumentasyon ug pagsulay nga magamit ang Splunk o ma-decipher ang bisan unsang butang.

Mga kauban

Miapil sa gubat, apan wala makadaog

ELK Stack (ElasticSearch, LogStash ug Kibana) "Kini nga mga himan ingon ang mga paborito tungod kay dili nimo kinahanglan ibaligya ang imong atay aron magamit kini." Bisan pa, samtang ang hugpong sa mga troso motubo ug ang gidaghanon sa mga aplikasyon sa board nagdugang, ang trabaho nahimong labi ka lisud. Kung itandi sa Splunk, uban sa ELK Stack migugol ako og mas daghang oras sa pag-set up sa tooling sa wala pa maghimo og bisan unsang mga dashboard kaysa kaniadto.

Mga Himan sa Kolaborasyon

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang DevOps nag-una bahin sa pagbag-o sa kultura sulod sa usa ka organisasyon. Ang pagpalit sa bisan unsang himan dili makausab sa kasamtangang mga gawi sa tibuok gabii, apan kini siguradong makadasig sa kolaborasyon ug bag-ong mga paagi sa pagpakig-uban.

Mga subkategorya sa mga himan sa kolaborasyon:

  • pagsubay sa buluhaton
  • ChatOps
  • dokumentasyon.

#1 Himan sa Pagsubay sa Isyu

mananaog: Jira

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Gipadayon ni Jira ang posisyon sa pagpangulo, bisan kung ang kompetisyon sa kini nga lugar nagkadaghan. Ang dili katuohan nga pagka-flexible ni Jira nagtugot sa mga team sa pag-uswag ug pagmentinar sa pagdumala sa trabaho sa proyekto ug mga buluhaton sa sprint. Ang mga built-in nga sumbanan gamit ang Agile terminolohiya nagpasayon ​​sa paglihok gikan sa tradisyonal nga mga paagi sa pagtrabaho ngadto sa mas episyente nga mga proseso.

Pangunang mga Kaayohan

  • Pagkapopular - Sama sa daghang uban pang mga himan, ang Jira gigamit halos bisan asa. Ang gagmay nga mga team naggamit sa mas barato, mas dali nga magamit nga bersyon ug makuha ang tanan nga ilang gikinahanglan, samtang ang dagkong mga kompanya maka-afford sa mas mahal nga lisensya.
  • Integrations - Si Jira usa ka pioneer sa natad niini. Kini nga kamatuoran ug ang paspas nga pag-uswag sa produkto nagdala ngadto sa kamatuoran nga ang ubang mga kompanya mipili sa Jira sa paghimo sa ilang kaugalingong mga panagsama, sa ingon nagdugang sa bili sa himan. Mahimo namon nga i-integrate ang Jira sa tanan nga mga himan nga gilista sa kini nga artikulo sa gawas sa kahon nga adunay gamay nga pag-configure.

Mga kauban

Miapil sa gubat, apan wala makadaog

Trello - Ang Trello dali nga nakakuha sa pagkapopular salamat sa libre nga tool sa Kanban. Bisan pa, sa higayon nga ang mga proseso sukod ug moadto ka gikan sa daghang mga buluhaton hangtod sa libu-libo, ang Trello mahimong lisud sa pag-navigate, pagpangita, ug pagreport.

Pigos nga Tracker - Usa ako ka dako nga fan niini nga himan sa dihang nagtrabaho ako alang sa usa ka startup. Bisan pa, ang Pivotal Tracker mas naka-focus sa pagdumala sa produkto kaysa mga teknikal nga buluhaton. Bisan kung ang pagdumala sa produkto sa Jira medyo labi ka komplikado, mahimo gihapon kini ipatuman didto nga wala mogamit usa ka dugang nga himan.

Tool sa ChatOps #1

mananaog: MatterMost

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Pagpatin-aw: Tingali ang pinakadako nga sorpresa alang kanimo sa akong pagpili, ug kana maayong balita! Ang MatterMost nakakuha sa pagkapopular pinaagi sa pagkuha sa labing kaayo gikan sa miaging mga himan apan gibutang kini sa prem. Kini hinungdanon kaayo alang sa mga kompanya: Gitugotan ka sa MatterMost nga makontrol ang imong datos ug makatabang usab kanimo nga i-integrate kini sa mga himan nga magamit sa lokal. Dili na kinahanglan nga mogawas sa firewall aron susihon ang mga chat sa trabaho.

Pangunang mga Kaayohan

  • Bukas nga Tinubdan - Ang bukas nga gigikanan nga bersyon sa MatterMost maayo alang sa medium ug dagkong mga koponan. Dili sama sa libre nga plano sa Slack, nga nagtangtang sa imong kasaysayan sa mensahe, ang pagpadagan sa imong kaugalingon nga server nagpasabut nga imong gitipigan ang tanan nimo nga datos.
  • Mga panagsama - Tungod kay ang API hapit 100% nga gibase sa Slack API, hapit tanan nga mga panagsama sa Slack mahimong magamit direkta sa MatterMost.

Mga kauban

Miapil sa gubat, apan wala makadaog

nga tapulan - Ang Slack cool, apan kini nga mga lalaki mitubo pag-ayo nga nagsugod sila sa pagpangita og ganansya. Ang payback phase sa negosyo nagkaduol, nga nagkuha sa ilang nag-unang bili: Ang Slack naghatag og mga serbisyo nga libre; Ang labing hinungdanon nga disbentaha sa libre nga bersyon mao ang pagtangtang sa kasaysayan sa chat.

Microsoft Teams — Sulayi ang paghiusa sa usa ka produkto sa Microsoft sa usa ka butang nga dili gipanag-iya sa Microsoft... Good luck! Mao ra kana ang akong isulti bahin sa kini nga himan!

Himan sa Dokumentasyon #1

mananaog: Pag-uswag

Mga Himan sa DevOps Ang Tanan Kinahanglang Makat-on sa 2020
Ang paghimo ug pagpadayon sa kalidad nga teknikal nga dokumentasyon usa ka komplikado nga proseso, bisan unsa nga himan ang imong gigamit. Bisan kung daghang mga galamiton sa dokumentasyon sa SaaS ang miabot sa merkado bag-o lang, maglisud ako sa pag-outsource sa pagtipig sa teknikal nga dokumentasyon bahin sa mga aplikasyon nga kritikal sa misyon sa usa ka ikatulo nga partido. Mas maayo nga tipigan ang mga datos ug mga dokumento sa prem, ug mao kini kung giunsa kini pagsulbad sa Confluence.

Pangunang mga Kaayohan

  • Sayon sa pag-operate - Kadaghanan sa stand-alone nga mga himan mahimong medyo komplikado sa pag-set up ug pag-operate ug nagkinahanglan og pipila ka kahibalo sa pagpadayon. Ang Confluence Server nagtrabaho nga maayo sa gawas sa kahon alang sa 10 o 10,000 nga tiggamit.
  • Mga Plugin - Kudos to Confluence sa pagkaadunay nindot, dali gamiton nga nabigasyon gawas sa kahon, ug ang abilidad sa pagdugang ug plugin para sa halos tanan nga butang nagbukas sa potensyal nga sama sa Wiki.

Mga kauban

Miapil sa gubat, apan wala makadaog

Basaha ang mga doc — Cool alang sa open source, apan ayaw paghunahuna mahitungod sa pagtipig sa kritikal nga kahibalo dinhi.

Markdown - Maayo alang sa pagdokumento sa code, apan lisud ang pag-post sa arkitektura, mga proseso, o uban pang mga tipo sa dokumentasyon tungod sa piho nga pag-format sa MarkDown.

Jekyll — Kung nagdokumento sa teknikal nga kahibalo, dili ko gusto nga maghimo usa ka bag-ong static nga site nga i-deploy sa matag higayon nga adunay pagbag-o. Ang yano nga sistema sa pagkontrol sa bersyon sa Confluence labi nga nagpasimple sa internal nga dokumentasyon.

Himoon naton ang mga resulta

Adunay literal nga gatusan nga mga himan sa DevOps sa merkado, nga nagpalisud nga mahibal-an kung kinsa ang gamiton ug kung kanus-a kini ipatuman. Sunda kining yano nga giya sa pagpili sa mga himan sa DevOps alang sa usa ka kompleto nga pipeline sa CI/CD.

Siguroha ang pagpili sa mga himan gikan sa tanang lima ka mga kategoriya:

  • pagpalambo ug pagtukod sa mga himan
  • pagsulay sa mga himan sa automation
  • mga himan sa pag-deploy
  • Mga gamit sa runtime
  • mga himan sa kolaborasyon.

Panguna nga rekomendasyon: I-automate ang tanan!

Salamat Zach Shapiro!

Source: www.habr.com

Idugang sa usa ka comment