{"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\/cs\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","title":{"rendered":"Slurm DevOps: od Git po SRE se v\u0161emi zast\u00e1vkami","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>4-6. z\u00e1\u0159\u00ed v Petrohrad\u011b se v konferen\u010dn\u00edm s\u00e1le Selectel uskute\u010dn\u00ed t\u0159\u00eddenn\u00ed <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Slurm DevOps<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Slurm DevOps: od Git po SRE se v\u0161emi zast\u00e1vkami\" src=\"\/wp-content\/uploads\/2019\/08\/3306f0eab4bfd6360eda928fdc317a59.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Program jsme sestavili s my\u0161lenkou, \u017ee teoretick\u00e9 pr\u00e1ce o DevOps a manu\u00e1ly k n\u00e1stroj\u016fm si m\u016f\u017ee ka\u017ed\u00fd p\u0159e\u010d\u00edst s\u00e1m. Zaj\u00edmav\u00e9 jsou pouze zku\u0161enosti a praxe: vysv\u011btlen\u00ed, jak se to m\u00e1 d\u011blat a jak ne, a p\u0159\u00edb\u011bh o tom, jak to d\u011bl\u00e1me my.<\/p>\n<p><\/p>\n<p>V ka\u017ed\u00e9 spole\u010dnosti m\u00e1 ka\u017ed\u00fd administr\u00e1tor nebo v\u00fdvoj\u00e1\u0159 svou \u00farove\u0148 DevOps. N\u011bkte\u0159\u00ed nespr\u00e1vn\u011b pou\u017e\u00edvaj\u00ed Git, jin\u00ed zav\u00e1d\u011bj\u00ed SRE. Kurz je organizov\u00e1n tak, aby si ka\u017ed\u00fd na\u0161el n\u011bco aktu\u00e1ln\u00edho, co m\u016f\u017ee zav\u00e9st hned te\u010f.<\/p>\n<p><\/p>\n<p>Za\u010d\u00edn\u00e1me s Gitem, pot\u00e9 se zam\u011b\u0159\u00edme na v\u00fdvoj aplikace, interakci k\u00f3du a infrastruktury, budujeme CI\/CD, popisujeme infrastrukturu jako k\u00f3d (IaC), testujeme vy\u0159e\u0161en\u00e9 \u0159e\u0161en\u00ed, nastavujeme monitoring, shroma\u017e\u010fujeme a zkoum\u00e1me logy, a nakonec se dost\u00e1v\u00e1me k SRE: p\u0159etv\u00e1\u0159\u00edme spolehlivost na m\u011b\u0159iteln\u00fd a \u0159\u00edditeln\u00fd p\u0159\u00edb\u011bh.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"git\">Git<\/h2>\n<p><\/p>\n<p>V sou\u010dasnosti Git nepou\u017e\u00edv\u00e1 jen ten, kdo si v\u010dera koupil sv\u016fj prvn\u00ed notebook. Je to trivi\u00e1ln\u00ed a roz\u0161\u00ed\u0159en\u00fd n\u00e1stroj, a p\u0159esto se \u010dasto setk\u00e1v\u00e1me s jeho nespr\u00e1vn\u00fdm pou\u017e\u00edv\u00e1n\u00edm: od for pushu do masteru a\u017e po kop\u00edrov\u00e1n\u00ed soubor\u016f z Gitu na server p\u0159es Ctrl-C, Ctrl-V.<\/p>\n<p><\/p>\n<p>Vysv\u011btlujeme, jak to nen\u00ed pot\u0159eba d\u011blat, jak to d\u011blat spr\u00e1vn\u011b, a jak to d\u011blaj\u00ed v Southbridge.<br \/>\nProch\u00e1z\u00edme prax\u00ed: z\u00e1klady Gitu, t\u00fdmov\u00e1 pr\u00e1ce.<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 1: Z\u00e1klady pr\u00e1ce s Gitem<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Z\u00e1kladn\u00ed p\u0159\u00edkazy git init, commit, add, diff, log, status, pull, push<\/li>\n<li>Git flow, v\u011btve a tagy, strategie slou\u010den\u00ed<\/li>\n<li>Pr\u00e1ce s n\u011bkolika vzd\u00e1len\u00fdmi reposit\u00e1\u0159i<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 2: T\u00fdmov\u00e1 pr\u00e1ce s Git<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>GitHub flow<\/li>\n<li>Fork, remote, pull request<\/li>\n<li>Konflikty, releasy, je\u0161t\u011b jednou o Gitflow a dal\u0161\u00edch flow aplikovateln\u00fdch pro t\u00fdmy<\/li>\n<\/ul>\n<p><\/p>\n<p>Materi\u00e1l je organizov\u00e1n tak, aby administr\u00e1to\u0159i a v\u00fdvoj\u00e1\u0159i mohli okam\u017eit\u011b zav\u00e9st v\u0161echny praktiky do sv\u00e9 pr\u00e1ce.<\/p>\n<p><\/p>\n<p>Z hlediska DevOps spr\u00e1vn\u00e1 pr\u00e1ce s Git uspo\u0159\u00e1d\u00e1v\u00e1 a automatizuje procesy v\u00fdvoje a administrace, vylu\u010duje \u0159adu opakuj\u00edc\u00edch se probl\u00e9m\u016f a zvy\u0161uje produktivitu pr\u00e1ce.<\/p>\n<p><\/p>\n<h2 id=\"devops-razrabotchika\">DevOps v\u00fdvoj\u00e1\u0159<\/h2>\n<p><\/p>\n<p>D\u00edv\u00e1me se na DevOps o\u010dima v\u00fdvoj\u00e1\u0159e: spou\u0161t\u00edme m\u00edstn\u00ed prost\u0159ed\u00ed, p\u00ed\u0161eme aplikaci, nastavujeme jej\u00ed monitoring a logov\u00e1n\u00ed, m\u00edstn\u011b ji testujeme, organizujeme uchov\u00e1v\u00e1n\u00ed prom\u011bnn\u00fdch\/tajnost\u00ed a zaji\u0161t\u011bn\u00ed slu\u017eeb, sledujeme trasov\u00e1n\u00ed (opentracing).<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 3: Pr\u00e1ce s aplikac\u00ed z pohledu v\u00fdvoje<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Nastaven\u00ed m\u00edstn\u00edho prost\u0159ed\u00ed: praktick\u00e9 doporu\u010den\u00ed<\/li>\n<li>P\u00ed\u0161eme mikroservis v Pythonu (v\u010detn\u011b test\u016f)<\/li>\n<li>Pou\u017eit\u00ed docker-compose ve v\u00fdvoji<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 4: Interakce k\u00f3du a infrastruktury<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Praxe pr\u00e1ce s konfiguracemi<\/li>\n<\/ul>\n<p><\/p>\n<p>Na konci v\u00fdvoj\u00e1\u0159i uvid\u00ed, jak k\u00f3d pos\u00edlat logy, jak ho testovat, jak ho n\u00e1sledn\u011b debagovat. Administr\u00e1to\u0159i porozum\u00ed pot\u0159eb\u00e1m v\u00fdvoj\u00e1\u0159\u016f: jak\u00e9 chyby v k\u00f3du se vyskytuj\u00ed, jak organizovat testov\u00e1n\u00ed v\u00fdvoj\u00e1\u0159\u016f, jak testovat projekt samostatn\u011b.<\/p>\n<p><\/p>\n<p>V t\u00e9to f\u00e1zi je vy\u0159e\u0161ena hlavn\u00ed \u00faloha DevOps: vznik\u00e1 vz\u00e1jemn\u00e9 porozum\u011bn\u00ed a spolupr\u00e1ce mezi devy a ops. To je kl\u00ed\u010dov\u00fd krok k p\u0159echodu od p\u0159ehazov\u00e1n\u00ed \u00fakol\u016f k odpov\u011bdn\u00e9mu vz\u00e1jemn\u00e9mu jedn\u00e1n\u00ed.<\/p>\n<p><\/p>\n<p>V\u00fdsledkem je zlep\u0161en\u00ed rychlosti a kvality pr\u00e1ce.<\/p>\n<p><\/p>\n<h2 id=\"cicd\">CI\/CD<\/h2>\n<p><\/p>\n<p>Modern\u00ed automatizace zahrnuje CI\/CD. Za\u010dneme t\u00edm, \u017ee se pod\u00edv\u00e1me na ru\u010dn\u00ed automatizaci: make soubory, git hooks, skripty. Prozkoum\u00e1me, kdy jsou tyto n\u00e1stroje st\u00e1le relevantn\u00ed a kdy je lep\u0161\u00ed je nepou\u017e\u00edvat.<\/p>\n<p><\/p>\n<p>Pak se pod\u00edv\u00e1me na nejlep\u0161\u00ed praktiky modern\u00edho CI na p\u0159\u00edkladu Gitlab.<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 5: CI\/CD zaveden\u00ed do automatizace<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>\u00davod do automatizace<\/li>\n<li>N\u00e1stroje (bash, make, gradle)<\/li>\n<li>Pou\u017eit\u00ed git-hooks pro automatizaci proces\u016f<\/li>\n<li>Tov\u00e1rn\u00ed \u0159e\u0161en\u00ed v\u00fdrobn\u00edch linek a jejich aplikace v IT<\/li>\n<li>P\u0159\u00edklad vybudov\u00e1n\u00ed \u201espole\u010dn\u00e9ho\u201c pipeline<\/li>\n<li>Modern\u00ed software pro CI\/CD: Drone CI, BitBucket Pipelines, Travis atd.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 6: CI\/CD: Pr\u00e1ce s Gitlab<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Gitlab CI \u2014 obecn\u011b<\/li>\n<li>Gitlab Runner, jejich typy a pou\u017eit\u00ed<\/li>\n<li>Gitlab CI, specifika nastaven\u00ed, nejlep\u0161\u00ed praktiky<\/li>\n<li>F\u00e1ze Gitlab CI<\/li>\n<li>Prom\u011bnn\u00e9 Gitlab CI<\/li>\n<li>Sestaven\u00ed, testov\u00e1n\u00ed, nasazen\u00ed<\/li>\n<li>Kontrola a omezen\u00ed prov\u00e1d\u011bn\u00ed: only, when<\/li>\n<li>Pr\u00e1ce s artefakty<\/li>\n<li>\u0160ablony uvnit\u0159 .gitlab-ci.yml, znovu pou\u017eit\u00ed akc\u00ed na r\u016fzn\u00fdch m\u00edstech pipeline<\/li>\n<li>Include \u2014 sekce<\/li>\n<li>Centralizovan\u00e9 \u0159\u00edzen\u00ed gitlab-ci.yml (jeden soubor a automatick\u00e9 push do ostatn\u00edch repozit\u00e1\u0159\u016f)<\/li>\n<\/ul>\n<p><\/p>\n<p>Spolupr\u00e1ce administr\u00e1tor\u016f a v\u00fdvoj\u00e1\u0159\u016f je na nov\u00e9 \u00farovni: administr\u00e1tor p\u00ed\u0161e \u0161ablonu CI, kterou v\u00fdvoj\u00e1\u0159i upravuj\u00ed, vytv\u00e1\u0159ej\u00ed sv\u016fj CI nez\u00e1visle na administr\u00e1torovi.<\/p>\n<p><\/p>\n<p>Sni\u017euje se z\u00e1vislost v\u00fdvoj\u00e1\u0159\u016f na administr\u00e1torech, zmen\u0161uje se mno\u017estv\u00ed ru\u010dn\u00ed pr\u00e1ce, zmiz\u00ed probl\u00e9m \u201ejedin\u00e9 osoby, kter\u00e1 v\u00ed, jak pracovat s makefile\u201c. Nasazen\u00ed prob\u00edh\u00e1 spolehliv\u011b a rychle.<\/p>\n<p><\/p>\n<h2 id=\"iac\">IaC<\/h2>\n<p><\/p>\n<p>T\u00e9ma Infrastructure as Code na p\u0159\u00edkladu Terraform p\u0159ibl\u00ed\u017e\u00ed administr\u00e1tor cloudu Selectel Alexej Stepanjko. Uk\u00e1\u017ee, jak rychle a automatizovan\u011b nasadit a \u0161k\u00e1lovat servery, jak automaticky balit obrazy a jak pou\u017e\u00edvat konfigura\u010dn\u00ed \u0161ablony k okam\u017eit\u00e9mu zisku nastaven\u00fdch stroj\u016f.<\/p>\n<p><\/p>\n<p>\u010clov\u011bk, kter\u00fd vytvo\u0159il tis\u00edce \u0159e\u0161en\u00ed IaC, uk\u00e1\u017ee, jak to d\u011blat spr\u00e1vn\u011b a jak to d\u011blat nem\u00e1.<\/p>\n<p><\/p>\n<p>\u0158e\u0161en\u00ed pro cloud Selectel s minim\u00e1ln\u00edmi \u00fapravami se hod\u00ed pro cloudy Google a Amazon.<\/p>\n<p><\/p>\n<p>Zam\u011bstnanec Southbridge Nikolaj Mesropjan na p\u0159\u00edkladu Ansible uk\u00e1\u017ee, jak bez v\u00fdpadku nasadit funk\u010dn\u00ed aplikaci a ov\u011b\u0159it jej\u00ed pr\u00e1ci.<\/p>\n<p><\/p>\n<p>Pokud je t\u0159eba upravit infrastrukturu ru\u010dn\u011b (nastavovat servery a podle pot\u0159eby instalovat knihovny, bal\u00ed\u010dky), p\u0159i pokusu o zvednut\u00ed kopie prost\u0159ed\u00ed si mus\u00edte vzpomenout a reprodukovat v\u0161echny sv\u00e9 kroky. Tato \u00faloha snadno zabere 3-5 dn\u00ed. Pr\u00e1ce s infrastrukturou jako s k\u00f3dem zaru\u010duje, \u017ee m\u00e1te aktu\u00e1ln\u00ed popis prost\u0159ed\u00ed, kter\u00e9 lze nasadit b\u011bhem minut.<\/p>\n<p><\/p>\n<p>Nikolaj pov\u00ed, jak ps\u00e1t playbooky, jak\u00e9 chyby se vyskytuj\u00ed, pro\u010d n\u011bkdy playbooky funguj\u00ed pomalu nebo ne tak, jak se o\u010dek\u00e1valo. Je to zku\u0161enost mnoha let pou\u017e\u00edv\u00e1n\u00ed IaC v Southbridge.<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 7: Infrastructure as Code<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>IaC: p\u0159\u00edstup k infrastruktu\u0159e jako k\u00f3du<\/li>\n<li>Cloudov\u00ed poskytovatel\u00e9 jako dodavatel\u00e9 infrastruktury<\/li>\n<li>N\u00e1stroje pro inicializaci syst\u00e9m\u016f, sestaven\u00ed obraz\u016f (packer)<\/li>\n<li>IaC na p\u0159\u00edkladu Terraformu<\/li>\n<li>Ukl\u00e1d\u00e1n\u00ed konfigurac\u00ed, spolupr\u00e1ce, automatizace aplikac\u00ed<\/li>\n<li>Praktika vytv\u00e1\u0159en\u00ed Ansible playbook\u016f<\/li>\n<li>Idempotentnost, deklarativnost<\/li>\n<li>IaC na p\u0159\u00edkladu Ansible<\/li>\n<li>Database as a Code \/ Odolnost PostgreSQL<\/li>\n<\/ul>\n<p><\/p>\n<p>Infrastruktura z\u00edsk\u00e1v\u00e1 deklarativnost a idempotentnost.<br \/>\nAdministr\u00e1tor se u\u010d\u00ed spravovat slo\u017eitou infrastrukturu: rychle vytv\u00e1\u0159et nov\u00e1 prost\u0159ed\u00ed, udr\u017eovat jednotnost v\u0161ech prost\u0159ed\u00ed, vid\u011bt historii zm\u011bn, co\u017e je kritick\u00e9, kdy\u017e na projektu pracuje n\u011bkolik t\u00fdm\u016f.<br \/>\nV\u00fdvoj\u00e1\u0159 m\u016f\u017ee studovat infrastrukturu, samostatn\u011b si nasazovat prost\u0159ed\u00ed.<\/p>\n<p><\/p>\n<p>Bonus \u010d\u00e1sti \u2014 vytvo\u0159en\u00ed a nastaven\u00ed odoln\u00e9ho klastru datab\u00e1z\u00ed PostgreSQL. Poskytneme hotov\u00fd playbook, kter\u00fd pou\u017e\u00edv\u00e1me v Southbridge, vy nasad\u00edte cluster na u\u010debn\u00edm standu a budete moci toto \u0159e\u0161en\u00ed pou\u017e\u00edvat ve sv\u00e9 spole\u010dnosti.<\/p>\n<p><\/p>\n<h2 id=\"testirovanie-infrastruktury-i-monitoring\">Testov\u00e1n\u00ed infrastruktury a monitoring<\/h2>\n<p><\/p>\n<p>Automatizace umo\u017e\u0148uje rozlo\u017eit chybu na tis\u00edc server\u016f. P\u0159i ka\u017ed\u00e9 zm\u011bn\u011b je nutn\u00e9 testov\u00e1n\u00ed. Na druhou stranu, ru\u010dn\u00ed testov\u00e1n\u00ed zab\u00edr\u00e1 tolik \u010dasu, \u017ee znehodnocuje v\u00fdhody automatizace.<\/p>\n<p><\/p>\n<p>Uk\u00e1\u017eeme prakticky, jak ps\u00e1t testov\u00e1n\u00ed rol\u00ed. V\u00fdsledkem budete schopni ps\u00e1t testy pro svou spole\u010dnost. U\u017e nebude t\u0159eba pamatovat si vytvo\u0159en\u00e1 nastaven\u00ed, popisujte je v testech a automaticky kontrolujte, \u017ee v\u0161echna p\u0159edchoz\u00ed \u0159e\u0161en\u00ed a z\u00e1platy jsou na sv\u00e9m m\u00edst\u011b.<\/p>\n<p><\/p>\n<p>Pot\u00e9 se nau\u010d\u00edme automaticky p\u0159id\u00e1vat v\u0161echny nov\u00e9 servery do monitoringu. Zam\u011b\u0159\u00edme se zvl\u00e1\u0161\u0165 na monitoring infrastruktury a aplikac\u00ed. Uk\u00e1\u017eeme \u0161patn\u00e9 a dobr\u00e9 praktiky.<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 8: Testov\u00e1n\u00ed infrastruktury<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Testov\u00e1n\u00ed a nep\u0159etr\u017eit\u00e1 integrace s Molecule a Gitlab CI<\/li>\n<li>Pou\u017eit\u00ed Vagrant<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 9: Monitoring infrastruktury s Prometheus<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Pro\u010d je monitoring pot\u0159ebn\u00fd<\/li>\n<li>Typy monitoringu<\/li>\n<li>Ozn\u00e1men\u00ed v syst\u00e9mu monitoringu<\/li>\n<li>Jak postavit zdrav\u00fd monitoringov\u00fd syst\u00e9m<\/li>\n<li>\u010clov\u011bku \u010diteln\u00e9 ozn\u00e1men\u00ed pro v\u0161echny<\/li>\n<li>Health Check: na co si d\u00e1t pozor<\/li>\n<li>Automatizace na z\u00e1klad\u011b dat z monitoringu<\/li>\n<\/ul>\n<p><\/p>\n<p>\u0160patn\u011b funguj\u00edc\u00ed monitoring \u2014 to je absence monitoringu. Firm\u00e1m je jedno, \u017ee je hlavn\u00ed str\u00e1nka internetov\u00e9ho obchodu dostupn\u00e1, pokud forma platby hl\u00e1s\u00ed chybu.<\/p>\n<p><\/p>\n<p>Na nastaven\u00ed monitoringu a odstran\u011bn\u00ed probl\u00e9m\u016f se pod\u00edlej\u00ed v\u00fdvoj\u00e1\u0159i i administr\u00e1to\u0159i rovnocenn\u011b. Tradi\u010dn\u011b ale \u00fakoly monitoringu le\u017e\u00ed na administr\u00e1torech. N\u00e1\u0161 kurz uk\u00e1\u017ee v\u00fdvoj\u00e1\u0159\u016fm, jakou roli hraj\u00ed p\u0159i vytv\u00e1\u0159en\u00ed efektivn\u00edho monitoringu. Administr\u00e1to\u0159i z\u00edskaj\u00ed nejlep\u0161\u00ed praktiky od Southbridge. V\u00fdsledkem bude rychl\u00fd pokles ztr\u00e1t zp\u016fsoben\u00fdch v\u00fdpadky a zpomalen\u00edm webu nebo aplikace.<\/p>\n<p><\/p>\n<p>Bonus t\u00e9to \u010d\u00e1sti: automatizace na z\u00e1klad\u011b monitoringu. Nap\u0159\u00edklad monitoring hl\u00e1s\u00ed, \u017ee na web p\u0159i\u0161la z\u00e1t\u011b\u017e, a automaticky se spust\u00ed \u0161k\u00e1lov\u00e1n\u00ed webov\u00fdch server\u016f.<\/p>\n<p><\/p>\n<h2 id=\"logirovanie\">Logov\u00e1n\u00ed<\/h2>\n<p><\/p>\n<p>Hlavn\u00ed chybou ve spolupr\u00e1ci s logy je, \u017ee administr\u00e1to\u0159i a v\u00fdvoj\u00e1\u0159i je sleduj\u00ed p\u0159\u00edmo na serverech. Pokud m\u00e1te v\u00edce ne\u017e jeden server, trv\u00e1 to dlouho. Je to nesecure: v\u00fdvoj\u00e1\u0159 vstupuje na server, kde by nem\u011bl b\u00fdt.<\/p>\n<p><\/p>\n<p>DevOps vy\u017eaduje centralizovan\u00e9 shroma\u017e\u010fov\u00e1n\u00ed, zpracov\u00e1n\u00ed a anal\u00fdzu log\u016f.<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 10: Logov\u00e1n\u00ed aplikace s ELK<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Hlavn\u00ed aplikace a mo\u017enosti elastic (vyhled\u00e1v\u00e1n\u00ed, \u00falo\u017ei\u0161t\u011b, vlastnosti \u0161k\u00e1lovatelnosti, flexibilita nastaven\u00ed)<\/li>\n<li>P\u0159ehled kibany (hlavn\u00ed funkce, jazyk dotaz\u016f, spr\u00e1va dashboard\u016f, vytv\u00e1\u0159en\u00ed graf\u016f)<\/li>\n<li>P\u0159ehled produkt\u016f na b\u00e1zi elastic a jejich vyu\u017eit\u00ed<\/li>\n<li>Shroma\u017e\u010fujeme metriky v APM (tracov\u00e1n\u00ed aplikac\u00ed)<\/li>\n<li>Nav\u00edc: P\u0159ehled nov\u00e9ho produktu \u2014 SIEM<\/li>\n<\/ul>\n<p><\/p>\n<p>Implementace tohoto p\u0159\u00edstupu u\u010din\u00ed logy jednoduch\u00fdm a srozumiteln\u00fdm n\u00e1strojem pro anal\u00fdzu, konfiguraci a lad\u011bn\u00ed aplikace a infrastruktury.<\/p>\n<p><\/p>\n<h2 id=\"sre\">SRE<\/h2>\n<p><\/p>\n<p>A dost\u00e1v\u00e1me se k t\u00e9matu, na kter\u00e9 se Southbridge teprve d\u00edv\u00e1 a kv\u016fli kter\u00e9mu cht\u011bj\u00ed ostatn\u00ed \u0159e\u010dn\u00edci z\u016fstat na posledn\u00ed den Sl\u00f8rmu. Jsme r\u00e1di, \u017ee o n\u011bm souhlasil \u010d\u00edst Ivan Kruglov z Booking.com.<\/p>\n<p><\/p>\n<p>Projekt \u017eije v re\u00e1ln\u00e9m sv\u011bt\u011b, kde spolehlivost nikdy nen\u00ed absolutn\u00ed a ka\u017ed\u00e9 rozhodnut\u00ed n\u011bco stoj\u00ed.<\/p>\n<p><\/p>\n<p>Co je to SLA ve vztahu ke slo\u017eit\u00e9mu projektu? \u0158ekn\u011bme, jak posuzovat, \u017ee je web dostupn\u00fd, ale obr\u00e1zky se na\u010d\u00edtaj\u00ed se zpo\u017ed\u011bn\u00edm. Jak\u00e9 jsou metriky SLA, kde je m\u011b\u0159it, jak je m\u011b\u0159it?<\/p>\n<p><\/p>\n<p>Jak nastavit SLA? Jak je dodr\u017eet?<\/p>\n<p><\/p>\n<p><strong>T\u00e9ma \u010d. 11: SRE<\/strong><br \/>\nDefinice SLA, SLO, Error Budget a dal\u0161\u00ed stra\u0161ideln\u00e9 term\u00edny ze sv\u011bta SRE<br \/>\nSRE: Praktika monitorov\u00e1n\u00ed SLI a SLO<br \/>\nSRE: Praktika aplikace Error Budget<br \/>\nSRE: \u0158\u00edzen\u00ed p\u0159eru\u0161en\u00ed a opera\u010dn\u00ed z\u00e1t\u011b\u017ee (apigateway, service mesh, circuit breakers)<br \/>\nByznys chce SRE. Alespo\u0148 na nejz\u00e1kladn\u011bj\u0161\u00ed \u00farovni: br\u00e1t z\u00e1lo\u017en\u00ed server nebo obnovit z backupu? Jedna datab\u00e1ze nebo cluster? Zav\u00e1d\u011bt ochranu p\u0159ed DDoS preventivn\u011b nebo pouze v okam\u017eiku \u00fatoku?<\/p>\n<p><\/p>\n<p>\u0158editele neuspokoj\u00ed vypr\u00e1v\u011bn\u00ed o tom, \u017ee \u201eweb funguje\u201c, kdy\u017e mu vol\u00e1 klient a oznamuje, \u017ee se objedn\u00e1vkov\u00fd formul\u00e1\u0159 neotev\u00edr\u00e1.<\/p>\n<p><\/p>\n<p>Proto je pro DevOps in\u017een\u00e9ra d\u016fle\u017eit\u00e9 alespo\u0148 povrchn\u011b porozum\u011bt SRE, aby mohl adekv\u00e1tn\u011b komunikovat s byznysem o jeho pot\u0159eb\u00e1ch.<\/p>\n<p><\/p>\n<h2 id=\"itog\">V\u00fdsledek<\/h2>\n<p><\/p>\n<p>B\u011bhem <noindex><a rel=\"nofollow\" href=\"http:\/\/slurm.io\/devops\">Sl\u00f8rmu DevOps<\/a><\/noindex> administr\u00e1to\u0159i a v\u00fdvoj\u00e1\u0159i se nau\u010d\u00ed:<br \/>\n\u2014 spr\u00e1vn\u011b pracovat s Gitem;<br \/>\n\u2014 organizovat lok\u00e1ln\u00ed v\u00fdvoj;<br \/>\n\u2014 nastavit (administr\u00e1to\u0159i) a pou\u017e\u00edvat (v\u00fdvoj\u00e1\u0159i) CI\/CD;<br \/>\n\u2014 pracovat s infrastrukturou jako s k\u00f3dem;<br \/>\n\u2014 testovat infrastrukturu;<br \/>\n\u2014 monitorovat infrastrukturu a aplikaci;<br \/>\n\u2014 nastavit logov\u00e1n\u00ed;<br \/>\n\u2014 rozum\u011bt a v ide\u00e1ln\u00edm p\u0159\u00edpad\u011b \u2014 pou\u017e\u00edvat SRE.<\/p>\n<p><\/p>\n<p>Pro pozorn\u00e9 \u010dten\u00e1\u0159e \u2014 s promo k\u00f3dem habrapost sleva 15%.<\/p>\n<p><\/p>\n<p>U v\u0161ech bod\u016f p\u0159ipravujeme praxi a n\u00e1stroje. Tak\u017ee ka\u017ed\u00fd \u00fa\u010dastn\u00edk se po n\u00e1vratu ze Sl\u00f8rmu bude moci posunout svou spole\u010dnost na dal\u0161\u00ed \u00farove\u0148 DevOps.<\/p>\n<p><\/p>\n<p>Pro byznys to znamen\u00e1 sn\u00ed\u017een\u00ed n\u00e1klad\u016f na administraci a v\u00fdvoj, sn\u00ed\u017een\u00ed downtime, zv\u00fd\u0161en\u00ed spolehlivosti, rychlej\u0161\u00ed dod\u00e1n\u00ed funkc\u00ed a odstran\u011bn\u00ed chyb.<\/p>\n<p>Zdroj: <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.3 - 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\/cs\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Sl\u00f8rm DevOps: od Gitu po SRE se v\u0161emi zast\u00e1vkami | ProHoster","description":"4-6. z\u00e1\u0159\u00ed v Petrohrad\u011b, v konferen\u010dn\u00edm s\u00e1le Selectel prob\u011bhne t\u0159\u00eddenn\u00ed Sl\u00f8rm DevOps.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/slyorm-devops-ot-git-do-sre-so-vsemi-ostanovkami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/36933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=36933"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36933\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=36933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=36933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=36933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}