{"id":38981,"date":"2019-10-31T22:27:10","date_gmt":"2019-10-31T19:27:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\/"},"modified":"2019-10-31T22:27:10","modified_gmt":"2019-10-31T19:27:10","slug":"servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","title":{"rendered":"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Portaali Banki.ru tegevjuht Andrei Nikolsk\u00f5i r\u00e4\u00e4kis eelmisel aastal toimunud konverentsil <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">DevOpsDays Moskvas<\/a><\/noindex> orphan teenustest: kuidas tuvastada orvuks j\u00e4\u00e4nud teenuseid infrastruktuuris, millised on orvusteenuste puudused, mida nendega teha ja kuidas k\u00e4ituda, kui miski ei aita.<\/p>\n<p>Allpool on esituse tekstiversioon. <\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"j9I4oeEXBO8\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/j9I4oeEXBO8\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTere, kolleegid! Minu nimi on Andrei, juhin Banki.ru haldamist.<\/p>\n<p>Meil on suured teenused, need on monoliitsed teenused, on ka teenuseid klassikalisemas m\u00f5ttes ja on t\u00e4iesti v\u00e4ikesed. Oma t\u00f6\u00f6keskkonnas nimetan ma neid, et kui teenus on lihtne ja v\u00e4ike, siis on see mikro, ja kui see ei ole v\u00e4ga keeruline ega v\u00e4ike, siis on see lihtsalt teenus. <\/p>\n<h3><b>Teenuste eelised<\/b><\/h3>\n<p>\nK\u00e4in kiiresti \u00fcle teenuste eelistest. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/4c34a3af9125c5869eb7c1650bc3855a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsiteks \u2013 skaleeritavus. Sa saate teenusel kiiresti midagi teha ja k\u00e4ivitada tootmisprotsessis. Kui teil tuleb liiklust, kopeerite teenuse. Kui tuleb veel liiklust, kopeerite veel ja elate selle juurde. See on hea boonus ja p\u00f5him\u00f5tteliselt, kui me alustasime, peeti seda meie jaoks k\u00f5ige olulisemaks, miks me \u00fcldse seda k\u00f5ike teeme.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/c536f380ece14e0c873f765b587fb3c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeiseks, isoleeritud arendus, kus teil on mitu arendusmeeskonda, erinevad arendajad igas meeskonnas, ja iga meeskond loob oma teenust.<\/p>\n<p>Meeskondade puhul on n\u00fcansid. Arendajad on erinevad. N\u00e4iteks on olemas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=VPDJXngp2bM\">lumeinimesed<\/a><\/noindex>. N\u00e4gin seda esmakordselt Maksim Dorofeevi juures. M\u00f5nikord on lumeinimesi m\u00f5nes meeskonnas, m\u00f5nes aga mitte. See muudab ettev\u00f5ttes kasutatavaid erinevaid teenuseid veidi eba\u00fchtlasteks. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/f1e18ab059bd2b975d4c6ff1b6434626.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVaadake pilti: see on hea arendaja, kellel on suured k\u00e4ed, ta suudab palju teha. Peamine probleem on, kust need k\u00e4ed kasvavad. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/88fdc7266e97be8732f252908329a8f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeenused v\u00f5imaldavad kasutada erinevaid programmeerimiskeeli, mis sobivad paremini erinevate \u00fclesannete jaoks. \u00dcks teenus on Go-s, teine Erlangis, kolmas Ruby-s, midagi PHP-s, midagi Pythonis. \u00dches\u00f5naga, siin on v\u00f5imalik v\u00e4ga laialdaselt arendada. Siin on samuti n\u00fcansse.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/98a4b1037066d67e4f16bab934cebac6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeenusorienteeritud arhitektuur t\u00e4hendab eelk\u00f5ige devopsi. Kui teil pole automatiseerimist, pole paigaldusprotsessi ja te seadistate k\u00f5ik k\u00e4sitsi, v\u00f5ivad teie konfiguratsioonid erinevate teenuse instantside vahel varieeruda, mist\u00f5ttu peate sinna minema ja midagi tegema \u2013 see on t\u00f5eline \u00f5udus. <\/p>\n<p>N\u00e4iteks, kui teil on 20 teenust ja peate neid k\u00e4sitsi paigaldama, on teil 20 konsooli, kus peate samaaegselt \"enter\"-it vajutama nagu ninja. See pole just t\u00f5hus. <\/p>\n<p>Kui teie teenus on testimise l\u00e4bi l\u00e4inud (kui selline on olemas) ja seda tuleb veel viimase lihvi jaoks kohendada, et see tootmises t\u00f6\u00f6taks, siis pean ka teile halbu uudiseid edastama. <\/p>\n<p>Kui toetute Amazonile spetsiifilistele teenustele ja t\u00f6\u00f6tate Venemaal, siis kaks kuud tagasi oli teie jaoks sama olukord: \"K\u00f5ik p\u00f5letab \u00fcmberringi, mul on k\u00f5ik h\u00e4sti, k\u00f5ik on suurep\u00e4rane.\"<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/474f5f1c3f0ced131df5ee8f30f0aa15.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKasutame Ansible'i automatiseerimise jaoks, Puppet'i koosk\u00f5la tagamiseks, Bamboo't paigalduse automatiseerimiseks ning Confluence'i, et k\u00f5ike kuidagi dokumenteerida.<\/p>\n<p>Ma ei hakka sellel s\u00fcvenema, kuna ettekande keskmes on pigem koost\u00f6\u00f6praktikad kui tehniline teostus. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/ab837bed67ee319d72da705bc632e3f3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil on olnud n\u00e4iteks probleeme, et Puppet serveris t\u00f6\u00f6tab Ruby 2, samas kui m\u00f5ni rakendus on kirjutatud Ruby 1.8 jaoks ja need ei t\u00f6\u00f6ta koos. Seal tekib mingi konflikt. Kui peate \u00fchel masinal hoidma mitut Ruby versiooni, siis tekivad tavaliselt probleemid. <\/p>\n<p>Meil, n\u00e4iteks, anname igale arendajale platvormi, kus on enam-v\u00e4hem k\u00f5ik, mis meil on, k\u00f5ik teenused, mida saab arendada, et tal oleks isoleeritud keskkond, kus ta saaks seda rikkuda ja ehitada nii, nagu ta soovib. <\/p>\n<p>M\u00f5nikord on vaja spetsiaalselt kompileeritud paketti, mis toetab mingit asi. See on piisavalt j\u00e4ik. Kuulasin \u00fchte ettekannet, kus Docker image kaalub 45 GB. Linuxis on muidugi kergem, seal on k\u00f5ik v\u00e4iksem, aga ikkagi, ruumi ei j\u00e4tku. <\/p>\n<p>No ja on vastuolulisi s\u00f5ltuvusi, kui \u00fche projekti osa s\u00f5ltub \u00fche versiooni teegist, teine osa aga teisest versioonist, ning teegi koos paigaldamine ei toimi \u00fcldse. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/acc4c38c547cd6d0580cf3524532393a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil on PHP 5.6 p\u00f5hinevaid saite ja teenuseid, mille \u00fcle tunne me piinlikkust, aga mis parata. See on meie \u00fcks platvorm. PHP 7 puhul on meil rohkem saite ja teenuseid, mille \u00fcle me ei tunne piinlikkust. Igal arendajal on oma v\u00e4ike andmebaas, kus ta r\u00f5\u00f5muga t\u00f6\u00f6tab. <\/p>\n<p>Kui te suhtlete ettev\u00f5ttes \u00fches keeles, siis kolm virtuaalset masinat arendaja kohta k\u00f5lab normaalselt. Kui teil on erinevad programmeerimiskeeled, siis olukord halveneb.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/9f5da38456024679ba6a41768466cb82.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeie juurde tekivad saidid ja teenused selle peal, selle peal, siis veel \u00fcks platvorm Go jaoks, \u00fcks platvorm Ruby jaoks, ja veel \u00fcks Redis k\u00f5rvale. L\u00f5puks muutub see suureks tugiv\u00e4ljakuks, kus midagi v\u00f5ib pidevalt katki minna.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/20bde06e0aaceea028fabea09540d2a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeet\u00f5ttu vahetasime programmeerimiskeele pluginaid erinevate raamistikude vastu, kuna PHP raamistikke on piisavalt erinevaid, neil on erinevad v\u00f5imalused, erinevad kogukonnad, erinev tugi. Ja saate kirjutada teenuse nii, et teil oleks midagi eelnevalt valmis selle jaoks. <\/p>\n<h3><b>Igal teenusel on oma meeskond<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/ff32f7449c831e6dcb2bd9c41fb9c8e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie peamine eelis, mis on aastate jooksul v\u00e4lja kujunenud, on see, et igal teenusel on oma meeskond. See on mugav suurte projektide jaoks, kuna see aitab kokku hoida aega dokumentatsioonil ja juhtidel on hea \u00fclevaade oma projektist. <\/p>\n<p>Tugiteenuste \u00fclesandeid saab suurep\u00e4raselt suunata. N\u00e4iteks, kui kindlustusteenus rikki l\u00e4heb, siis l\u00e4heb koheselt kindlustuse meeskond seda parandama. <\/p>\n<p>Uute funktsioonide v\u00e4ljat\u00f6\u00f6tamine on kiire, sest kui teil on \u00fcks k\u00f5ikv\u00f5imalik teenus, saab sinna kiiresti midagi lisada. <\/p>\n<p>Ja kui teie teenus rikub, mis on v\u00e4ltimatu, ei m\u00f5juta see teisi teenuseid, ja arendajad teiste meeskondade hulgast ei tule teie juurde pahandama ja \u00fctlevad: \u201e\u00c4rge nii tehke.\u201d <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/30d99fa39654701437cdf90929d6a45e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNagu alati, on n\u00fcansid. Meil on stabiilsed meeskonnad, juhid on meeskondadega tugevalt seotud. Toad on selged, juhid j\u00e4lgivad k\u00f5ike hoolikalt. Igal meeskonnal on manageriga mitmeid teenuseid ning kindel kompetentsipunkt. <\/p>\n<p>Kui meeskonnad on muutlikud (seda juhtub meil vahel), siis on olemas hea meetod, mida nimetatakse \u201et\u00e4htkaart\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/cd18530d30973628f9351757a800dc37.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeie loendis on teenuseid ja inimesi. T\u00e4ht t\u00e4histab, et inimene on selle teenuse ekspert, raamat t\u00e4histab, et inimene \u00f5pib seda teenust. Inimese \u00fclesanne on vahetada raamat t\u00e4hts\u00fcmboli vastu. Kui teenuse vastas ei ole midagi kirjas, siis tekivad probleemid, millest ma hiljem r\u00e4\u00e4gin. <\/p>\n<h3><b>Kuidas tekivad orvuteenused?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/8ae33d6e940700a5941409b7cedf3e9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsiteks probleem, esimene viis, kuidas saada oma infrastruktuuris orvuteenuseid \u2014 see on inimeste vallandamine. Kas kellelgi on olnud kogemust, kus \u00e4rioujast saadetakse t\u00e4htaeg enne, kui \u00fclesandeid hinnatakse? M\u00f5nikord on t\u00e4htajad range ja dokumentatsiooni jaoks lihtsalt ei j\u00e4tku aega. 'Teenuse peab tootmisse andma, p\u00e4rast kirjutame edasi.' <\/p>\n<p>Kui meeskond on v\u00e4ike, v\u00f5ib olla, et seal on \u00fcks arendaja, kes kirjutab kogu koodi, teised toimetavad k\u00f5rval. \u00abMina kirjutasin p\u00f5histruktuuri, sina tee liidesed\u00bb. Siis mingil hetkel n\u00e4iteks juht lahkub. Ja sellel perioodil, mil juht on lahkunud, kuid uut pole veel m\u00e4\u00e4ratud, otsustavad arendajad ise, kuhu teenus liikuda v\u00f5iks, mis seal toimub. Ja nagu me teame (naaseme m\u00f5ned slaidid tagasi), on m\u00f5nedes meeskondades inimesi, kes on erilised, m\u00f5nikord on see eriline inimene ka tiimijuht. Siis ta lahkub, ja me saame koduta teenuse. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/44741c897bfd9dc04e0a977c1cf08df3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSellega on aga probleemid ja \u00e4ri\u00fclesanded kuhjunud, nad j\u00e4\u00e4vad tagasiotsingusse. Kui teenuse arendamisel oli mingeid arhitektuurilisi vigu, siis need j\u00e4\u00e4vad samuti tagasiotsingusse. Teenus aeglaselt halveneb. <\/p>\n<h3><b>Kuidas tuvastada kodutute teenuseid?<\/b> <\/h3>\n<p>\nSee nimekiri kirjeldab olukorda h\u00e4sti. Kes on oma infrastruktuuris midagi sellist kogenud?<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/b852d070bb6864f48e3a6ae9921a12b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDokumenteeritud lahenduste kohta: teenus eksisteerib ja \u00fcldiselt t\u00f6\u00f6tab, tal on kahe lehe pikkune juhend, kuidas seda kasutada, kuid kuidas see seestpoolt t\u00f6\u00f6tab, ei tea keegi. <\/p>\n<p>V\u00f5i n\u00e4iteks, on olemas m\u00f5ni lingi l\u00fchendaja. Meil on n\u00e4iteks praegu kasutuses kolm lingi l\u00fchendajat erinevate eesm\u00e4rkide jaoks erinevates teenustes. Need on just nimelt tagaj\u00e4rjed. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/350a041f21fcd75d9a948d2b9b77cda8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd olen ilmselgelt kapten. Mida tuleks ette v\u00f5tta? Esiteks tuleb teenus \u00fcle anda teisele juhile, teisele meeskonnale. Kui teie tiimijuht pole veel lahkunud, siis tuleb sellesse teise meeskonda, kui te m\u00f5istate, et teenus on nagu orv, lisada keegi, kes v\u00e4hemalt midagi sellest m\u00f5istab. <\/p>\n<p>Peamine asi: teil peavad olema veretuks kirjutatud \u00fcleminekuprotseduurid. Meie puhul j\u00e4lgin seda tavaliselt mina, sest mul on vaja, et see k\u00f5ik t\u00f6\u00f6taks. Juhtidele on vaja, et see kiiresti \u00fcle antaks, aga mis temaga hiljem juhtub, ei ole neile enam nii oluline. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/87b9d86c2c795f5d71db1489cab200a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ\u00e4rgmine viis orvuks muuta on: \"Teeme v\u00e4liseid allhankeid, nii on kiiremini, ja siis anname selle meeskonda \u00fcle.\" On selge, et k\u00f5igil on oma plaanid meeskonnas, j\u00e4rjekord. Sageli arvab \u00e4ri tellija, et allhankija teeb selle sama moodi nagu ettev\u00f5tte tehniline osakond. Kuigi nende motivatsioonid on erinevad. V\u00e4lises allhangetes v\u00f5ivad olla kummalised tehnilised lahendused ja kummalised algoritmilised lahendused.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/b4208ccb134cbc694ea4993ec2751ec5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil oli n\u00e4iteks teenus, kus Sphinx oli erinevates \u00fcllatavates kohtades. R\u00e4\u00e4gin hiljem, mida tuli ette v\u00f5tta. <\/p>\n<p>Outsourceritel on sageli oma kirjutatud raamistikud. See on lihtsalt puhas PHP, kus on kopeeritud-kleebitud eelmisest projektist, kust v\u00f5ib leida k\u00f5ike. Suured \u00e4mbrit\u00f5mbed deploy-skriptides, kus peate keeruliste Bash-skriptide abil muutma paar rida mingis failis, samas kui neid deploy-skripte kutsub \u00fcles m\u00f5ni kolmas skript. L\u00f5puks muudate deploy-s\u00fcsteemi, valite midagi muud, ja hop, teenus ei t\u00f6\u00f6ta. Sest seal pidid olema veel 8 linki erinevate kaustade vahel. V\u00f5i v\u00f5ib olla, et tuhat kirjet t\u00f6\u00f6tab, aga sada tuhat enam ei t\u00f6\u00f6ta. <\/p>\n<p>J\u00e4tkan kaptaanina. Teenuse vastuv\u00f5tt outsoursingust on kohustuslik protseduur. Kas kellegil on olnud, et outsourseeritud teenus j\u00f5uab kohale, aga seda ei v\u00f5eta kuskile vastu? See ei ole muidugi nii populaarne kui orvuks j\u00e4\u00e4nud teenus, aga siiski. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/92ef67a1bb714cdfb820efe432d0303b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0421\u0435\u0440\u0432\u0438\u0441 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430\u0434\u043e \u0440\u0435\u0432\u044c\u044e\u0438\u0442\u044c, \u043d\u0430\u0434\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u0438. \u0423 \u043d\u0430\u0441 \u0431\u044b\u043b \u0441\u043b\u0443\u0447\u0430\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043f\u043e\u0434\u043a\u0438\u043d\u0443\u043b\u0438 \u0441\u0435\u0440\u0432\u0438\u0441, \u0442\u0430\u043c \u0430\u0434\u043c\u0438\u043d\u043a\u0430 \u00abif login == \u2018admin\u2019 &amp;&amp; password == \u2018admin\u2019&#8230;\u00bb, \u043f\u0440\u044f\u043c \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e. \u041c\u044b \u0441\u0438\u0434\u0438\u043c \u0438 \u0434\u0443\u043c\u0430\u0435\u043c, \u0438 \u044d\u0442\u043e \u043f\u0438\u0448\u0443\u0442 \u043b\u044e\u0434\u0438 \u0432 2018 \u0433\u043e\u0434\u0443?<\/p>\n<p>Salvestusmahu testimine on samuti vajalik. Tuleb j\u00e4lgida, mis juhtub sadade tuhandete kirjetega, enne kui seda teenust tootmisse l\u00e4hete. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/3fabdc20049892cee7636c30e595881d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeenuse t\u00e4iendamisele saatmine ei tohiks olla h\u00e4biv\u00e4\u00e4rne. Kui \u00fctlete: \"Me ei v\u00f5ta seda teenust vastu, meil on 20 \u00fclesannet, tehke need \u00e4ra, siis v\u00f5tame,\" on see t\u00e4iesti normaalne. S\u00fcdametunnistus ei tohi olla h\u00e4iritud, kui panete juhatajat ohtu v\u00f5i kui \u00e4ri kulutab raha. \u00c4ri kulutab hiljem rohkem.<\/p>\n<p>Meil oli juhtum, kus otsustasime teha pilootprojekti v\u00e4ljavahetamisele.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/a5b25638e51c4eabe9d6a6971f08fa6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee projekti l\u00f5petamine toimus \u00f5igel ajal, mis oli ainus kvaliteedikriteerium. Seet\u00f5ttu viidi ellu veel \u00fcks pilootprojekt, mis ei olnud enam p\u00e4ris piloot. Need teenused viidi ellu, halduslikult \u00f6eldi, et siin on teie kood, siin on teie meeskond, siin on teie juht. Teenused hakkasid reaalselt juba kasumit tootma. Sellegipoolest on nad t\u00f5eliselt j\u00e4tkuvalt orvud, keegi ei saa aru, kuidas nad t\u00f6\u00f6tavad, ja juhid eemalduvad igal moel nende \u00fclesannetest. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/29ac8ab670df5d2c92dc7940d0a74e24.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOn veel \u00fcks suurep\u00e4rane m\u00f5isted \u2014 partisanide arendus. Kui m\u00f5ni osakond, tavaliselt turundusosakond, soovib testida h\u00fcpoteesi ja tellib teenuse t\u00e4ielikult v\u00e4lja. Sellele hakkab voolama liiklus, nad kinnitavad dokumente, allkirjastavad lepingu t\u00f6\u00f6v\u00f5tjaga, lastakse kasutusse ja \u00fctlevad: \u201eKaaslased, meil on siin teenus, millel on juba liiklus, see toob meile raha, v\u00f5tame selle kasutusele.\u201c Meie oleme sellised: \u201eOh, kuidas see v\u00f5imalik on?\u201c<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/1fa0187e5db9bed7af0c97ac8500567f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa veel \u00fcks viis orvuteenuse saamiseks: kui m\u00f5ni meeskond \u00e4kki koormuse alla j\u00e4\u00e4b, \u00fctleb juhtkond: \u201eKandke teenus selle meeskonna juurde \u00fcle teisele meeskonnale, kellel on v\u00e4hem koormust.\u201c Ja siis anname kolmandale meeskonnale, ja vahetame juhi \u00e4ra. Ja l\u00f5puks on meil j\u00e4lle orvuteenused.<\/p>\n<h3><b>Mis on orvuteenuste probleem?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/009170e7989a78e8bd9f5b7b364e358c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKes ei tea, siis see on Rootsis ehitatud lineaarlaev Wasa, tuntud selle poolest, et see uppus viie minuti p\u00e4rast p\u00e4rast vee peale laskmist. Ja Rootsi kuningas ei karistanud kedagi selle eest. See ehitati kahe insenerigeneratsiooni poolt, kellel ei olnud selliste laevade ehitamisest aimu. Tulemuseks on seadusp\u00e4rane efekt.<\/p>\n<p>Laev oleks v\u00f5inud uppuda palju hullemini, n\u00e4iteks siis, kui kuningas oleks olnud laeva peal tormis teel kuhugi. Nii et see uppus kohe \u2014 agiilse m\u00f5tteviisi j\u00e4rgi on see hea \u2014 eba\u00f5nnestuda vara. <\/p>\n<p>Kui me eba\u00f5nnestume vara, siis tavaliselt probleeme ei ole. N\u00e4iteks, kui aktsepteerimise ajal saadetakse see t\u00e4iendusele. Aga kui me oleme eba\u00f5nnestunud juba tootmises, kui raha on sisse pandud, v\u00f5ivad tekkida probleemid. Tagaj\u00e4rjed, nagu \u00e4rimaailmas \u00f6eldakse.<\/p>\n<p>Millised on orvuteenuste ohud:<\/p>\n<ul>\n<li>Teenuse \u00fcllatuslik l\u00f5hkemine. <\/li>\n<li>Teenuse parandamine v\u00f5tab kaua aega v\u00f5i ei toimu \u00fcldse. <\/li>\n<li>Turvalisuse probleemid. <\/li>\n<li>Probleemid muudatuste ja uuendustega. <\/li>\n<li>Kui oluline teenus kokku variseb, kannatab ettev\u00f5tte maine. <\/li>\n<\/ul>\n<p><\/p>\n<h3><b>Kuidas k\u00e4ituda orvuteenustega?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/094444a042ccf12bf4c9e166c3fffe47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKordaksin veel kord, mida teha. Esiteks, dokumentatsioon peab olema. 7 aastat Banki.ru's \u00f5petasid mind, et testijad ei tohiks arendajate s\u00f5n\u0101 usaldada, ja hooldus ei tohiks samuti k\u00f5igile uskuda. Tuleb kontrollida. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/23d652f96e93eb52d9172b103121fe54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeiseks, tuleb kirjutada koost\u00f6\u00f6 skeeme, sest juhtub, et teenused, mis on heaks kiidetud, sisaldavad s\u00f5ltuvusi, millest keegi ei ole r\u00e4\u00e4kinud. N\u00e4iteks arendajad on seadnud teenuse oma v\u00f5tme kaudu m\u00f5ne Yandexi kaardi v\u00f5i Dadata juurde. Kui teie tasuta piirang on l\u00e4bi, k\u00f5ik on katki ja te ei tea, mis \u00fcldse juhtus. K\u00f5ik sellised takistused peavad olema kirja pandud: teenuses kasutatakse Dadata, Sms, midagi muud.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/b2770a07cf265ad8a3890b2cb2f62263.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKolmandaks, t\u00f6\u00f6 tehnilise v\u00f5laga. Kui teete mingeid tugistruktuure v\u00f5i v\u00f5tate teenuse vastu ja \u00fctlete, et midagi tuleb teha, tuleb j\u00e4lgida, et seda ka tehakse. Sest hiljem v\u00f5ib selguda, et v\u00e4ike s\u00fcvend ei ole nii v\u00e4ike, ja te v\u00f5ite sinna sisse kukkuda.<\/p>\n<p>Meie arhitektuuri\u00fclesannetega seoses oli meil lugu just Sphinxist. \u00dches teenuses kasutati Sphinxit nimekirjade sisestamiseks. Lihtsalt nimekiri lehtede kaupa, kuid samal ajal indekseeris see end iga \u00f6\u00f6. See koosnes kahest indeksist: \u00fcks indeks, mis indekseeris iga \u00f6\u00f6 suure andmehulgaga, ja teine, v\u00e4iksem indeks, mis sellele lisandus. Igal p\u00e4eval oli 50% t\u00f5en\u00e4osus, et kas see toimis v\u00f5i mitte; kui indekseeritav teave laaditi \u00fcles, purunes indeks ja uudised lakkasid meie avalehel uuendumast. Alguses kestsid katkestused 5 minutit, kuni indeks uuesti indekseeritud sai, seej\u00e4rel kasvas indeks ja mingil hetkel hakkas indekseeritav teave v\u00f5tma 40 minutit. Kui me selle eemaldame, kergendasime hinge, sest oli selge, et veel natuke aega ja meie indeks hakkaks pidevalt t\u00f6\u00f6p\u00e4eva jooksul uuenduma. See t\u00e4hendaks meie portaali jaoks eba\u00f5nnestumist \u2014 kaheksa tundi ilma uuteta, k\u00f5ik, \u00e4ri seiskub.<\/p>\n<h3><b>T\u00f6\u00f6plaan \u00fcksikteenuse jaoks<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/f072ec872d59de058faf1994ac39f161.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTegelikult on seda v\u00e4ga raske teha, sest DevOps on suhtlemise kohta. Tahetakse hoida h\u00e4id suhteid kolleegidega, kuid kui sa l\u00f6\u00f6d kolleegid ja juhid regulatsioonidega peas, v\u00f5ivad nad tunda segadust nende inimeste suhtes, kes nii teevad. <\/p>\n<p>Lisaks k\u00f5igile neile punktidele on veel \u00fcks oluline asi: iga konkreetse teenuse ja iga konkreetse juhi vastutus peab olema m\u00e4\u00e4ratud kindlate inimeste poolt. Kui inimesi ei ole ja tuleb kaasata teisi inimesi, kes peavad k\u00f5ik uuesti \u00f5ppima, l\u00e4heb see keeruliseks.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/28e7372012d5089d3ac1be3d7dc97e03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui see k\u00f5ik ei aidanud ja teenus on endiselt orvuks j\u00e4\u00e4nud, ei taha keegi seda endale v\u00f5tta, dokumentatsiooni ei kirjutata, ja meeskond, kes selle teenusega kokku kutsuti, keelduvad midagi tegemast, on lihtne lahendus \u2014 kogu see asi tuleb \u00fcmber teha. <\/p>\n<p>See t\u00e4hendab, et v\u00f5tate teenuse n\u00f5udmised uuesti ja kirjutate uue teenuse, parem versioon, paremal platvormil, ilma kummaliste tehniliste lahendusteta. Ja migreerite sellele aktiivselt. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri teine k\u00fclg\" src=\"\/wp-content\/uploads\/2019\/10\/63d0bf7d9ac1e5c5b00b67b519e228a1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil oli olukord, kus kasutasime Yii 1 teenust ja m\u00f5istsime, et me ei saa seda edasi arendada, kuna meie arendajad, kes oskavad Yii 1 keeles kirjutada, said otsa. K\u00f5ik arendajad kirjutavad h\u00e4sti kolmandas Symfony's. Mis teha? Eraldasime aega, moodustasime meeskonna, m\u00e4\u00e4rasime projektijuhiks inimese, kirjutasime projekti \u00fcmber ja sujuvalt suunatud liiklus sellele. <\/p>\n<p>P\u00e4rast seda saab vana teenuse eemaldada. See on minu lemmikprotseduur, kui konfigureerimise halduss\u00fcsteemist tuleb midagi v\u00e4lja v\u00f5tta ja puhastada, ning siis k\u00e4ia kontrollimas, et k\u00f5ik tooteversioonid oleksid kustutatud ja arendajatel ei j\u00e4\u00e4ks j\u00e4lgi. Git'i repositoorium j\u00e4\u00e4b alles.<\/p>\n<p>See on k\u00f5ik, millest ma tahtsin r\u00e4\u00e4kida, olen valmis arutama, teema on \u00fcsna vaieldav, paljud on selles osalenud. <\/p>\n<p><b>Slide'idel oli juttu sellest, et te \u00fchtlustasite keeled. N\u00e4idatud n\u00e4itena oli piltide suuruse muutmine. Kas on t\u00f5esti vajalik rangelt \u00fcht keelt kasutada? Sest pildi suuruse muutmine PHP-s, noh, oleks v\u00f5inud seda t\u00f5esti ka Golangis teha.<\/b><\/p>\n<p>Tegelikult ei ole see vajalik, nagu paljud teised praktikad. M\u00f5nel juhul v\u00f5ib see isegi olla soovimatu. Kuid on oluline m\u00f5ista, et kui teie ettev\u00f5ttes on 50 inimesest IT-osakonnas, kellest 45 on PHP arendajad, 3 on DevOps-i, kes oskavad Pythonit, Ansible'i, Puppet't ja midagi sellist, ning ainult \u00fcks inimene kirjutab mingis Go-s teenust piltide suuruse muutmiseks, siis kui ta lahkub, lahkub ekspertteadmus koos temaga. Ja teil on vaja otsida turul spetsiifilist arendajat, kes tunneb seda keelt, eriti kui see on haruldane. Seega on see organisatsiooniliselt probleemne. DevOps'i vaatenurgast peate mitte ainult kloonima m\u00f5nda valmis m\u00e4nguraamatut, mida kasutate teenuste k\u00e4ivitamiseks, vaid peate need uuesti kirjutama. <\/p>\n<p>Me arendame praegu teenust Node.js-il ja see on just see platvorm, kus iga\u00fchel arendajal on oma keel. Kuid me istusime ja m\u00f5tlesime, et m\u00e4ng v\u00e4\u00e4rib vaeva. See t\u00e4hendab, et siin on k\u00fcsimus j\u00e4rele m\u00f5elda.<\/p>\n<p><b>Kuidas te j\u00e4lgite oma teenuseid? Kuidas kogute ja j\u00e4lgite logisid?<\/b><\/p>\n<p>Kogume logisid Elasticsearchis ja salvestame need Kibanas. Olenevalt sellest, kas tegu on tootmis- v\u00f5i testikeskkondadega, kasutatakse seal erinevaid kogumise t\u00f6\u00f6riistu. Kusagil on Lumberjack, kusagil veel midagi, enam ei m\u00e4leta. Teatud teenustes kasutame ka Telegrafi ja saadame andmeid eraldi mujale. <\/p>\n<p><b>Kuidas elada Puppet'i ja Ansible'iga \u00fche keskkonna sees?<\/b><\/p>\n<p>Tegelikult on meil praegu kaks keskkonda: \u00fcks on Puppet, teine Ansible. T\u00f6\u00f6tame selle nimel, et need h\u00fcbriidida. Ansible on hea keskkond algse seadistuse jaoks, Puppet on algse seadistuse jaoks halb, sest see n\u00f5uab k\u00e4sitsi t\u00f6\u00f6tamist otse keskkonnas, ja Puppet tagab konfiguratsiooni \u00fchtsuse. See t\u00e4hendab, et keskus toetab end pidevalt uuena, samas kui ansibletud masin n\u00f5uab pidevat playbook'ide k\u00e4itamist, et end v\u00e4rskena hoida. Selline on erinevus. <\/p>\n<p><b>Kuidas te toetate \u00fchilduvust? Kas teil on konfigureerimist nii Ansible\u2019is kui ka Puppet\u2019is?<\/b><\/p>\n<p>See on meie suur probleem, toetame \u00fchilduvust k\u00e4sitsi ja m\u00f5tleme, kuidas k\u00f5ik sellest kuhugi edasi viia. Tundub, et Puppet installib pakette ja toetab seal teatud linke, samas kui Ansible, n\u00e4iteks, installib koodi ja kohandab sellele v\u00e4rskeid rakenduskonfigureerimisi.<\/p>\n<p><b>Esitluses r\u00e4\u00e4giti erinevatest Ruby versioonidest. Milline lahendus?<\/b><\/p>\n<p>Me oleme selle probleemiga \u00fches kohas kokku puutunud ja peame seda pidevalt meeles pidama. Lihtsalt l\u00fclitasime v\u00e4lja selle osa, mis t\u00f6\u00f6tas Ruby versiooniga, mis ei \u00fchtinud rakendustega, ja hoidsime seda eraldi. <\/p>\n<blockquote><p> Sel aastal toimub konverents <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">DevOpsDays Moskvas<\/a><\/noindex> 7. detsembril 'Tehnopolis'. J\u00e4tame ettekannete esitamise taotlusi avatuks kuni 11. novembrini. <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">Kirjutage<\/a><\/noindex> meile, kui soovite esineda.<\/p>\n<p>Osalejate registreerimine on avatud, liituge! \n<\/p><\/blockquote>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/scienceman_events\/blog\/471146\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29246,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,\" \/>\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\/et\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 (\u043c\u0438\u043a\u0440\u043e)\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\" \/>\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:27:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:10+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\udd47Orvuteenused: (mikro)teenuse arhitektuuri tagak\u00fclg | ProHoster","description":"Pankade portaal Banki.ru operatsioonidirektor Andre Nikolsky r\u00e4\u00e4kis eelmisel aastal konverentsil DevOpsDays Moscow orphan teenustest: kuidas tuvastada orvuteenust infrastruktuuris, millised on orvuteenuste puudused, mida nendega teha, ja kuidas toimida, kui miski ei aita. Allpool on esitluse tekstiversioon. Tere, kolleegid! Minu nimi on Andre, juhin Banki.ru operatsiooni. Meil on suured teenused,","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 (\u043c\u0438\u043a\u0440\u043e)\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b | ProHoster","og:description":"\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440 \u043f\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u043e\u0440\u0442\u0430\u043b\u0430 Banki.ru \u0410\u043d\u0434\u0440\u0435\u0439 \u041d\u0438\u043a\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e\u0434\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOpsDays Moscow \u043f\u0440\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b: \u043a\u0430\u043a \u043e\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0438\u0440\u043e\u0442\u0443 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435, \u0447\u0435\u043c \u043f\u043b\u043e\u0445\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b-\u0441\u0438\u0440\u043e\u0442\u044b, \u0447\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c, \u0438 \u043a\u0430\u043a \u0431\u044b\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u043b\u0430\u0434\u0430. \u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435, \u043a\u043e\u043b\u043b\u0435\u0433\u0438! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439, \u044f \u0440\u0443\u043a\u043e\u0432\u043e\u0436\u0443 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0435\u0439 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Banki.ru. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b,","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","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:27:10+00:00","article:modified_time":"2019-10-31T19:27:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38981","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":"","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-24 00:15:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:59:27","updated":"2026-01-24 00:15:21"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=38981"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38981\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/29246"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=38981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=38981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=38981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}