{"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\/hr\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","title":{"rendered":"Slo\u00ebrm DevOps: od Gita do SRE sa svim zaustavljanjima","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Od 4. do 6. rujna u Sankt Peterburgu, u konferencijskoj dvorani Selectel odr\u017eat \u0107e se trodnevni <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Slo\u00ebrm DevOps<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Slo\u00ebrm DevOps: od Gita do SRE sa svim zaustavljanjima\" src=\"\/wp-content\/uploads\/2019\/08\/3306f0eab4bfd6360eda928fdc317a59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Program smo gradili s mi\u0161lju da teoretske radove o DevOps-u, kao i priru\u010dnike za alate, svatko mo\u017ee pro\u010ditati sam. Zanimljivi su jedino iskustvo i praksa: obja\u0161njenje kako to raditi ispravno i pogre\u0161no, i pri\u010da o tome kako mi radimo.<\/p>\n<p><\/p>\n<p>Svaka tvrtka, svaki administrator ili programer ima svoj nivo DevOps-a. Neki pogre\u0161no koriste Git, drugi implementiraju SRE. Te\u010daj je organiziran tako da svatko prona\u0111e ne\u0161to relevantno, \u0161to mo\u017ee implementirati odmah.<\/p>\n<p><\/p>\n<p>Po\u010dinjemo s Gitom, zatim gledamo na razvoj aplikacije, interakciju koda i infrastrukture, gradimo CI\/CD, opisujemo infrastrukturu kao kod (IaC), testiramo dobiveno rje\u0161enje, postavljamo monitoring, prikupljamo i prou\u010davamo logove, i na kraju dolazimo do SRE-a: pretvaramo pouzdanost u mjerljivu i upravljivu pri\u010du.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"git\">Git<\/h2>\n<p><\/p>\n<p>Danas Git ne koristi samo onaj tko je ju\u010der kupio svoj prvi laptop. To je trivijalan i sveprisutan alat, i ipak \u010desto nalazimo njegovu pogre\u0161nu upotrebu: po\u010dev\u0161i od forsiranja push-a u master, pa do kopiranja datoteka iz Gita na server putem Ctrl-C, Ctrl-V.<\/p>\n<p><\/p>\n<p>Obja\u0161njavamo \u0161to ne treba raditi, \u0161to treba raditi, i kako to rade u Southbridge-u.<br \/>\nProlazimo kroz praksu: osnove Gita, timski rad.<\/p>\n<p><\/p>\n<p><strong>Tema br. 1: Osnove rada s Gitom<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Osnovne git naredbe init, commit, add, diff, log, status, pull, push<\/li>\n<li>Git flow, grane i oznake, strategije merge-a<\/li>\n<li>Rad s vi\u0161e remote repozitorija<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Tema br. 2: Timski rad s Gitom<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>GitHub flow<\/li>\n<li>Fork, remote, pull request<\/li>\n<li>Konflikti, izdanja, jo\u0161 jednom o Gitflow-u i drugim flow-ovima u timovima<\/li>\n<\/ul>\n<p><\/p>\n<p>Materijal je organiziran tako da administratori i programeri mogu odmah implementirati sve prakse u radu.<\/p>\n<p><\/p>\n<p>Iz perspektive DevOps-a, pravilno upravljanje Git-om ure\u0111uje i automatizira procese razvoja i administracije, isklju\u010duje niz ponavljaju\u0107ih problema, te pove\u0107ava produktivnost.<\/p>\n<p><\/p>\n<h2 id=\"devops-razrabotchika\">DevOps programer<\/h2>\n<p><\/p>\n<p>Gledamo na DevOps kroz o\u010di programera: pokre\u0107emo lokalno okru\u017eenje, pi\u0161emo aplikaciju, postavljamo njen monitoring i logiranje, lokalno je testiramo, organiziramo pohranu varijabli\/tajni i otkrivanje usluga, pratimo tracing (opentracing).<\/p>\n<p><\/p>\n<p><strong>Tema br. 3: Rad s aplikacijom iz perspektive razvoja<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Postavljanje lokalnog okru\u017eenja: prakti\u010dne preporuke<\/li>\n<li>Pisanje mikroservisa u Pythonu (uklju\u010duju\u0107i testove)<\/li>\n<li>Primjena docker-compose u razvoju<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Tema br. 4: Interakcija koda i infrastrukture<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Praksa rada s konfiguracijama<\/li>\n<\/ul>\n<p><\/p>\n<p>Na kraju \u0107e programeri vidjeti kako kod treba slati logove, kako ga testirati i kako \u0107e se dalje otklanjati gre\u0161ke. Administratori \u0107e razumjeti potrebe programera: koje gre\u0161ke u kodu se javljaju, kako organizirati testiranje za programere i kako sami testirati projekt.<\/p>\n<p><\/p>\n<p>Na ovoj etapi se rje\u0161ava osnovni zadatak DevOps-a: uspostavlja se me\u0111usobno razumijevanje i suradnja izme\u0111u devova i ops-a. Ovo je klju\u010dni korak prema prelasku s prebacivanja zadataka na odgovornu suradnju.<\/p>\n<p><\/p>\n<p>Kao rezultat, raste brzina i kvaliteta rada.<\/p>\n<p><\/p>\n<h2 id=\"cicd\">CI\/CD<\/h2>\n<p><\/p>\n<p>Moderna automatizacija podrazumijeva CI\/CD. Po\u010det \u0107emo s pregledom ru\u010dne automatizacije: makefile-ova, git hook-ova, skripti. Razjasnit \u0107emo kada su ti alati jo\u0161 uvijek relevantni, a kada ih ne treba koristiti.<\/p>\n<p><\/p>\n<p>Zatim \u0107emo pogledati najbolje prakse modernog CI-a na primjeru Gitlaba.<\/p>\n<p><\/p>\n<p><strong>Tema br. 5: CI\/CD uvod u automatizaciju<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Uvod u automatizaciju<\/li>\n<li>Alati (bash, make, gradle)<\/li>\n<li>Kori\u0161tenje git-hook-ova za automatizaciju procesa<\/li>\n<li>Fabrike konvejerih linija za izgradnju i njihova primjena u IT-u<\/li>\n<li>Primjer izgradnje \"op\u0107eg\" pipeline-a<\/li>\n<li>Moderni softver za CI\/CD: Drone CI, BitBucket Pipelines, Travis itd.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Tema br. 6: CI\/CD: Rad s Gitlabom<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Gitlab CI \u2014 op\u0107e informacije<\/li>\n<li>Gitlab Runner, njihovi tipovi i primjena<\/li>\n<li>Gitlab CI, zna\u010dajke postavljanja, najbolje prakse<\/li>\n<li>Faze Gitlab CI-a<\/li>\n<li>Varijable Gitlab CI<\/li>\n<li>Izrada, testiranje, implementacija<\/li>\n<li>Kontrola i ograni\u010denja izvo\u0111enja: only, when<\/li>\n<li>Rad s artefaktima<\/li>\n<li>\u0160abloni unutar .gitlab-ci.yml, ponovna upotreba akcija na razli\u010ditim dijelovima pipeline-a<\/li>\n<li>Include \u2014 sekcije<\/li>\n<li>Centralizirano upravljanje gitlab-ci.yml (jedna datoteka i automatski push u ostale repozitorije)<\/li>\n<\/ul>\n<p><\/p>\n<p>Suradnja administratora i programera prelazi na novu razinu: administrator pi\u0161e CI \u0161ablon, a programeri ga ure\u0111uju, grade\u0107i svoj CI neovisno od administratora.<\/p>\n<p><\/p>\n<p>Smanjuje se ovisnost programera o administratorima, smanjuje se koli\u010dina ru\u010dnog rada, nestaje problem \"jedine osobe koja zna raditi s makefile-om\". Implementacije se odvijaju pouzdano i brzo.<\/p>\n<p><\/p>\n<h2 id=\"iac\">IaC<\/h2>\n<p><\/p>\n<p>Tema Infrastructure as Code na primjeru Terraform predstavit \u0107e administrator oblaka Selectel Aleksej Stepanenko. On \u0107e pokazati kako brzo i automatizirano postaviti i skalirati poslu\u017eitelje, kako automatski pakirati slike, te kako koristiti predlo\u0161ke konfiguracije za brzo dobivanje postavljenih ma\u0161ina.<\/p>\n<p><\/p>\n<p>Osoba koja je napravila tisu\u0107e IaC rje\u0161enja ispri\u010dat \u0107e kako to raditi ispravno i \u0161to ne raditi.<\/p>\n<p><\/p>\n<p>Rje\u0161enje za oblake Selectel s minimalnim izmjenama odgovara za Google i Amazon oblake.<\/p>\n<p><\/p>\n<p>Zaposlenik Southbridge Nikolaj Mesropjan na primjeru Ansiblea pokazat \u0107e kako bez zastoja postaviti funkcionalnu aplikaciju i provjeriti njezinu iskori\u0161tenost.<\/p>\n<p><\/p>\n<p>Ako ru\u010dno mijenjate infrastrukturu (postavljate poslu\u017eitelje, instalirate biblioteke i pakete po potrebi), prilikom poku\u0161aja podizanja kopije okru\u017eenja morat \u0107ete se sjetiti i reproducirati sve svoje radnje. Ova zada\u0107a lako mo\u017ee potrajati 3-5 dana. Rad s infrastrukturom kao s kodom osigurava da imate a\u017eurirani opis okru\u017eenja koji se mo\u017ee podi\u0107i za nekoliko minuta.<\/p>\n<p><\/p>\n<p>Nikolaj \u0107e re\u0107i kako pisati playbooke, koje gre\u0161ke se javljaju, za\u0161to ponekad playbooki rade sporo ili ne onako kako se o\u010dekivalo. Ovo je iskustvo vi\u0161egodi\u0161njeg kori\u0161tenja IaC u Southbridge.<\/p>\n<p><\/p>\n<p><strong>Tema br. 7: Infrastructure as Code<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>IaC: pristup infrastrukturi kao kodu<\/li>\n<li>Obla\u010dni provajderi kao dobavlja\u010di infrastrukture<\/li>\n<li>Alati za inicijalizaciju sistema, izrada slika (packer)<\/li>\n<li>IaC na primjeru Terraform<\/li>\n<li>Skladi\u0161tenje konfiguracija, timski rad, automatizacija aplikacija<\/li>\n<li>Praksa stvaranja Ansible playbooka<\/li>\n<li>Idempotentnost, deklarativnost<\/li>\n<li>IaC na primjeru Ansible<\/li>\n<li>Database as a Code \/ Otpornost PostgreSQL<\/li>\n<\/ul>\n<p><\/p>\n<p>Infrastruktura dobiva deklarativnost i idempotentnost.<br \/>\nAdministrator u\u010di upravljati slo\u017eenom infrastrukturom: brzo stvarati nova okru\u017eenja, odr\u017eavati jedinstvo svih okru\u017eenja, vidjeti povijest promjena, \u0161to je klju\u010dno kada na projektu radi vi\u0161e timova.<br \/>\nProgramer mo\u017ee prou\u010davati infrastrukturu, samostalno postavljati okru\u017eenja.<\/p>\n<p><\/p>\n<p>Bonus ovog dijela \u2014 stvaranje i postavljanje otpornog klastera baza podataka PostgreSQL. Dat \u0107emo vam gotov playbook koji koristimo u Southbridge, postavit \u0107ete klaster na u\u010diteljskom standu i mo\u0107i \u0107ete koristiti ovo rje\u0161enje u svojoj kompaniji.<\/p>\n<p><\/p>\n<h2 id=\"testirovanie-infrastruktury-i-monitoring\">Testiranje infrastrukture i pra\u0107enje<\/h2>\n<p><\/p>\n<p>Automatizacija omogu\u0107ava brzo \u0161irenje gre\u0161ke na hiljadu servera. Sa svakom izmenom potrebno je testiranje. S druge strane, ru\u010dno testiranje oduzima toliko vremena da ukida prednosti automatizacije.<\/p>\n<p><\/p>\n<p>Poka\u017eimo u praksi kako pisati testiranje uloga. Kao rezultat toga, mo\u0107i \u0107ete da pi\u0161ete testove za svoju kompaniju. Vi\u0161e ne morate pamtiti izvr\u0161ene postavke, opisujete ih u testovima i automatski proveravate da li su sve prethodne odluke i re\u0161enja na mestu.<\/p>\n<p><\/p>\n<p>Nakon toga, nau\u010di\u0107emo kako automatski dodavati sve nove servere u monitoring. Razmatra\u0107emo posebno monitoring infrastrukture i aplikacija. Poka\u017eimo lo\u0161e i dobre prakse.<\/p>\n<p><\/p>\n<p><strong>Tema \u21168: Testiranje infrastrukture<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Testiranje i kontinuirana integracija sa Molecule-om i Gitlab CI-jem<\/li>\n<li>Primena Vagranta<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Tema \u21169: Monitoring infrastrukture sa Prometheus-om<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Za\u0161to je potreban monitoring<\/li>\n<li>Tipovi monitoringa<\/li>\n<li>Obave\u0161tenja u sistemu monitoringa<\/li>\n<li>Kako izgraditi zdrav sistem monitoringa<\/li>\n<li>\u010citljiva obave\u0161tenja, za sve<\/li>\n<li>Health Check: na \u0161ta obratiti pa\u017enju<\/li>\n<li>Automatizacija zasnovana na podacima iz monitoringa<\/li>\n<\/ul>\n<p><\/p>\n<p>Neispravno funkcionisanje monitoringa \u2014 to je odsustvo monitoringa. Biznis nije zainteresovan za to \u0161to je po\u010detna stranica internet prodavnice dostupna, ako forma pla\u0107anja daje gre\u0161ku.<\/p>\n<p><\/p>\n<p>U postavkama monitoringa i re\u0161avanju problema u\u010destvuju i programeri i administratori ravnopravno. Tradicionalno, zadatke monitoringa preuzimaju administratori. Na\u0161 kurs \u0107e pokazati programerima koju ulogu igraju u stvaranju efikasnog monitoringa. Administratori \u0107e dobiti najbolje prakse Southbridge-a. Kao rezultat, broj gubitaka uzrokovanih prekidima i usporenjima sajta ili aplikacije brzo \u0107e opasti.<\/p>\n<p><\/p>\n<p>Bonus sekcija: automatizacija zasnovana na monitoringu. Na primer, monitoring javlja da je do\u0161lo do optere\u0107enja na sajtu, i skaliranje web servera se automatski pokre\u0107e.<\/p>\n<p><\/p>\n<h2 id=\"logirovanie\">Logiranje<\/h2>\n<p><\/p>\n<p>Gre\u0161ka u radu sa logovima \u2014 administratori i programeri ih gledaju direktno na serverima. Ako imate vi\u0161e od jednog servera, to traje dugo. To nije sigurno: programer ulazi na server gde ne bi trebao biti.<\/p>\n<p><\/p>\n<p>DevOps zahteva centralizovano prikupljanje, obradu i analizu logova.<\/p>\n<p><\/p>\n<p><strong>Tema \u211610: Logovanje aplikacije sa ELK<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Glavne primjene i mogu\u0107nosti elastic-a (pretra\u017eivanje, pohrana, zna\u010dajke skaliranja, fleksibilnost konfiguracije)<\/li>\n<li>Pregled kibane (glavne mogu\u0107nosti, jezik upita, upravljanje nadzornim plo\u010dama, izrada grafova)<\/li>\n<li>Pregled proizvoda temeljenih na elastic-u i njihova primjena<\/li>\n<li>Prikupljanje metrika u APM-u (tracenje aplikacija)<\/li>\n<li>Dodatno: Pregled novog proizvoda \u2014 SIEM<\/li>\n<\/ul>\n<p><\/p>\n<p>Implementacija ovog pristupa u\u010dinit \u0107e logove jednostavnim i razumljivim alatom za analizu, konfiguraciju i postavljanje aplikacija i infrastrukture.<\/p>\n<p><\/p>\n<h2 id=\"sre\">SRE<\/h2>\n<p><\/p>\n<p>I dolazimo do teme koju Southbridge tek prati i zbog koje drugi predava\u010di \u017eele ostati na posljednji dan Sl\u00ebrma. Drago nam je \u0161to je Ivan Kruglov iz Booking.com-a pristao govoriti o tome.<\/p>\n<p><\/p>\n<p>Projekt \u017eivi u stvarnom svijetu, gdje pouzdanost nikada nije apsolutna, a svaka odluka ko\u0161ta novac.<\/p>\n<p><\/p>\n<p>\u0160to je SLA u kontekstu slo\u017eenog projekta? Recimo, kako procijeniti da je web stranica dostupna, ali se slike u\u010ditavaju s ka\u0161njenjem. Koje su metrik SLA, gdje ih uzimati, kako ih uzimati?<\/p>\n<p><\/p>\n<p>Kako postaviti SLA? Kako ih ispuniti?<\/p>\n<p><\/p>\n<p><strong>Tema br. 11: SRE<\/strong><br \/>\nDefinicija SLA, SLO, Error Budget i drugi zastra\u0161uju\u0107i pojmovi iz svijeta SRE-a<br \/>\nSRE: Praksa pra\u0107enja SLI i SLO<br \/>\nSRE: Praksa kori\u0161tenja Error Budget-a<br \/>\nSRE: Upravljanje prekidima i operativnim optere\u0107enjem (apigateway, service mesh, circuit breakers)<br \/>\nPoslovanje \u017eeli SRE. Bar na osnovnoj razini: uzeti rezervni server ili podi\u0107i iz rezervne kopije? Jedna baza podataka ili klaster? Postaviti DDoS za\u0161titu preventivno ili samo u trenutku napada?<\/p>\n<p><\/p>\n<p>Direktoru ne\u0107e biti dovoljno re\u0107i da \"web stranica funkcionira\", kada ga klijent nazove i javi da se obrazac za narud\u017ebu ne otvara.<\/p>\n<p><\/p>\n<p>Zbog toga je DevOps in\u017eenjeru va\u017eno barem povr\u0161no razumjeti SRE, kako bi adekvatno razgovarao s poslovanjem o njegovim potrebama.<\/p>\n<p><\/p>\n<h2 id=\"itog\">Zaklju\u010dak<\/h2>\n<p><\/p>\n<p>Tijekom <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Sl\u00ebrma DevOps<\/a><\/noindex> administratori i programeri \u0107e nau\u010diti:<br \/>\n\u2014 pravilno raditi s Git-om;<br \/>\n\u2014 organizirati lokalni razvoj;<br \/>\n\u2014 postavljati (administratori) i koristiti (programeri) CI\/CD;<br \/>\n\u2014 raditi s infrastrukturom kao kodom;<br \/>\n\u2014 testirati infrastrukturu;<br \/>\n\u2014 nadzirati infrastrukturu i aplikaciju;<br \/>\n\u2014 postavljati logiranje;<br \/>\n\u2014 razumjeti, a u idealnom slu\u010daju \u2014 koristiti SRE.<\/p>\n<p><\/p>\n<p>Za pa\u017eljive \u010ditatelje \u2014 uz promotivni kod habrapost popust od 15%.<\/p>\n<p><\/p>\n<p>Za sve aspekte pripremamo praksu i alat. Tako \u0107e svaki sudionik po povratku sa Sljerma mo\u0107i unaprijediti svoju tvrtku na sljede\u0107u razinu DevOps-a.<\/p>\n<p><\/p>\n<p>Za poslovanje to zna\u010di smanjenje tro\u0161kova administracije i razvoja, smanjenje vremena zastoja, pove\u0107anje pouzdanosti, br\u017eu isporuku funkcionalnosti i otklanjanje gre\u0161aka.<\/p>\n<p>Izvor: <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\/hr\/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=\"hr_HR\" \/>\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\/hr\/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\udd47Sljerma DevOps: od Gita do SRE sa svim zaustavljanjima | ProHoster","description":"Od 4. do 6. rujna u St. Petersburgu, u konferencijskoj dvorani Selectel odr\u017eat \u0107e se trodnevni Sljerma DevOps.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/36933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=36933"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36933\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=36933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=36933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=36933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}