{"id":31761,"date":"2019-10-31T21:42:55","date_gmt":"2019-10-31T18:42:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\/"},"modified":"2019-10-31T21:42:55","modified_gmt":"2019-10-31T18:42:55","slug":"mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","title":{"rendered":"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>19. september Moskvast <noindex><a rel=\"nofollow\" href=\"https:\/\/www.meetup.com\/HighLoad-User-Group\/events\/254238096\/\">leidis aset<\/a><\/noindex> esimene teema\u00fcritus HUG (Highload++ User Group), mis oli p\u00fchendatud mikroteenustele. Seal k\u00f5las ettekande pealkirjaga \u201eMikroteenuste haldamine: suurusel on t\u00e4htsus, isegi kui teil on Kubernetes\u201d, kus jagasime ettev\u00f5tte \u201eFlant\u201d ulatuslikku kogemust mikroteenustega arendatud projektide haldamisel. Eelk\u00f5ige on see kasulik k\u00f5igile arendajatele, kes m\u00f5tlevad selle l\u00e4henemise kasutamisele oma k\u00e4esolevates v\u00f5i tulevastes projektides.<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/5d84197eef093da02b3db2156841e644.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTutvustame <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=g9cgppj0gKQ\"><b>ettekande videot<\/b><\/a><\/noindex> (50 minutit, palju informatiivsem kui artikkel), samuti p\u00f5hijooned selle kohta kirjalikus vormis.<\/p>\n<p><i>NB: Video ja esitlus on saadaval ka selle publikatsiooni l\u00f5pus.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Sissejuhatus<\/h2>\n<p>\nTavaliselt on hea lugu, millel on sissejuhatus, p\u00f5hijutt ja l\u00f5pplahendus. See ettekande sarnaneb rohkem sissejuhatusele, ja mis peamine, traagilisele. Oluline on mainida, et selles esitatud vaade mikroteenustele on poolteist <i>lekke<\/i>.<\/p>\n<p>Alustan sellise graafikuga, mille autor on (2015. aastal) <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MicroservicePremium.html\">sai<\/a><\/noindex> Martin Fowler:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/f0cc0e00f32f5ea0a736e09fd20eaa85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGraafikust on n\u00e4ha, et monoliitne rakendus, kui see j\u00f5uab teatud suuruseni, hakkab t\u00f5husus kahanema. Mikroteenused eristuvad selle poolest, et nende algne t\u00f5husus on madalam, kuid keerukuse suurenedes ei ole nende efektiivsuse langus nii m\u00e4rgatav.<\/p>\n<p>T\u00e4iendame seda graafikut Kubernetes'i kasutamise puhul:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/1b83f03639324c610a84bfd434317f48.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMiks muutus mikroteenustega rakenduse jaoks paremaks? Sest see arhitektuur seab t\u00f5siseid n\u00f5udmisi arhitektuurile, mis omakorda katab suurep\u00e4raselt Kubernetes'i v\u00f5imalused. Teiselt poolt, osa sellest funktsionaalsusest on kasulik ka monoliidile, eriti seet\u00f5ttu, et t\u00fc\u00fcpiline t\u00e4nap\u00e4eva monoliit ei ole p\u00e4ris monoliit (detailid tulevad edasi ettekandes).<\/p>\n<p>Nagu n\u00e4ha, ei erine l\u00f5pp-graafik (kui nii monoliitne kui mikroteenustele rakendused on Kubernetes'i infrastruktuuris) oluliselt algsest. Edasi on juttu rakendustest, mida hallatakse Kubernetes'i abil.<\/p>\n<h2>Kasulik ja kahjulik mikroteenuste s\u00fcsteem<\/h2>\n<p>\nJa siin on peamine m\u00f5te:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c555e5fbdf09e4bb2be17fad23b8ff6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMis siis ikkagi on <b>normaalne<\/b> mikroteenuste arhitektuur? See peaks tooma teile t\u00f5elist kasu, suurendades t\u00f6\u00f6 efektiivsust. Kui naasta graafiku juurde, siis siin see on:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c27a7af10812580f0543888256a0e698.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui nimetada seda <b>kasulikuks<\/b>, siis graafiku teisel poolel on <b>kahjulik<\/b> mikroteenuste s\u00fcsteem (t\u00f6\u00f6tamist takistav):<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/27a7298bd8f877b2bc69d19378a542e2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTulek tagasi peamise m\u00f5tte juurde: kas tasub \u00fcldse usaldada minu kogemust? K\u00e4esoleva aasta algusest olen vaadanud <b>85 projekti<\/b>. Mitte k\u00f5ik need ei olnud mikroteenustel baseeruvad (sellise arhitektuuriga oli umbes kolmandik kuni pooled neist), kuid see on ikkagi suur number. Meie (ettev\u00f5te \u201eFlant\u201d) saame v\u00e4liseid teenusepakkujatena n\u00e4ha laia valikut rakendusi, mida arendavad nii v\u00e4ikesed firmad (5 arendajat) kui ka suured (~500 arendajat). T\u00e4iendav pluss on see, et n\u00e4eme, kuidas need rakendused elavad ja arenevad l\u00e4bi aastate.<\/p>\n<h2>Miks mikroteenused?<\/h2>\n<p>\nK\u00fcsimusele mikroteenuste kasulikkuse kohta on <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">v\u00e4ga konkreetne vastus<\/a><\/noindex> juba mainitud Martin Fowlerilt:<\/p>\n<ol>\n<li> selged modulaarsete piiride m\u00e4\u00e4ratlemised;<\/li>\n<li> iseseisev juurutamine;<\/li>\n<li> tehnoloogiate vabadus.<\/li>\n<\/ol>\n<p>\nOlen palju r\u00e4\u00e4kinud arhitektide ja tarkvaraarendajatega ning k\u00fcsinud, miks neile mikroteenused vajalikud on. Ja koostasin oma ootuste nimekirja. Siin on, mis v\u00e4lja tuli:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/e9fa2f1a03da2017e90c5f952b752187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui kirjeldada \u201etunde\u201d kaudu m\u00f5ningaid punkte, siis:<\/p>\n<ul>\n<li> selged moodulipiirded: meil on hirmus monoliit, aga n\u00fc\u00fcd on k\u00f5ik korralikult laiali jagatud Git-repositooriatesse, kus k\u00f5ik on \u201eriiulitel\u201d, mitte segamini soojaga pehmest;<\/li>\n<li> iseseisev juurutamine: saame teenuseid iseseisvalt v\u00e4lja anda, et arendamine k\u00e4iks kiiremini (paralleelselt uusi funktsioone avaldades);<\/li>\n<li> arendamise s\u00f5ltumatud: saame anda selle mikroteenuse \u00fchele meeskonnale\/arendajale, ja teise \u2014 teisele, mis v\u00f5imaldab meil kiiremini arendada;<\/li>\n<li> b<i>ilotka<\/i>suurem usaldusv\u00e4\u00e4rsus: kui juhtub osaline halvenemine (kukub \u00fcks mikroteenus 20st), siis lakkab t\u00f6\u00f6tamast vaid \u00fcks nupp, samas s\u00fcsteem tervikuna j\u00e4tkab toimimist.<\/li>\n<\/ul>\n<p><\/p>\n<h2>T\u00fc\u00fcpiline (kahjulik) mikroteenuste arhitektuur<\/h2>\n<p>\nKuna selgitada, miks tegelikkuses ei ole k\u00f5ik nii, nagu me ootame, esitan <i>kogutud<\/i> pildi mikroteenuste arhitektuurist, mis p\u00f5hineb kogemustel paljusid erinevaid projekte.<\/p>\n<p>N\u00e4iteks v\u00f5ib v\u00e4lja tuua abstraktse veebipoe, mis plaanib konkureerida Amazoniga v\u00f5i v\u00e4hemalt OZONiga. Tema mikroteenuste arhitektuur n\u00e4eb v\u00e4lja j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3b85936587109631d16882a52dd1b310.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKokkuv\u00f5tlikult on need mikroteenused kirjutatud erinevatesse platvormidesse:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/e145b212a83814218add965ce26b3fed.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuna igal mikroteenusel peab olema iseseisvus, vajab paljud neist oma andmebaasi ja vahem\u00e4lu. L\u00f5plik arhitektuur on j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/299b2ac7b6956e295c3d59210955e5e9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Millised on selle tagaj\u00e4rjed?<\/h2>\n<p>\nFowler'i kohta on ka selle \u00fcle <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">artikkel<\/a><\/noindex> \u2014 \u00abmikroteenuste\u00bb kasutamise \u00abhind\u00bb:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/50fc6ac602cb2eb8383d2103101c01ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa me vaatame, kas meie ootused on t\u00e4idetud.<\/p>\n<h3>Selged moodulite piirid...<\/h3>\n<p>\nAga <b>kui palju mikroteenuseid peame tegelikult parandama<\/b>, et muudatus v\u00e4lja anda? Kas me suudame \u00fcldse aru saada, kuidas k\u00f5ik t\u00f6\u00f6tab, ilma jaotamata j\u00e4lgimiseta (sest iga p\u00e4ringut t\u00f6\u00f6tleb pool mikroteenuseid)?<\/p>\n<p>On olemas muster \u00ab<noindex><a rel=\"nofollow\" href=\"http:\/\/www.laputan.org\/mud\/\">suur must t\u00fckikene<\/a><\/noindex>\u00bb, aga siin on see \u00fcldse saanud jaotatud t\u00fckikeseks. Selle kinnituseks \u2014 siin on umbkaudne illustreerimine, kuidas p\u00e4ringud liiguvad:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c91086409c06f5a76b1f76bec30b737d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Juhtimise iseseisus...<\/h3>\n<p>\nT\u00f6\u00f6tatud v\u00e4lja: me saame iga mikroteenuse eraldi v\u00e4lja anda. Kuid praktikas tuleb arvestada, et igal ajal v\u00e4ljastatakse <b>mitmeid mikroteenuseid<\/b>, ja peame arvestama <b>nende v\u00e4ljaandmise j\u00e4rjekorda.<\/b>Ideaalis tuleks meil \u00fcldse testida eraldi kontuuris, kas me v\u00e4ljastame v\u00e4ljaande \u00f5igesti.<\/p>\n<h3>Tehnoloogia valimise vabadus...<\/h3>\n<p>\nSee on olemas. Kuid tasub meeles pidada, et sageli piirneb vabadus ettearvamatusega. On v\u00e4ga oluline mitte valida tehnoloogiaid lihtsalt selleks, et nendega \u00abm\u00e4ngida\u00bb.<\/p>\n<h3>Arendamise iseseisus...<\/h3>\n<p>\nKuidas luua testkontuur kogu rakenduse jaoks (nii paljude komponentide hulgast)? Ja selle s\u00e4ilitamine ajakohasena. K\u00f5ik see viib selleni, et <b>reaalne testkontuuride arv<\/b>, mida me \u00fcle\u00fcldse saame hoida, <b>osutub minimaalseteks.<\/b>.<\/p>\n<p>Aga kuidas k\u00f5ik see kohapeal k\u00e4ivitada?.. Tundub, et sageli teeb arendaja oma t\u00f6\u00f6d iseseisvalt, kuid \u00abjuhuslikult\u00bb, kuna peab ootama, millal testimiskontuur vabaks saab.<\/p>\n<h3>Erinev skaleerimine...<\/h3>\n<p>\nJah, kuid see on piiratud kasutatavate DBMS-ide valdkonnas. K\u00e4sitletud arhitektuuri n\u00e4ites ei ole probleeme Cassandra's, kuid MySQL ja PostgreSQL puhul on need olemas.<\/p>\n<h3>S<i>ilotka<\/i>uur usaldusv\u00e4\u00e4rsus...<\/h3>\n<p>\nNagu selgub, rikub \u00fche mikroteenuse rike sageli kogu s\u00fcsteemi n\u00f5uetekohast toimimist; lisaks on olemas uus probleem: <b>iga mikroteenuse rikkepunktide usaldusv\u00e4\u00e4rseks muutmine on v\u00e4ga keeruline<\/b>. Sest mikroteenustes kasutatakse erinevaid tehnoloogiaid (memcache, Redis jne), iga\u00fche jaoks tuleb k\u00f5ik hoolikalt l\u00e4bi m\u00f5elda ja rakendada, mis on muidugi v\u00f5imalik, kuid vajab tohutult ressursse.<\/p>\n<h3>Koormuse m\u00f5\u00f5detavus\u2026<\/h3>\n<p>\nSellega on t\u00f5esti k\u00f5ik h\u00e4sti.<\/p>\n<h3>Mikroteenuste \u201ekergeusksus\u201d\u2026<\/h3>\n<p>\nMeil on n\u00fc\u00fcd mitte ainult suured <b>v\u00f5rgukoormused<\/b> (DNS-i ja muude taoliste p\u00e4ringute suurenemine), vaid ka mitmete alam-p\u00e4ringute t\u00f5ttu oleme hakanud <b>andmeid replikeerima<\/b> (vahefailide talletamine), mis t\u00f5i kaasa m\u00e4rkimisv\u00e4\u00e4rse hulga salvestusmahtu.<\/p>\n<p>Ja siin on meie ootuste t\u00e4itmise tulemus:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/ab189c8649d720c7add975ac54811f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Kuid see pole veel k\u00f5ik!<\/h3>\n<p>\nSest:<\/p>\n<ul>\n<li> T\u00f5en\u00e4oliselt vajame me s\u00f5numite buss.<\/li>\n<li> Kuidas teha ajakohane varukoopia soovitud hetkel? Ainuke <i>reaalne<\/i> variant on liikluse peatamine. Aga kuidas seda teha tootmises?<\/li>\n<li> Kui r\u00e4\u00e4gime mitme piirkonna toetamisest, siis iga\u00fches stabiilsuse tagamine on v\u00e4ga t\u00f6\u00f6mahukas \u00fclesanne.<\/li>\n<li> Kesksete muudatuste tegemise probleem kerkib esile. N\u00e4iteks, kui peame PHP versiooni uuendama, siis tuleb teha commite iga\u00fchesse hoidlasse (neid on k\u00fcmneid).<\/li>\n<li> T\u00f6\u00f6tamise keerukuse kasv n\u00e4ib esmapilgul eksponentsiaalne.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Mida sellega k\u00f5igega teha?<\/h2>\n<p>\n<b>Alustage monoliitse rakendusega<\/b>. Fowler'i kogemus <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MonolithFirst.html\">\u00fctleb<\/a><\/noindex> kinnitab, et praktiliselt k\u00f5ik edukad mikroteenuste rakendused algasid monoliidist, mis kasvas liiga suureks ja seej\u00e4rel jagati. Samal ajal on praktiliselt k\u00f5ik s\u00fcsteemid, mis on algusest peale ehitatud mikroteenustena, varem v\u00f5i hiljem t\u00f5siste probleemidega silmitsi seisnud.<\/p>\n<p>Veel \u00fcks v\u00e4\u00e4rtuslik m\u00f5te on see, et mikroteenuste arhitektuuriga projekti edu jaoks peate v\u00e4ga h\u00e4sti tundma <b>nii teemat kui ka mikroteenuste loomise protsessi.<\/b>Ja parim viis teema tundmiseks on teha monoliit.<\/p>\n<h2>Aga mis teha, kui oleme juba sellesse olukorda sattunud?<\/h2>\n<p>\nIga probleemi esimene samm on sellega leppida ja m\u00f5ista, et see on probleem; me ei soovi enam kannatada.<\/p>\n<p>Kui oleme \u00dcleliia kasvanud monoliidi puhul (kui meie v\u00f5imalused ressursse juurde osta on l\u00f5ppenud) selle l\u00f5hkumiseks, siis sel juhul on vastupidi: kui liigse mikroteenuse hulk ei aita enam, vaid segab \u2014 <b>l\u00f5igake \u00fcleliigne ja suurs\u00fcmme<\/b>!<\/p>\n<p>N\u00e4iteks, arvestades eeltoodud nelja pilti\u2026<\/p>\n<p>Vabanege kahtlastest mikroteenustest:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/4b72ede0452890027a950d31ced26405.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKombineerige k\u00f5ik mikroteenused, mis vastutavad frontendi genereerimise eest:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3bf2831a637cfa148b032ba8c521353a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 \u00fche mikroteenuse, mis on kirjutatud \u00fches (kaasaegses ja normaalses, nagu te ise arvate) keeles\/frameworkis:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/73f53f5f4f41f72a7c6d187d855bbd95.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSel on \u00fcks ORM (\u00fcks andmebaas) ja alguses paar rakendust:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/f44baf6a02bf00317f1395ab339f57a9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 aga tegelikult saab sinna viia palju rohkem, saavutades sellise tulemuse:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/97c02ae24199bca42e4bf24f8031578a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKuberneteses k\u00e4ivitame k\u00f5ik need eraldi eksemplarid, seega saame endiselt m\u00f5\u00f5ta koormust ja skalata neid eraldi.<\/p>\n<h2>Kokkuv\u00f5tteks<\/h2>\n<p>\nVaadake suuremalt pilti. V\u00e4ga sageli tekivad k\u00f5ik need probleemid mikroteenustega seoses, kui keegi v\u00f5tis oma \u00fclesande, kuid soovis \"m\u00e4ngida mikroteenustega\".<\/p>\n<p><b>S\u00f5nas \"mikroteenused\" on osa \"mikro\" liigne<\/b>. Nad on \"mikro\" ainult seet\u00f5ttu, et nad on v\u00e4iksemad kui tohutu monoliit. Kuid \u00e4rge arvake, et nad on midagi v\u00e4ikest.<\/p>\n<p>Ja viimase m\u00f5tte jaoks naame esialgse graafiku juurde:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus loeb, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/a75665af4caa7c4982f70c59ec3c6e89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKirjutatud m\u00e4rkused selle juurde <i>(\u00fcleval paremal)<\/i> kokkuv\u00f5ttes seisnevad selles, et <b>teie projekti teostava meeskonna oskused on alati esmat\u00e4htsad<\/b> \u2014 just nemad m\u00e4ngivad v\u00f5tmerolli teie valikus mikroteenuste ja monoliidi vahel. Kui meeskonnal puuduvad oskused, kuid nad hakkavad looma mikroteenuseid, on lugu kindlasti saatuslik.<\/p>\n<h2>Videod ja slaidid<\/h2>\n<p>\nEsitlusvideo (~50 minutit; kahjuks ei edasta see k\u00fclastajate hulga emotsioone, mis m\u00e4\u00e4ras konverentsi meeleolu, aga nii on see):<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"g9cgppj0gKQ\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/g9cgppj0gKQ\/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><\/p>\n<p>Ettekande esitlemine:<\/p>\n<p><center><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"\/\/speakerdeck.com\/player\/f4f5ab9957084712bc92aa8a0ef61e45\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><\/p>\n<h2>P.S.<\/h2>\n<p>\nTeised ettekanded meie blogis:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/412901\/\">J\u00e4relevalve ja Kubernetes<\/a><\/noindex>\u00bb <i>(Dmitri Stoljarov; 28. mai 2018 RootConf'il)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/345116\/\">Parimad CI\/CD praktikud Kubernetesega ja GitLabiga<\/a><\/noindex>\u00bb <i>(Dmitri Stoljarov; 7. november 2017 HighLoad++'s)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/331188\/\">Meie kogemus Kubernetesega v\u00e4ikestes projektides<\/a><\/noindex>\u00bb <i>(Dmitri Stoljarov; 6. juuni 2017 RootConf'il)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Kogume Docker-pilte CI\/CD jaoks kiiresti ja mugavalt koos dappiga<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 8. november 2016 HighLoad++-l)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/322686\/\">Continuous Delivery praktikad Dockeriga<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 31. mai 2016 RootConfil)<\/i>.<\/li>\n<\/ul>\n<p>\nT\u00f5en\u00e4oliselt huvitavad teid ka j\u00e4rgmised publikatsioonid:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">Mikroteenuste hullumeelsuse surm 2018. aastal<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/425085\/\">Google'i versiooni j\u00e4rgi 7 parimat praktikat konteinerite kasutamiseks<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/340270\/\">The New Stacki statistika Kubernetes'e rakendamise v\u00e4ljakutsete kohta<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424531\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c. \u041d\u0430 \u043d\u0451\u043c \u043f\u0440\u043e\u0437\u0432\u0443\u0447\u0430\u043b \u0434\u043e\u043a\u043b\u0430\u0434 \u00ab\u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes\u00bb, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043e\u0431\u0448\u0438\u0440\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0424\u043b\u0430\u043d\u0442\u00bb \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439. \u0412 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0432\u0441\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0449\u0438\u043c\u0441\u044f \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23651,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31761","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=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\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\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\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\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes\" \/>\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-31T18:42:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:55+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\udd47Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes | ProHoster","description":"19. septembril toimus Moskvas esimene temaatiline kohtumine HUG (Highload++ Kasutajagrupp), mis oli p\u00fchendatud.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","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\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b: \u0440\u0430\u0437\u043c\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 Kubernetes | ProHoster","og:description":"19 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u0439 \u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0438\u0442\u0430\u043f HUG (Highload++ User Group), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/mikroservisy-razmer-imeet-znachenie-dazhe-esli-u-vas-kubernetes","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-31T18:42:55+00:00","article:modified_time":"2019-10-31T18:42:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31761","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-21 07:42:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:11:22","updated":"2026-01-21 07:42:19","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\/31761","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=31761"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31761\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/23651"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=31761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=31761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=31761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}