{"id":36933,"date":"2019-10-31T22:14:50","date_gmt":"2019-10-31T19:14:50","guid":{"rendered":"https:\/\/prohoster.info\/blog\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami\/"},"modified":"2019-10-31T22:14:50","modified_gmt":"2019-10-31T19:14:50","slug":"slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","title":{"rendered":"Sle\u00ebrm DevOps: no Git l\u012bdz SRE ar vis\u0101m pietur\u0101m","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>No 4-6. septembr\u012b Sanktp\u0113terburg\u0101, konferen\u010du telp\u0101 Selectel notiks tr\u012bs dienu <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Sl\u0113rm DevOps<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Sle\u00ebrm DevOps: no Git l\u012bdz SRE ar vis\u0101m pietur\u0101m\" src=\"\/wp-content\/uploads\/2019\/08\/3306f0eab4bfd6360eda928fdc317a59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>M\u0113s veidoj\u0101m programmu, pamatojoties uz domu, ka teoriskos darbus par DevOps, k\u0101 ar\u012b r\u012bku rokasgr\u0101matas katrs var izlas\u012bt pats. Interesanti ir tikai pieredze un prakse: skaidrojums, k\u0101 j\u0101dara un k\u0101 nedr\u012bkst dar\u012bt, un st\u0101sts par to, k\u0101 m\u0113s to dar\u0101m.<\/p>\n<p><\/p>\n<p>Katram uz\u0146\u0113mumam, katram administratoram vai izstr\u0101d\u0101t\u0101jam ir savs DevOps l\u012bmenis. Da\u017ei nepareizi izmanto Git, citi ievie\u0161 SRE. Kurss organiz\u0113ts t\u0101, lai katrs atrastu kaut ko aktu\u0101lu, ko var ieviest \u0161eit un tagad.<\/p>\n<p><\/p>\n<p>S\u0101kam ar Git, p\u0113c tam skat\u0101mies uz lietojumprogrammas izstr\u0101di, kodu un infrastrukt\u016bras mijiedarb\u012bbu, veidojam CI\/CD, aprakst\u0101m infrastrukt\u016bru k\u0101 kodu (IaC), test\u0113jam ieg\u016bto risin\u0101jumu, iestat\u0101m uzraudz\u012bbu, apkopo un p\u0113ta \u017eurn\u0101lus, un beig\u0101s non\u0101kam l\u012bdz SRE: p\u0101rv\u0113r\u0161am uzticam\u012bbu par izm\u0113r\u0101mus un p\u0101rvald\u0101mus st\u0101stus.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"git\">Git<\/h2>\n<p><\/p>\n<p>Pa\u0161laik ar Git neizmanto tikai tas, kur\u0161 vakar nopirka pirmo kl\u0113pjdatoru. Tas ir triv\u0101ls un pla\u0161i izmantots r\u012bks, un tom\u0113r m\u0113s bie\u017ei sastopam t\u0101 nepareizu izmanto\u0161anu: s\u0101kot no spiediena uz master un beidzot ar failu kop\u0113\u0161anu no Gita server\u012b, izmantojot Ctrl-C, Ctrl-V.<\/p>\n<p><\/p>\n<p>St\u0101st\u0101m, k\u0101 nedr\u012bkst dar\u012bt, k\u0101 j\u0101dara, k\u0101 to dara Southbridge.<br \/>\nIziet cauri praks\u0113: Git pamati, komanddarbs.<\/p>\n<p><\/p>\n<p><strong>T\u0113ma \u21161: Git pamati<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Pamata komandas git init, commit, add, diff, log, status, pull, push<\/li>\n<li>Git flow, zari un tagi, apvieno\u0161anas strat\u0113\u0123ijas<\/li>\n<li>Darbs ar vair\u0101kiem att\u0101lin\u0101tiem repozitorijiem<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u0113ma \u21162: Komanddarbs ar Git<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>GitHub flow<\/li>\n<li>Fork, att\u0101lin\u0101tais, pull piepras\u012bjums<\/li>\n<li>Konflikti, rel\u012bzes, v\u0113lreiz par Gitflow un citiem flow, attiec\u012bb\u0101 uz komand\u0101m<\/li>\n<\/ul>\n<p><\/p>\n<p>Materi\u0101ls organiz\u0113ts t\u0101, lai administratori un izstr\u0101d\u0101t\u0101ji var\u0113tu nekav\u0113joties ieviest visas prakses darb\u0101.<\/p>\n<p><\/p>\n<p>No DevOps viedok\u013ca pareiza darb\u012bba ar Git k\u0101rto un automatiz\u0113 izstr\u0101des un administr\u0113\u0161anas procesus, nov\u0113r\u0161 vair\u0101kas atk\u0101rtojo\u0161as probl\u0113mas, palielina darba efektivit\u0101ti.<\/p>\n<p><\/p>\n<h2 id=\"devops-razrabotchika\">DevOps izstr\u0101d\u0101t\u0101js<\/h2>\n<p><\/p>\n<p>Skat\u0101mies uz DevOps izstr\u0101d\u0101t\u0101ja ac\u012bm: uzs\u0101kam lok\u0101lo vidi, rakst\u0101m lietojumprogrammu, iestat\u0101m t\u0101s uzraudz\u012bbu un \u017eurn\u0101lo\u0161anu, lok\u0101li to test\u0113jam, organiz\u0113jam main\u012bgo\/sekr\u0113tu un pakalpojumu atkl\u0101\u0161anu, skat\u0101mies izseko\u0161anu (opentracing).<\/p>\n<p><\/p>\n<p><strong>T\u0113ma \u21163: Darbs ar lietojumprogrammu no izstr\u0101d\u0101t\u0101ja viedok\u013ca<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Lok\u0101l\u0101s vides iestat\u012b\u0161ana: praktiski ieteikumi<\/li>\n<li>Rakst\u0101m mikroservisu Python (ieskaitot testus)<\/li>\n<li>Docker-compose izmanto\u0161ana izstr\u0101d\u0113<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u0113ma \u21164: Koda un infrastrukt\u016bras mijiedarb\u012bba<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Prakse darb\u0101 ar konfigur\u0101cij\u0101m<\/li>\n<\/ul>\n<p><\/p>\n<p>Izstr\u0101d\u0101t\u0101ji redz\u0113s, k\u0101 kods j\u0101nos\u016bta \u017eurn\u0101los, k\u0101 to test\u0113t un k\u0101 to v\u0113l\u0101k debugs. Administratori saprat\u012bs izstr\u0101d\u0101t\u0101ju vajadz\u012bbas: k\u0101das k\u013c\u016bdas kod\u0101 past\u0101v, k\u0101 organiz\u0113t izstr\u0101d\u0101t\u0101ju test\u0113\u0161anu, k\u0101 pa\u0161iem test\u0113t projektu.<\/p>\n<p><\/p>\n<p>\u0160aj\u0101 posm\u0101 tiek risin\u0101ta galven\u0101 DevOps uzdevums: tiek izveidota savstarp\u0113ja sapratne un sadarb\u012bba starp izstr\u0101d\u0101t\u0101jiem un oper\u0101ciju speci\u0101listiem. Tas ir b\u016btisks solis p\u0101rej\u0101 no uzdevumu p\u0101rs\u016bt\u012b\u0161anas uz atbild\u012bgu mijiedarb\u012bbu.<\/p>\n<p><\/p>\n<p>Rezult\u0101t\u0101 palielin\u0101s darba \u0101trums un kvalit\u0101te.<\/p>\n<p><\/p>\n<h2 id=\"cicd\">CI\/CD<\/h2>\n<p><\/p>\n<p>M\u016bsdienu automatiz\u0101cija noz\u012bm\u0113 CI\/CD. S\u0101ksim ar roku automatiz\u0101ciju: make faili, git hooks, skripti. Apspried\u012bsim, kad \u0161ie r\u012bki joproj\u0101m ir aktu\u0101li, un kad tos nevajadz\u0113tu izmantot.<\/p>\n<p><\/p>\n<p>P\u0113c tam iepaz\u012bsimies ar lab\u0101kaj\u0101m CI m\u016bsdienu praks\u0113m Gitlab piem\u0113ram.<\/p>\n<p><\/p>\n<p><strong>T\u0113ma \u21165: CI\/CD ievads automatiz\u0101cij\u0101<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Ievads automatiz\u0101cij\u0101<\/li>\n<li>R\u012bki (bash, make, gradle)<\/li>\n<li>Git hooks izmanto\u0161ana procesu automatiz\u0101cijai<\/li>\n<li>Ra\u017eo\u0161anas konveijera l\u012bnijas un to pielietojums IT<\/li>\n<li>Piem\u0113rs \u00abkop\u0113j\u0101\u00bb pipelines izveid\u0113<\/li>\n<li>M\u016bsdienu CI\/CD r\u012bki: Drone CI, BitBucket Pipelines, Travis u.c.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u0113ma \u21166: CI\/CD: Darbs ar Gitlab<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Gitlab CI \u2014 visp\u0101r\u012bgi<\/li>\n<li>Gitlab Runner, to veidi un pielietojums<\/li>\n<li>Gitlab CI, iestat\u012b\u0161anas \u012bpatn\u012bbas, lab\u0101k\u0101s prakses<\/li>\n<li>Gitlab CI posmi<\/li>\n<li>Gitlab CI main\u012bgie<\/li>\n<li>B\u016bv\u0113\u0161ana, test\u0113\u0161ana, izvieto\u0161ana<\/li>\n<li>Izpildes kontrole un ierobe\u017eojumi: only, when<\/li>\n<li>Darbs ar artefaktiem<\/li>\n<li>\u0160abloni iek\u0161 .gitlab-ci.yml, darb\u012bbu atk\u0101rtota izmanto\u0161ana da\u017e\u0101d\u0101s pipelines da\u013c\u0101s<\/li>\n<li>Include \u2014 sekcijas<\/li>\n<li>Centraliz\u0113ta gitlab-ci.yml p\u0101rvald\u012bba (viens fails un autom\u0101tiski push uz p\u0101r\u0113jiem repozitorijiem)<\/li>\n<\/ul>\n<p><\/p>\n<p>Administratori un izstr\u0101d\u0101t\u0101ji sadarb\u012bb\u0101 sasniedz jaunu l\u012bmeni: administrators raksta CI \u0161ablonu, bet izstr\u0101d\u0101t\u0101ji to labojot veido savu CI neatkar\u012bgi no administratora.<\/p>\n<p><\/p>\n<p>Samazin\u0101s izstr\u0101d\u0101t\u0101ju atkar\u012bba no administratoriem, samazin\u0101s manu\u0101lais darbs un izz\u016bd probl\u0113ma \u00abvien\u012bgais cilv\u0113ks, kur\u0161 zina, k\u0101 str\u0101d\u0101t ar make failu\u00bb. Izlaides notiek dro\u0161i un \u0101tri.<\/p>\n<p><\/p>\n<h2 id=\"iac\">IaC<\/h2>\n<p><\/p>\n<p>T\u0113mu Infrastructure as Code, izmantojot Terraform, izst\u0101st\u012bs Selectel m\u0101kon\u012b p\u0101rvaldnieks Aleksejs Stepanenko. Vi\u0146\u0161 par\u0101d\u012bs, k\u0101 \u0101tri un automatiz\u0113ti izv\u0113rst un palielin\u0101t serverus, k\u0101 autom\u0101tiski iepakot att\u0113lus, k\u0101 izmantot konfigur\u0101cijas veidnes, lai nekav\u0113joties ieg\u016btu iestat\u012btas ma\u0161\u012bnas.<\/p>\n<p><\/p>\n<p>Cilv\u0113ks, kur\u0161 izveidojis t\u016bksto\u0161iem IaC risin\u0101jumu, past\u0101st\u012bs, k\u0101 dar\u012bt pareizi un k\u0101 nedar\u012bt.<\/p>\n<p><\/p>\n<p>Selectel risin\u0101jums ar minim\u0101l\u0101m izmai\u0146\u0101m ir piem\u0113rots Google un Amazon m\u0101koniem.<\/p>\n<p><\/p>\n<p>Darbinieks no Southbridge Nikolajs Mesropjans, izmantojot Ansible, par\u0101d\u012bs, k\u0101 bez d\u012bkst\u0101ves izv\u0113rst darbojo\u0161os lietotni un p\u0101rbaud\u012bt t\u0101s darb\u012bbu.<\/p>\n<p><\/p>\n<p>Ja j\u016bs roka main\u0101t infrastrukt\u016bru (iestat\u0101t serverus, p\u0113c vajadz\u012bbas instal\u0113jat bibliot\u0113kas, paketes), m\u0113\u0123inot pacelt vides kopiju, jums j\u0101atceras un j\u0101atjauno visas j\u016bsu darb\u012bbas. \u0160\u012b uzdevums viegli aiz\u0146em 3\u20135 dienas. Str\u0101d\u0101jot ar infrastrukt\u016bru k\u0101 ar kodu, j\u016bs garant\u0113jat, ka jums ir aktu\u0101la vides apraksts, kuru var izv\u0113rst min\u016bt\u0113s.<\/p>\n<p><\/p>\n<p>Nikolajs past\u0101st\u012bs, k\u0101 rakst\u012bt playbookus, k\u0101das k\u013c\u016bdas notiek, k\u0101p\u0113c da\u017ereiz playbooki darbojas l\u0113ni vai ne t\u0101, k\u0101 gaid\u012bts. Tas ir daudzu gadu pieredze, izmantojot IaC Southbridge.<\/p>\n<p><\/p>\n<p><strong>Temats Nr. 7: Infrastructure as Code<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>IaC: pieeja infrastrukt\u016brai k\u0101 kodam<\/li>\n<li>M\u0101kon\u012b pakalpojumu sniedz\u0113ji k\u0101 infrastrukt\u016bras pieg\u0101d\u0101t\u0101ji<\/li>\n<li>Sist\u0113mu inicializ\u0113\u0161anas r\u012bki, att\u0113lu izveide (packer)<\/li>\n<li>IaC, izmantojot Terraform<\/li>\n<li>Konfigur\u0101ciju glab\u0101\u0161ana, sadarb\u012bba, autom\u0101tiska lietojumu \u012bsteno\u0161ana<\/li>\n<li>Praktika Ansible playbooku izveid\u0113<\/li>\n<li>Idempotence, deklarativit\u0101te<\/li>\n<li>IaC, izmantojot Ansible<\/li>\n<li>Database as a Code \/ PostgresQL notur\u012bba<\/li>\n<\/ul>\n<p><\/p>\n<p>Infrastrukt\u016bra ieg\u016bst deklarativit\u0101ti un idempotenci.<br \/>\nP\u0101rvaldnieks m\u0101c\u0101s p\u0101rvald\u012bt sare\u017e\u0123\u012btu infrastrukt\u016bru: \u0101tri izveidot jaunas vides, uztur\u0113t visu vidus vienot\u012bbu, redz\u0113t izmai\u0146u v\u0113sturi, kas ir kritiski, kad pie projekta str\u0101d\u0101 vair\u0101kas komandas.<br \/>\nIzstr\u0101d\u0101t\u0101js var izp\u0113t\u012bt infrastrukt\u016bru, patst\u0101v\u012bgi izv\u0113rst sev vides.<\/p>\n<p><\/p>\n<p>Noder\u012bga sada\u013cas bonusa da\u013ca \u2014 izveidot un konfigur\u0113t PostgresQL notur\u012bgu datu b\u0101zu klasteri. M\u0113s sniegsim gatavu playbooku, kuru izmantojam Southbridge, j\u016bs izv\u0113r\u0161at klasteri m\u0101c\u012bbu stend\u0101 un var\u0113siet izmantot \u0161o risin\u0101jumu sav\u0101 uz\u0146\u0113mum\u0101.<\/p>\n<p><\/p>\n<h2 id=\"testirovanie-infrastruktury-i-monitoring\">Infrastrukt\u016bras test\u0113\u0161ana un uzraudz\u012bba<\/h2>\n<p><\/p>\n<p>Automatiz\u0101cija \u013cauj nekav\u0113joties izplat\u012bt k\u013c\u016bdu uz t\u016bksto\u0161 serveriem. Katru reizi, veicot izmai\u0146as, ir nepiecie\u0161ama test\u0113\u0161ana. No otras puses, manu\u0101l\u0101 test\u0113\u0161ana aiz\u0146em tik daudz laika, ka t\u0101 padara automatiz\u0101cijas priek\u0161roc\u012bbas nev\u0113rt\u012bgas.<\/p>\n<p><\/p>\n<p>Par\u0101d\u012bsim praks\u0113, k\u0101 rakst\u012bt lomu test\u0113\u0161anu. Rezult\u0101t\u0101 j\u016bs var\u0113siet rakst\u012bt testus savai uz\u0146\u0113mumam. Vairs nav nepiecie\u0161ams atcer\u0113ties iepriek\u0161 veikt\u0101s konfigur\u0101cijas, j\u016bs t\u0101s aprakst\u0101t testos un autom\u0101tiski p\u0101rbaud\u0101t, vai visas iepriek\u0161\u0113j\u0101s risin\u0101jumu un 'failu' vietas ir saglab\u0101tas.<\/p>\n<p><\/p>\n<p>Tad iem\u0101c\u012bsimies autom\u0101tiski pievienot visus jaunus serverus monitoringu. Atsevi\u0161\u0137i apskat\u012bsim infrastrukt\u016bras un lietot\u0146u monitoringu. Par\u0101d\u012bsim slikt\u0101s un lab\u0101s prakses.<\/p>\n<p><\/p>\n<p><strong>T\u0113ma Nr. 8: Infrastrukt\u016bras test\u0113\u0161ana<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Test\u0113\u0161ana un nep\u0101rtraukta integr\u0101cija ar Molecule un Gitlab CI<\/li>\n<li>Vagrant lietojums<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u0113ma Nr. 9: Infrastrukt\u016bras monitorings ar Prometheus<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>K\u0101p\u0113c nepiecie\u0161ams monitorings<\/li>\n<li>Monitoring veidi<\/li>\n<li>Pazi\u0146ojumi monitoringa sist\u0113m\u0101<\/li>\n<li>K\u0101 izveidot vesel\u012bgu monitoringa sist\u0113mu<\/li>\n<li>Cilv\u0113kam las\u0101mi pazi\u0146ojumi, visiem<\/li>\n<li>Health Check: uz ko v\u0113rst uzman\u012bbu<\/li>\n<li>Automatiz\u0101cija, balstoties uz monitoringa datiem<\/li>\n<\/ul>\n<p><\/p>\n<p>Nepareizi darbojo\u0161s monitorings ir monitoringa tr\u016bkums. Uz\u0146\u0113mumam nav svar\u012bgi, ka galven\u0101 lapas pieejam\u012bba internet\u0101 ir nodro\u0161in\u0101ta, ja maks\u0101jumu forma izvada k\u013c\u016bdu.<\/p>\n<p><\/p>\n<p>Monitoringa iestat\u012b\u0161an\u0101 un probl\u0113mu nov\u0113r\u0161an\u0101 izstr\u0101d\u0101t\u0101ji un administratoriem piedal\u0101s vienl\u012bdz\u012bgi. Tradicion\u0101li uzdevumi monitoringa jom\u0101 gulstas uz administratoriem. M\u016bsu kurss par\u0101d\u012bs izstr\u0101d\u0101t\u0101jiem, k\u0101du lomu vi\u0146i sp\u0113l\u0113 efekt\u012bva monitoringa izveid\u0113. Administratori sa\u0146ems lab\u0101k\u0101s prakses no Southbridge. Rezult\u0101t\u0101 zaud\u0113jumu skaits, ko izraisa vietnes vai lietotnes av\u0101rijas un kav\u0113\u0161an\u0101s, \u0101tri samazin\u0101sies.<\/p>\n<p><\/p>\n<p>Bonuss sada\u013c\u0101: automatiz\u0101cija, balstoties uz monitoringu. Piem\u0113ram, monitorings inform\u0113, ka ir palielin\u0101jies slodze uz vietni, un t\u012bmek\u013ca serveru skalo\u0161ana tiek uzs\u0101kta autom\u0101tiski.<\/p>\n<p><\/p>\n<h2 id=\"logirovanie\">Datu pieraksts<\/h2>\n<p><\/p>\n<p>Galven\u0101 k\u013c\u016bda darb\u0101 ar \u017eurn\u0101liem \u2014 administratoriem un izstr\u0101d\u0101t\u0101jiem tos skat\u012bties tie\u0161i uz serveriem. Ja jums ir vair\u0101k nek\u0101 viens serveris, tas prasa daudz laika. Tas nav dro\u0161i: izstr\u0101d\u0101t\u0101js piek\u013c\u016bst serverim, kur vi\u0146am nevajadz\u0113tu b\u016bt.<\/p>\n<p><\/p>\n<p>DevOps prasa centraliz\u0113tu \u017eurn\u0101lu v\u0101k\u0161anu, apstr\u0101di un anal\u012bzi.<\/p>\n<p><\/p>\n<p><strong>T\u0113ma Nr. 10: Lietojumprogrammas \u017eurn\u0101la ierakst\u012b\u0161ana ar ELK<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Galvenie elast\u012bgo pielietojumi un iesp\u0113jas (mekl\u0113\u0161ana, glab\u0101\u0161ana, m\u0113rogo\u0161anas iez\u012bmes, konfigur\u0101cijas elast\u012bba)<\/li>\n<li>Kibana p\u0101rskats (galven\u0101s iesp\u0113jas, vaic\u0101jumu valoda, vad\u012bbas pane\u013cu p\u0101rvald\u012bba, grafiku izveide)<\/li>\n<li>Elast\u012bgo produktu p\u0101rskats un to pielietojums<\/li>\n<li>Metrikas v\u0101k\u0161ana APM (lieto\u0161anas uzraudz\u012bba)<\/li>\n<li>Papildus: jaun\u0101 produkta \u2014 SIEM p\u0101rskats<\/li>\n<\/ul>\n<p><\/p>\n<p>\u0160\u012b pieeja padar\u012bs \u017eurn\u0101lus par vienk\u0101r\u0161u un saprotamu r\u012bku anal\u012bzei, konfigur\u0113\u0161anai un piel\u0101go\u0161anai lietotnei un infrastrukt\u016brai.<\/p>\n<p><\/p>\n<h2 id=\"sre\">SRE<\/h2>\n<p><\/p>\n<p>Un m\u0113s non\u0101kam pie t\u0113mas, uz kuru Southbridge tikai skat\u0101s un kuras d\u0113\u013c citi run\u0101t\u0101ji v\u0113las palikt uz p\u0113d\u0113jo Sl\u0113rmu dienu. M\u0113s esam priec\u012bgi, ka to piekrita las\u012bt Ivans Kruglovs no Booking.com.<\/p>\n<p><\/p>\n<p>Projekts dz\u012bvo re\u0101laj\u0101 pasaul\u0113, kur uzticam\u012bba nekad nav absol\u016bta, un katra l\u0113muma pie\u0146em\u0161ana maks\u0101 naudu.<\/p>\n<p><\/p>\n<p>Kas ir SLA attiec\u012bb\u0101 uz sare\u017e\u0123\u012btu projektu? Teiksim, k\u0101 nov\u0113rt\u0113t, ka m\u0101jas lapa ir pieejama, bet att\u0113li iel\u0101d\u0113jas ar kav\u0113\u0161anos. K\u0101di ir SLA r\u0101d\u012bt\u0101ji, kur tos \u0146emt, k\u0101 tos \u0146emt?<\/p>\n<p><\/p>\n<p>K\u0101 izveidot SLA? K\u0101 tos izpild\u012bt?<\/p>\n<p><\/p>\n<p><strong>T\u0113ma \u211611: SRE<\/strong><br \/>\nSLA, SLO, Error Budget defin\u012bcija un citi bied\u0113jo\u0161ie termini no SRE pasaules<br \/>\nSRE: SLI un SLO uzraudz\u012bbas prakse<br \/>\nSRE: Error Budget pielieto\u0161anas prakse<br \/>\nSRE: P\u0101rtraukumu un operat\u012bv\u0101s slodzes p\u0101rvald\u012bba (apigateway, pakalpojumu t\u012bklveids, circuit brackers)<br \/>\nBizness v\u0113las SRE. Pat element\u0101r\u0101 l\u012bmen\u012b: \u0146emt rezerves serveri vai atjaunot no dubl\u0113juma? Viena datub\u0101ze vai klasteris? Uzst\u0101d\u012bt DDoS aizsardz\u012bbu prevent\u012bvi vai tikai uzbrukuma br\u012bd\u012b?<\/p>\n<p><\/p>\n<p>Vad\u012bt\u0101jam neapmierin\u0101s st\u0101st\u012bjums, ka \u00abm\u0101jas lapa darboj\u0101s\u00bb, kad vi\u0146am piezvana klients un zi\u0146o, ka pas\u016bt\u012bjuma forma neizv\u0113rtas.<\/p>\n<p><\/p>\n<p>T\u0101p\u0113c DevOps in\u017eenierim ir svar\u012bgi vismaz virspus\u0113ji saprast SRE, lai adekv\u0101ti run\u0101tu ar biznesu par t\u0101 vajadz\u012bb\u0101m.<\/p>\n<p><\/p>\n<h2 id=\"itog\">Rezult\u0101ts<\/h2>\n<p><\/p>\n<p>Laik\u0101 <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Sl\u0113rma DevOps<\/a><\/noindex> administratori un izstr\u0101d\u0101t\u0101ji iem\u0101c\u012bsies:<br \/>\n\u2014 pareizi str\u0101d\u0101t ar Git;<br \/>\n\u2014 organiz\u0113t viet\u0113jo izstr\u0101di;<br \/>\n\u2014 konfigur\u0113t (administratori) un izmantot (izstr\u0101d\u0101t\u0101ji) CI\/CD;<br \/>\n\u2014 str\u0101d\u0101t ar infrastrukt\u016bru k\u0101 ar kodu;<br \/>\n\u2014 test\u0113t infrastrukt\u016bru;<br \/>\n\u2014 uzraudz\u012bt infrastrukt\u016bru un lietotni;<br \/>\n\u2014 konfigur\u0113t \u017eurn\u0101lu veido\u0161anu;<br \/>\n\u2014 saprast, bet ide\u0101l\u0101 gad\u012bjum\u0101 \u2014 izmantot SRE.<\/p>\n<p><\/p>\n<p>Uzman\u012bgiem las\u012bt\u0101jiem \u2014 ar promo kodu habrapost atlaide 15%.<\/p>\n<p><\/p>\n<p>Vis\u0101s jom\u0101s m\u0113s sagatavojam praksi un r\u012bkus. T\u0101d\u0113\u013c katrs dal\u012bbnieks, atgrie\u017eoties no S\u013c\u0113rma, var\u0113s paaugstin\u0101t savas komp\u0101nijas DevOps l\u012bmeni.<\/p>\n<p><\/p>\n<p>Biznesam tas noz\u012bm\u0113 samazin\u0101t administr\u0113\u0161anas un izstr\u0101des izmaksas, samazin\u0101t d\u012bkst\u0101ves, palielin\u0101t uzticam\u012bbu, \u0101tr\u0101ku funkciju pieg\u0101di un k\u013c\u016bdu nov\u0113r\u0161anu.<\/p>\n<p>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/462879\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>4-6 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435, \u0432 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446-\u0437\u0430\u043b\u0435 Selectel \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0442\u0440\u0435\u0445\u0434\u043d\u0435\u0432\u043d\u044b\u0439 \u0421\u043b\u0451\u0440\u043c DevOps. \u041c\u044b \u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0438\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043c\u044b\u0441\u043b\u0438, \u0447\u0442\u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0440\u0443\u0434\u044b \u043f\u043e DevOps, \u043a\u0430\u043a \u0438 \u043c\u0430\u043d\u0443\u0430\u043b\u044b \u043a \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c, \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u044b\u0442 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430: \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430\u0434\u043e \u0438 \u043d\u0435 \u043d\u0430\u0434\u043e, \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437, \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0435\u043c \u043c\u044b. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438\u043b\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36933","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"4-6 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435, \u0432 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446-\u0437\u0430\u043b\u0435 Selectel \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0442\u0440\u0435\u0445\u0434\u043d\u0435\u0432\u043d\u044b\u0439 \u0421\u043b\u0451\u0440\u043c DevOps.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043b\u0451\u0440\u043c DevOps: \u043e\u0442 Git \u0434\u043e SRE \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"4-6 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435, \u0432 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446-\u0437\u0430\u043b\u0435 Selectel \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0442\u0440\u0435\u0445\u0434\u043d\u0435\u0432\u043d\u044b\u0439 \u0421\u043b\u0451\u0440\u043c DevOps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:14:50+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:14:50+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Slr\u0113m DevOps: no Git l\u012bdz SRE ar vis\u0101m pietur\u0101m | ProHoster","description":"No 4-6. septembr\u012b Sanktp\u0113terburg\u0101, konferen\u010du z\u0101l\u0113 Selectel, notiks tr\u012bs dienu Slurm DevOps.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043b\u0451\u0440\u043c DevOps: \u043e\u0442 Git \u0434\u043e SRE \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\u043c\u0438 | ProHoster","og:description":"4-6 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435, \u0432 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446-\u0437\u0430\u043b\u0435 Selectel \u043f\u0440\u043e\u0439\u0434\u0435\u0442 \u0442\u0440\u0435\u0445\u0434\u043d\u0435\u0432\u043d\u044b\u0439 \u0421\u043b\u0451\u0440\u043c DevOps.","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:14:50+00:00","article:modified_time":"2019-10-31T19:14:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36933","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:23:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:36:24","updated":"2026-01-22 05:23:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/36933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=36933"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/36933\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=36933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=36933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=36933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}