{"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 vastaspool.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Banki.ru porta juhtiv t\u00f6\u00f6taja Andrei Nikolski r\u00e4\u00e4kis mullu 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 Moskvasse<\/a><\/noindex> orvuteenustest: kuidas tuvastada orvuteenuseid infrastruktuuris, millised on orvuteenuste puudused, mida nendega teha ja kuidas k\u00e4ituda, kui miski ei aita.<\/p>\n<p>Allpool on ettekande 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=\"M\u00e4ngi 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, ma juhinBanki.ru teenuseid.<\/p>\n<p>Meil on suured teenused, need on monoliitteenused, on ka klassikalisemas m\u00f5ttes teenuseid ja ka v\u00e4ga v\u00e4ikseid teenuseid. Oma t\u00f6\u00f6tava-p\u00f5llumehe terminoloogias \u00fctlen, et kui teenus on lihtne ja v\u00e4ike, siis on see mikro, ja kui see ei ole eriti lihtne ja mitte v\u00e4ike, siis on see lihtsalt teenus. <\/p>\n<h3><b>Teenuste plussid<\/b><\/h3>\n<p>\nK\u00e4in kiiresti \u00fcle teenuste plussid. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/4c34a3af9125c5869eb7c1650bc3855a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene on skaleerimine. Te saate teenusel kiiresti midagi teha ja alustada tootmises. Kui teil tuleb liiklus, kloonite teenuse. Kui tuleb veel liiklust, kloonite uuesti ja elate selle kaubaga. See on hea boonus ja p\u00f5him\u00f5tteliselt, kui me alustasime, peeti seda meie jaoks k\u00f5ige olulisemaks, miks me kogu seda teha \u00fcldse tahtsime.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/c536f380ece14e0c873f765b587fb3c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeiseks, isoleeritud arendamine, kui teil on mitu arendusmeeskonda, mitmed erinevad arendajad igas meeskonnas ja iga meeskond arendab oma teenust.<\/p>\n<p>Meeskondadega on n\u00fcanss. Arendajad on erinevad. N\u00e4iteks on olemas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=VPDJXngp2bM\">lumeinimesed<\/a><\/noindex>. N\u00e4gin esmakordselt seda maksima Dorofoevi juures. M\u00f5nikord on lumeinimesi m\u00f5nes meeskonnas, m\u00f5nes ei ole. See muudab erinevaid teenuseid, mida ettev\u00f5ttes kasutakse, veidi eba\u00fchtlasteks. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/f1e18ab059bd2b975d4c6ff1b6434626.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVaadake pilti: see on hea arendaja, tal on suured k\u00e4ed, ta suudab palju teha. Peamine probleem on see, kust need k\u00e4ed kasvavad. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" 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 t\u00e4itmiseks. \u00dcks teenus on Go-s, teine Erlangis, \u00fcks Ruby-s, m\u00f5ni PHP-s, m\u00f5ni Pythonis. \u00dcldiselt, laiendaned v\u00e4ga laialdaselt. Siin on samuti n\u00fcansse.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/98a4b1037066d67e4f16bab934cebac6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeenusele orienteeritud arhitektuur on eelk\u00f5ige seotud devopsiga. See t\u00e4hendab, et kui teil ei ole automatiseerimist, ei ole paigaldusprotsessi, kui te seadistate k\u00e4sitsi, v\u00f5ivad teie konfiguratsioonid erinevate teenuse instantside vahel erineda ja peate sinna minema ja midagi tegema, siis olete p\u00f5rgus. <\/p>\n<p>N\u00e4iteks, kui teil on 20 teenust ja peate need k\u00e4sitsi juurutama, siis teil on 20 kontrollerit ja samal ajal vajutate \"enter\" nagu ninja. See ei ole just k\u00f5ige parem lahendus. <\/p>\n<p>Kui teil on teenus, mis on p\u00e4rast testimist (kui testimine on loomulikult olemas) ja seda tuleb veel lihvida, et see tootmiskeskkonnas t\u00f6\u00f6taks, siis mul on teile samuti halbu uudiseid. <\/p>\n<p>Kui toetute Amazoni spetsiifilistele teenustele ja t\u00f6\u00f6tate samal ajal Venemaal, siis kaks kuud tagasi oli teil ka \"K\u00f5ik p\u00f5leb \u00fcmberringi, ma olen okei, k\u00f5ik on h\u00e4sti\".<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/474f5f1c3f0ced131df5ee8f30f0aa15.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKasutame Ansible'it juurutamise automatiseerimiseks, Puppet'i konvergentsiks, Bamboo't juurutamise automatiseerimiseks ja Confluence'i selle k\u00f5ik dokumenteerimiseks.<\/p>\n<p>Ei hakka sellel pikemalt peatuma, kuna esitlus on pigem koost\u00f6\u00f6praktikate kohta, mitte tehnilise rakenduse kohta. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/ab837bed67ee319d72da705bc632e3f3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil on n\u00e4iteks olnud probleeme, et Puppet serveris t\u00f6\u00f6tab Ruby 2, aga m\u00f5ni rakendus on kirjutatud Ruby 1.8 jaoks ja nad ei t\u00f6\u00f6ta koos. Seal juhtub mingi probleem. Kui peate \u00fchel masinal hoidma mitu Ruby versiooni, siis tavaliselt algavad probleemid. <\/p>\n<p>Me anname n\u00e4iteks igale arendajale platvormi, kus on umbes k\u00f5ik, mis meil on, k\u00f5ik teenused, mida saab arendada, et tal oleks isoleeritud keskkond, kus ta saaks seda l\u00f5hkuda ja ehitada, nagu tal soov on. <\/p>\n<p>M\u00f5nikord on vajalik m\u00f5ni spetsiaalselt kompileeritud paket, mis toetab mingit asja. See on suhteliselt range. Kuulasin esitluse, kus Docker'i pilt kaalub 45 GB. Linuxis on muidugi lihtsam, seal on k\u00f5ik v\u00e4iksem, aga ikkagi, kohti ei j\u00e4tku. <\/p>\n<p>Noh, ja v\u00f5ib esineda vastuolulisi s\u00f5ltuvusi, kui teie projekti \u00fcks osa s\u00f5ltub \u00fche versiooniga raamatukogust ja teine osa teise versiooniga raamatukogust, kuid raamatukogusid ei saa omavahel paigaldada. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/acc4c38c547cd6d0580cf3524532393a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil on veebisaidid ja teenused PHP 5.6-l, meil on nende p\u00e4rast h\u00e4bi, aga mida teha. See on meie \u00fcks platvorm. On veebisaite ja teenuseid PHP 7-l, neid on rohkem, nende p\u00e4rast meil h\u00e4bi ei ole. Ja iga arendajal on oma baas, kus ta r\u00f5\u00f5msalt t\u00f6\u00f6tleb. <\/p>\n<p>Kui kirjutate ettev\u00f5ttes \u00fches keeles, siis kolm virtuaalmasinat arendaja kohta on normaalne. Kui teil on erinevad programmeerimiskeeled, siis olukord halveneb.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/9f5da38456024679ba6a41768466cb82.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeie juures on veebisaidid ja teenused, see, see, siis veel \u00fcks Go platvorm, \u00fcks Ruby platvorm, veel m\u00f5ni Redis k\u00f5rval. L\u00f5puks k\u00f5ik see muutub suureks toetamise alaks ning alati v\u00f5ib midagi sellest katki minna.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/20bde06e0aaceea028fabea09540d2a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSeet\u00f5ttu oleme programmist saadud kasulikke funktsioone asendanud erinevate raamistikudega, kuna raamistikud PHP-le on piisavalt erinevad, neil on erinevad v\u00f5imalused, erinevad kogukonnad, erinev tugi. Ja saab kirjutada teenuse nii, et teil on juba midagi selle jaoks olemas. <\/p>\n<h3><b>Igal teenusel on oma meeskond<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/ff32f7449c831e6dcb2bd9c41fb9c8e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeie peamine pluss, mis on v\u00e4lja kristalliseerunud mitme aasta jooksul, on see, et igal teenusel on oma meeskond. See on mugav suure projekti jaoks, saab aega s\u00e4\u00e4sta dokumentatsiooni pealt, juhid tunnevad oma projekti h\u00e4sti. <\/p>\n<p>Tugitegevustest saab \u00fclesandeid suurep\u00e4raselt edasi anda. N\u00e4iteks, kui kindlustusteenus on katki. Ja kohe l\u00e4heb kindlustusega tegelev meeskond seda parandama. <\/p>\n<p>Uute funktsioonide lisamine toimub kiiresti, sest kui teil on \u00fcks teatud aatomaarne teenus, siis saab sellesse operatiivselt midagi sisse panna. <\/p>\n<p>Ja kui olete oma teenuse katki teinud, mis on paratamatult leiduv, siis te ei puutu teiste teenustega kokku, ja teie juurde ei tule arendajad teiste meeskondadest kiivritega ning ei \u00fctle: \"Oi-oi, \u00e4rge nii tehke.\" <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" 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 meeskonnaga tugevalt seotud. On selged dokumendid, juhid j\u00e4lgivad seda hoolikalt. Igal meeskonnal on juhiga mitu teenust ja on konkreetne kompetentsipunkt. <\/p>\n<p>Kui meeskonnad on liikuvad (sellist praktikat kasutame vahel), on olemas hea meetod, mida nimetatakse \"t\u00e4htedekaardiks\".<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/cd18530d30973628f9351757a800dc37.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeie k\u00e4es on teenuste ja inimeste nimekiri. T\u00e4ht t\u00e4histab, et inimene on selle teenuse ekspert, raamat t\u00e4histab, et inimene \u00f5pib seda teenust. Inimese \u00fclesanne on vahetada raamat t\u00e4htede vastu. Ja kui teenuse vastas ei ole midagi kirjutatud, siis algavad probleemid, millest ma edaspidi r\u00e4\u00e4gin. <\/p>\n<h3><b>Kuidas tekivad orvuteenused?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/8ae33d6e940700a5941409b7cedf3e9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene probleem, esimene viis, kuidas saada endale infrastruktuuri teenusesoht \u2014 see on inimeste vallandamine. Kas kellegil on olnud, et \u00e4ri toob t\u00e4htaegu enne, kui \u00fclesandeid hinnatakse? M\u00f5nikord on t\u00e4htaegadega kitsas ja dokumentatsiooni jaoks ei j\u00e4tku aega. \"Peame teenuse tootmisse andma, p\u00e4rast kirjutame juurde.\" <\/p>\n<p>Kui meeskond on v\u00e4ike, v\u00f5ib olla, et seal on \u00fcks arendaja, kes kirjutab k\u00f5ik, teised on abiks. \"Ma kirjutasin p\u00f5histruktuuri, sina tee kasutajaliidese \u00fclesanded.\" Siis mingil hetkel, n\u00e4iteks, lahkub juht. Ja sellel perioodil, kui juht on lahkunud ja uut pole veel nimetatud, otsustavad arendajad ise, kuhu teenus liigub, mis seal toimub. Ja nagu me teame (naaseme m\u00f5ne slaidi tagasi), on m\u00f5nedes meeskondades inimesi-lumehelbeid, m\u00f5nikord lumehelbeke-peakorter. Siis lahkub ta, ja me saame teenusesohtu. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/44741c897bfd9dc04e0a977c1cf08df3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSamas ei kao toe ja \u00e4ri\u00fclesanded kuhugi, need j\u00e4\u00e4vad tagavarasse. Kui teenuse arendamise k\u00e4igus on olnud mingisuguseid arhitektuurilisi vigu, siis needki j\u00e4\u00e4vad tagavarasse. Teenus aeglaselt laguneb. <\/p>\n<h3><b>Kuidas \u00e4ra tunda teenusesaadet?<\/b> <\/h3>\n<p>\nSee nimekiri kirjeldab olukorda \u00fcsna h\u00e4sti. Kes on oma infrastruktuuris midagi sarnast kogenud?<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/b852d070bb6864f48e3a6ae9921a12b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDokumenteeritud t\u00f6\u00f6lahenduste kohta: on teenus ja \u00fcldiselt t\u00f6\u00f6tab see, tal on kaks lehek\u00fclge k\u00e4siraamatut, kuidas sellega t\u00f6\u00f6tada, kuid kuidas see seestpoolt t\u00f6\u00f6tab, ei tea keegi. <\/p>\n<p>V\u00f5i n\u00e4iteks on olemas m\u00f5ni lingikokkuv\u00f5tja. Meil on n\u00e4iteks praegu k\u00e4imas kolm lingikokkuv\u00f5tjat erinevate eesm\u00e4rkide jaoks erinevates teenustes. See on just selliste tagaj\u00e4rgede tulemus. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/350a041f21fcd75d9a948d2b9b77cda8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00fc\u00fcd hakkan ma olema ilmne kapten. Mida on vaja ette v\u00f5tta? Esiteks tuleb teenus edastada teisele juhile, teisele meeskonnale. Kui teie peakorter pole veel lahkunud, siis sellesse teise meeskonda, kui te m\u00f5istate, et teenus sarnaneb orvule, tuleb kaasata keegi, kes sellest v\u00e4hemalt midagi teab. <\/p>\n<p>Peamine asi: teil peavad olema kirja pandud verega protseduurid \u00fcleminekuks. Meie puhul j\u00e4lgin ma tavaliselt seda, sest mul on oluline, et see k\u00f5ik t\u00f6\u00f6taks. Juhtidele on oluline, et see oleks kiiresti \u00fcle antud, mis sellega p\u00e4rast juhtub, ei ole neile enam nii t\u00e4htis. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/87b9d86c2c795f5d71db1489cab200a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJ\u00e4rgmine viis teha orbudest \u2014 \"Teeme \u00e4ra allhanke kaudu, nii on kiiremini, ja siis anname meeskonnale edasi\". On selge, et k\u00f5igil on oma plaanid meeskonnas ning j\u00e4rjekord. Tihti arvab \u00e4riklient, et allhanke tegijad saavad seda teha sama h\u00e4sti, kui tehnikainstituudis, mis on ettev\u00f5ttes olemas. Kuigi nende motivaatorid on erinevad. Allhankes v\u00f5ivad olla kummalised tehnoloogilised lahendused ja kummalised algoritmilised lahendused.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/b4208ccb134cbc694ea4993ec2751ec5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil n\u00e4iteks oli teenus, kus Sphinx oli erinevates ootamatutes kohtades. R\u00e4\u00e4gin hiljem, mida tuli teha. <\/p>\n<p>Allhankijatel on sageli isetegemise raamistikud. See on lihtsalt puhas PHP koos varasemast projektist kopeeritud koodiga, kust v\u00f5ib leida igasugu asju. Suured toetused deploy-skriptides, kui peate keeruliste Bash-skriptide abil mingites failides m\u00f5nda rida muutma, samas kui need deploy-skriptid kutsuvad mingit kolmandat skripti. L\u00f5puks muudate deploy-s\u00fcsteemi, valite midagi muud, ja \u00e4kki ei t\u00f6\u00f6ta teie teenus. Sest seal pidi olema veel 8 linki erinevate kaustade vahel. V\u00f5i juhtub, et tuhat kirjeid t\u00f6\u00f6tab, aga sada tuhat enam mitte. <\/p>\n<p>J\u00e4tkan kaptenina. Teenuse vastuv\u00f5tt allhankest \u2014 see on kohustuslik protseduur. Kas kellelgi on olnud nii, et teenus allhankest tuleb, aga seda ei v\u00f5eta vastu? See ei ole kindlasti nii populaarne kui orbu teenus, kuid siiski. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" 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>Salvestusmahud tuleb testida \u2014 see on samuti vajalik asi. Tuleb vaadata, mis juhtub sajande tuhandes kirjes, veel enne kui te selle teenuse kuskile tootmisesse panete. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/3fabdc20049892cee7636c30e595881d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeenuse edasil\u00fckkamine ei tohiks olla piinlik. Kui te \u00fctlete: \"Me ei v\u00f5ta seda teenust vastu, meil on 20 \u00fclesannet, tehke need \u00e4ra, siis v\u00f5tame vastu\", on see normaalne. S\u00fcdametunnistus ei tohiks olla haige selle p\u00e4rast, et panete juhtiva kohaliku haldaja v\u00f5i et \u00e4ri kulutab raha. \u00c4ri kulutab hiljem rohkem.<\/p>\n<p>Meil oli juhtum, kui me otsustasime teha pilootprojekti allhanke kaudu.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/a5b25638e51c4eabe9d6a6971f08fa6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee oli \u00f5igeaegselt valmis, ja see oli ainus kvaliteedin\u00e4itaja. Seet\u00f5ttu tehti veel \u00fcks protot\u00fc\u00fcp, juba mitte enam p\u00e4ris protot\u00fc\u00fcp. Need teenused v\u00f5eti vastu, administratiivselt \u00f6eldi, et siin on teie kood, siin on teie meeskond, siin on teie juht. Teenused hakkasid t\u00f5eliselt tulu tooma. Samas on nad endiselt orvud, keegi ei saa aru, kuidas nad t\u00f6\u00f6tavad, ja juhid p\u00fc\u00fcavad igati nende \u00fclesannetest distantseeruda. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/29ac8ab670df5d2c92dc7940d0a74e24.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOn veel \u00fcks suurep\u00e4rane m\u00f5iste \u2014 partisanide arendamine. Kui mingi osakond, tavaliselt turundusosakond, soovib h\u00fcpoteesi testida ja tellib teenuse t\u00e4ielikult v\u00e4listootjalt. Sellele hakkab liikuma liiklus, nad vormistavad dokumendid, allkirjastavad lepingud allhankijaga, tulevad t\u00f6\u00f6le ja \u00fctlevad: \"Meil on siin teenus, millel on juba liiklus, see toob meile raha, v\u00f5tame selle vastu.\" Meie oleme: \"Oota, kuidas see nii on?\"<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/1fa0187e5db9bed7af0c97ac8500567f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa veel \u00fcks viis orvuteenuse saamiseks: kui mingi meeskond \u00e4kitselt koormatud, \u00fctleb juhtkond: \"Kandke selle meeskonna teenus teisele meeskonnale, kellel on v\u00e4hem koormust.\" Ja siis kandke kolmandasse meeskonda ja vahetage managerit. Ja l\u00f5puks on meil taas orvuteenused.<\/p>\n<h3><b>Mis on probleem orvudega?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/009170e7989a78e8bd9f5b7b364e358c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKes ei tea, see on Rootsis laevaks ehitatud Wasa, kuulus selle poolest, et see h\u00e4vis 5 minutit p\u00e4rast vette laskmist. Ja Rootsi kuningas ei karistanud kedagi. See ehitati kahe insenerigeneratsiooni poolt, kes ei osanud selliseid laevu ehitada. Ahnusest tulenev efekt.<\/p>\n<p>Laev oleks v\u00f5inud tegelikult palju halvemini uppuda, n\u00e4iteks kui kuningas oleks juba tormi l\u00e4inud. Nii et, see uppus kohe, agiilsuse seisukohalt on see hea \u2014 eba\u00f5nnestuda varakult. <\/p>\n<p>Kui me eba\u00f5nnestusime varakult, siis tavaliselt probleeme ei ole. N\u00e4iteks, vastuv\u00f5tu ajal saadeti tootmisse viimiseks. Aga kui me eba\u00f5nnestusime juba tootmises, kui raha on investeeritud, siis v\u00f5ivad probleemid tekkida. Tagaj\u00e4rjed, nagu \u00e4ris \u00f6eldakse.<\/p>\n<p>Miks on orvuteenused ohtlikud:<\/p>\n<ul>\n<li>Teenused v\u00f5ivad \u00e4kki katki minna. <\/li>\n<li>Teenuse parandamine v\u00f5tab kaua aega v\u00f5i ei parandata \u00fcldse. <\/li>\n<li>Turvaprobleemid. <\/li>\n<li>Probleemid t\u00e4ienduste ja uuendustega. <\/li>\n<li>Kui oluline teenus katki l\u00e4heb, kannatab ettev\u00f5tte maine. <\/li>\n<\/ul>\n<p><\/p>\n<h3><b>Mida teha orvuteenustega?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/094444a042ccf12bf4c9e166c3fffe47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKordan \u00fctlen, mida teha. Esiteks, peab olema dokumentatsioon. 7 aastat Banki.ru-s \u00f5petas mind, et testijad ei tohiks arendajatesse pimesi uskuda ja kasutus ei tohiks uskuda k\u00f5iki. Tuleb kontrollida. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/23d652f96e93eb52d9172b103121fe54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTeiseks, tuleb kirjutada suhtlemisskeeme, kuna on juhtumeid, kui teenused, mis pole v\u00e4ga h\u00e4sti vastu v\u00f5etud, sisaldavad s\u00f5ltuvusi, millest keegi pole r\u00e4\u00e4kinud. N\u00e4iteks, kui arendajad on teenuse seadnud oma v\u00f5tme kaudu Yandex. Kaardile v\u00f5i Dadata. Kui tasuta limiit l\u00f5peb, k\u00f5ik laguneb ja sa ei tea, mis juhtus. K\u00f5ik sellised komistuskivid peavad olema kirjeldatud: teenuses kasutatakse Dadata, Sms jne.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/b2770a07cf265ad8a3890b2cb2f62263.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKolmandaks, t\u00f6\u00f6 tehnilise v\u00f5lga. Kui teete mingisuguseid kiiruslahendusi v\u00f5i v\u00f5tate teenuse ja \u00fctlete, et midagi tuleb teha, tuleb j\u00e4lgida, et seda ka teostataks. Sest hiljem v\u00f5ib selguda, et v\u00e4ike auk pole nii v\u00e4ike ja sa kukud sinna sisse.<\/p>\n<p>Arhitektuuriliste \u00fclesannetega oli meil lugu Sphinxiga. \u00dches teenuses kasutati Sphinxit nimekirjade sisestamiseks. Lihtsalt nimekiri lehek\u00fclgede kaupa, kuid sellegipoolest indekseeriti see iga \u00f6\u00f6. See koosnes kahest indeksist: \u00fcks indeks oli suures mahus ja see indekseeriti igal \u00f6\u00f6l, ja oli veel v\u00e4ike indeks, mis sellele k\u00fclge asetati. Igal p\u00e4eval, 50% t\u00f5en\u00e4osusega kas plahvatab v\u00f5i mitte, indekseerimise ajal purunes indeks ning uudised ei v\u00e4rskendunud meie esilehel. Alguses oli see 5 minutit, kuni indeks uuesti indekseeriti, siis kasvas indeks ning mingi hetkel hakkas see indekseerima 40 minutit. Kui me selle v\u00e4lja l\u00f5ikasime, hingasime kergendatult, sest oli selge, et m\u00f6\u00f6dub veel natuke aega ja meie indeks hakkab igap\u00e4evaselt kogu t\u00f6\u00f6p\u00e4eva jooksul indekseerima. See oleks meie portaali jaoks eba\u00f5nnestumine, kaheksa tundi ilma uudisteta - k\u00f5ik, \u00e4ri seiskus.<\/p>\n<h3><b>T\u00f6\u00f6plaan orvuteenusele<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/f072ec872d59de058faf1994ac39f161.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTegelikult on see v\u00e4ga raske, kuna DevOps t\u00e4hendab suhtlemist. Tahaks olla oma kolleegidega heades suhetes, kuid kui sa l\u00f6\u00f6d kolleegide ja juhtide pea reglamentidega, v\u00f5ivad nad tunda vastuolulisi tundeid inimeste suhtes, kes nii teevad. <\/p>\n<p>Lisaks nendele punktidele on veel \u00fcks oluline asi: iga konkreetse teenuse, iga konkreetse juurdep\u00e4\u00e4suprotseduuri eest peavad vastutama spetsiifilised inimesed. Kui inimesi ei ole ja tuleb kaasata teisi, kes peavad k\u00f5ik seda \u00f5ppima, siis muutub see keeruliseks.<\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/28e7372012d5089d3ac1be3d7dc97e03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui see k\u00f5ik ei aidanud ja orvuteenuse kinnitamisest ei p\u00e4\u00e4se, keegi ei soovi seda enda k\u00e4tte v\u00f5tta, dokumentatsiooni ei kirjutata, meeskond, keda sellele teenusele kutsuti, keelab midagi teha, on lihtne lahendus - k\u00f5ik teha uuesti. <\/p>\n<p>See t\u00e4hendab, et v\u00f5tate teenuse n\u00f5udmised uuesti ja kirjutate uue teenuse, mis on parem, paremal platvormil, ilma kummaliste tehniliste lahendusteta. Ja migreerite selle s\u00f5da k\u00e4ies. <\/p>\n<p><img decoding=\"async\" alt=\"Orvuteenused: mikroteenuste arhitektuuri vastaspool.\" src=\"\/wp-content\/uploads\/2019\/10\/63d0bf7d9ac1e5c5b00b67b519e228a1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMeil oli olukord, kui v\u00f5tsime teenuse Yii 1 pealt ja m\u00f5istsime, et ei saa seda enam edasi arendada, kuna meil ei olnud rohkem arendajaid, kes oskasid Yii 1 s\u00fcvitsi kirjutada. K\u00f5ik arendajad oskavad h\u00e4sti kirjutada kolmandal Symfony-l. Mida teha? M\u00e4\u00e4rasime aega, meeskonna ja manageri, \u00fcmberkirjutasime projekti ja sujuvalt suunatud liiklus sellele. <\/p>\n<p>P\u00e4rast seda saab vana teenuse kustutada. See on minu lemmikprotseduur, kui s\u00fcsteemi halduskonfiguratsioonide hulgast tuleb eemaldada mingi teenus ja seej\u00e4rel vaadata, et k\u00f5ik tootmisseadmed oleksid v\u00e4lja l\u00fclitatud, et arendajatele ei j\u00e4\u00e4ks mingeid j\u00e4lgi. Repositoorium Git-is j\u00e4\u00e4b alles.<\/p>\n<p>See on k\u00f5ik, millest soovisin r\u00e4\u00e4kida, olen valmis arutama, teema on vaidluslik, paljudele on see tuttav. <\/p>\n<p><b>Esitluste slaididel r\u00e4\u00e4giti \u00fchtsustamisest keele osas. N\u00e4iteks tuuakse v\u00e4lja piltide suuruse muutmine. Kas t\u00f5epoolest on vajalik minna rangelt \u00fchte keelde? Sest pildi suuruse muutmine PHP-s, noh, seda oleks v\u00f5inud t\u00f5esti teha ka Golangis.<\/b><\/p>\n<p>Tegelikult ei ole see h\u00e4davajalik, nagu k\u00f5ik praktikad. M\u00f5nes olukorras v\u00f5ib see isegi olla soovimatu. Kuid on oluline m\u00f5ista, et kui teie ettev\u00f5ttes on 50 inimese suurune tehniline osakond, neist 45 PHP arendajad, veel 3 DevOps'i insenerid, kes valdavad Pythonit, Ansible'i, Puppetit ja midagi sellist, ja ainult \u00fcks neist kirjutab m\u00f5nes Go keeles pildiresiiseerimise teenuse, siis kui ta lahkub, lahkub ka ekspertteave koos temaga. Ja teil tuleb otsida turul spetsiifilist arendajat, kes teab seda keelt, eriti kui see on haruldane. See t\u00e4hendab, et organisatsiooni tasandil on see probleemne. DevOps'i vaatenurgast vajate mitte lihtsalt valmis m\u00e4ngure\u017eiimide komplekti kloonimist, mille abil teenuseid \u00fcles seada, vaid peate need uuesti kirjutama. <\/p>\n<p>Me t\u00f6\u00f6tame praegu teenuse kallal Node.js-is ja see tuleb justkui platvormiks igale arendajale eraldi keeles. Kuid me istusime ja m\u00f5tlesime, et m\u00e4ng on seda v\u00e4\u00e4rt. See on k\u00fcsimus, mille \u00fcle tasub natuke 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, s\u00f5ltuvalt sellest, kas tegemist on tootmis- v\u00f5i testkeskkondadega, kasutame erinevaid kogujad. Kusagil on Lumberjack, kusagil veel midagi, ma ei m\u00e4leta enam. Ja on veel m\u00f5nes teenuses teatud kohad, kus paigaldame Telegrafi ja saadame selle veel kuhugi eraldi. <\/p>\n<p><b>Kuidas elada Puppet ja Ansible sama keskkonna sees?<\/b><\/p>\n<p>Tegelikult on meil praegu kaks keskkonda, \u00fcks on Puppet ja teine Ansible. T\u00f6\u00f6tame selle nimel, et neid h\u00fcbriidida. Ansible on hea keskkond algselt seadistamiseks, Puppet on halb algse seadistamise jaoks, kuna n\u00f5uab otsest k\u00e4sit\u00f6\u00f6de tegemist keskkonnas, ja Puppet tagab konfiguratsiooni koosk\u00f5la. See t\u00e4hendab, et keskkond toetab ennast pidevalt kursis, kuid et Ansible'iga masin p\u00fcsiks kursis, tuleb seal regulaarselt m\u00e4ngure\u017eiime teostada. See on selline erinevus. <\/p>\n<p><b>Kuidas te s\u00e4ilitatega \u00fchilduvust? Kas teil on konfiguratsioone nii Ansible'is kui Puppetis?<\/b><\/p>\n<p>See on meie suur probleem, me toetame \u00fchilduvust k\u00e4sitsi ja m\u00f5tleme, kuidas sellest k\u00f5igest kuhugi edasi liikuda. Meie puhul v\u00f5ib Puppet paigaldada pakette ja toetada seal mingeid linke, samas kui Ansible n\u00e4iteks paigaldab koodi ja kohandab sinna v\u00e4rskeid rakenduste \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p><b>Esitluses r\u00e4\u00e4giti erinevatest Ruby versioonidest. Milline lahendus?<\/b><\/p>\n<p>Me kohtusime sellega \u00fches kohas ja peame seda pidevalt meeles pidama. Lihtsalt keerasime v\u00e4lja osa, mis t\u00f6\u00f6tas Ruby versioonil, mis ei olnud rakendustega \u00fchilduv, ja hoidsime selle 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 Moskvasse<\/a><\/noindex> 7. detsembril \u00abTehnopolis\u00bb. Me v\u00f5tame ettekandeteemade ettepanekuid vastu 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 5.0.1.1 - 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\" \/>\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) 5.0.1.1\" \/>\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\" \/>\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\udd47Orvud teenused: mikroteenuste arhitektuuri teine k\u00fclg | ProHoster","description":"Banki.ru porta juhtiv t\u00f6\u00f6taja Andrei Nikolski r\u00e4\u00e4kis mullu toimunud konverentsil","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","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}