{"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 on oluline, isegi kui teil on Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>19. september Moskvas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.meetup.com\/HighLoad-User-Group\/events\/254238096\/\">toimus<\/a><\/noindex> esimene temaatiline HUG (Highload++ User Group) koosolek, mis oli p\u00fchendatud mikroteenustele. Seal esitleti ettekannet \"Mikroteenuste kasutamine: suurus on oluline, isegi kui teil on Kubernetes\", kus jagasime laialdast kogemust ettev\u00f5ttest \"Flant\" mikroteenuste arhitektuuriga projektide k\u00e4itamisel. See on eelk\u00f5ige kasulik k\u00f5igile arendajatele, kes m\u00f5tlevad, kuidas seda l\u00e4henemist oma praegustes v\u00f5i tulevastes projektides rakendada.<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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 video vaatamiseks<\/b><\/a><\/noindex> (50 minutit, palju informatiivsem kui artikkel), samuti peamine kokkuv\u00f5te tekstivormis.<\/p>\n<p><i>NB: Video ja esitlus on samuti saadaval selle publitseerimise l\u00f5pus.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Sissejuhatus<\/h2>\n<p>\nTavaliselt sisaldab hea lugu sissejuhatust, p\u00f5hijuttu ja l\u00f5petust. See ettekande meenutab rohkem sissejuhatust, t\u00f5si k\u00fcll, traagilist. Samuti on oluline m\u00e4rkida, et see esitab mikroteenustele vaatepunkti <i>haavatavuse<\/i>.<\/p>\n<p>Alustan sellise graafikuga, mille autor on (2015. aastal) <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MicroservicePremium.html\">hakkas<\/a><\/noindex> Martin Fowler:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/f0cc0e00f32f5ea0a736e09fd20eaa85.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGraafikult on n\u00e4ha, et monoliitsete rakenduste puhul, mis j\u00f5uavad teatud suuruseni, hakkab tootlikkus langema. Mikroteenused erinevad selle poolest, et nende algne tootlikkus on madalam, kuid keerukuse kasvu korral ei ole nende efektiivsuse langus nii m\u00e4rgatav.<\/p>\n<p>T\u00e4iendaksin seda graafikut Kubernetes'e kasutamise juhtumi jaoks:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/1b83f03639324c610a84bfd434317f48.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMiks l\u00e4ks mikroteenuste rakendamisel paremaks? Sest selline arhitektuur seab t\u00f5sised n\u00f5uded arhitektuurile, mida Kubernetes suudab suurep\u00e4raselt t\u00e4ita. Teisalt on osa nende funktsionaalsusest kasulik ka monoliitile, eriti kuna t\u00e4nap\u00e4eva t\u00fc\u00fcpiline monoliit ei ole sugugi monoliit (detailid tulevad hiljem ettekandes).<\/p>\n<p>Nagu n\u00e4ha, ei erine l\u00f5pp-graafik (kui monoliitsete ja mikroteenuste rakendused asuvad Kubernetes'e infrastruktuuris) algsest eriti palju. J\u00e4rgmisel teemal r\u00e4\u00e4gime rakendustest, mida hallatakse Kubernetes'e abil.<\/p>\n<h2>Kasulik ja kahjulik mikroteenuselisus<\/h2>\n<p>\nJa siin on peamine m\u00f5te:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c555e5fbdf09e4bb2be17fad23b8ff6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMis on siis <b>normaalne<\/b> mikroteenuste arhitektuur? See peaks andma teile t\u00f5elist kasu, suurendades t\u00f6\u00f6 efektiivsust. Kui tagasi p\u00f6\u00f6rduda graafiku juurde, siis siin see on:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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>kasulik<\/b>, siis graafiku teises otsas on <b>kahjulik<\/b> mikroteenuselisus (segab t\u00f6\u00f6d):<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/27a7298bd8f877b2bc69d19378a542e2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTagasi minnes \"peamise m\u00f5tte\" juurde: kas tasub minu kogemusele \u00fcldse usaldada? Selle aasta algusest olen vaadanud <b>85 projekti<\/b>. Need ei olnud k\u00f5ik mikroteenused (sellise arhitektuuriga oli umbes kolmandik kuni pool neist), kuid see on ikkagi suur hulk. Meie (ettev\u00f5te \"Flant\") kui v\u00e4lispartnerid saame n\u00e4ha laia valikut rakendusi, mis on arendatud nii v\u00e4ikestes ettev\u00f5tetes (5 arendajat) kui ka suurtes (~500 arendajat). T\u00e4iendavaks plussiks on see, et n\u00e4eme, kuidas need rakendused elavad ja arenevad aastate jooksul.<\/p>\n<h2>Miks mikroteenused?<\/h2>\n<p>\nMikroteenuste kasu k\u00fcsimusele on <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">j\u00e4ntud konkreetne vastus<\/a><\/noindex> juba mainitud Martin Fowlerilt:<\/p>\n<ol>\n<li> selged piirid moodulite osas;<\/li>\n<li> iseseisev juurutamine;<\/li>\n<li> tehnoloogiate valiku vabadus.<\/li>\n<\/ol>\n<p>\nOlen palju r\u00e4\u00e4kinud arhitektide ja tarkvaraarendajatega ning k\u00fcsinud, miks neile mikroteenused on vajalikud. Koostasin oma ootuste nimekirja. Siin on, mis v\u00e4lja tuli:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/e9fa2f1a03da2017e90c5f952b752187.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKui \"tunne\u00ab m\u00f5ningaid punkte kirjeldada, siis:<\/p>\n<ul>\n<li> selged moodulite piirid: meil on kole monoliit ja n\u00fc\u00fcd on k\u00f5ik kenasti jagatud Git-repositooriatesse, kus k\u00f5ik on \"riiulitel\", mitte segamini soe ja pehme;<\/li>\n<li> iseseisev juurutamine: saame teenuseid iseseisvalt v\u00e4lja anda, et arendus oleks kiirem (samal ajal uusi funktsioone v\u00e4lja pakkuda);<\/li>\n<li> arendamise iseseisvus: saame anda selle mikroteenuse \u00fchele meeskonnale\/arendajale, ja teise teisele, t\u00e4nu millele saame kiiremini arendada;<\/li>\n<li> b<i>o<\/i>suurem usaldusv\u00e4\u00e4rsus: kui tekib osaline langus (\u00fcks mikroteenus 20-st langeb), siis lakab t\u00f6\u00f6le vaid \u00fcks nupp, samas kui s\u00fcsteem tervikuna j\u00e4tkab toimimist.<\/li>\n<\/ul>\n<p><\/p>\n<h2>T\u00fc\u00fcpiline (kahjulik) mikroteenuste arhitektuur<\/h2>\n<p>\nKuid et selgitada, miks reaalsus on teistsugune, kui me ootame, esitan <i>kogum<\/i> m\u00f5istet mikroteenuste arhitektuurist, mis p\u00f5hineb mitmete erinevate projektide kogemusel.<\/p>\n<p>K\u00e4esolevaks n\u00e4iteks on abstraktne veebipood, mis p\u00fc\u00fcab konkureerida Amazoniga v\u00f5i v\u00e4hemalt OZON-iga. Selle mikroteenuste arhitektuur n\u00e4eb v\u00e4lja j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3b85936587109631d16882a52dd1b310.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMitmete p\u00f5hjuste t\u00f5ttu on need mikroteenused kirjutatud erinevatel platvormidel:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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 autonoomia, vajavad paljud neist oma andmebaasi ja vahem\u00e4lu. L\u00f5plik arhitektuur on j\u00e4rgmine:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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&#8217;lt on selle konto osas <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/microservice-trade-offs.html\">on artikkel<\/a><\/noindex> \u2014 mikroteenuste kasutamise \u201earve tasumisest\u201c:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/50fc6ac602cb2eb8383d2103101c01ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa vaatame, kas meie ootused on t\u00e4idetud.<\/p>\n<h3>Selged moodulite piirid\u2026<\/h3>\n<p>\nAga <b>kui palju mikroteenuseid peame tegelikult parandama<\/b>, et muudatus ellu viia? Kas me saame \u00fcldse aru, kuidas k\u00f5ik t\u00f6\u00f6tab, ilma jaotatud j\u00e4lgimiseta (sest iga p\u00e4ringut t\u00f6\u00f6tleb pool mikroteenustest)?<\/p>\n<p>On olemas muster \u201e<noindex><a rel=\"nofollow\" href=\"http:\/\/www.laputan.org\/mud\/\">suur must t\u00e4kk<\/a><\/noindex>\u201c, aga siin on see muutunud jaotatud mustaks t\u00e4kkeks. Selle kinnituseks on allpool ligikaudne joonis, kuidas p\u00e4ringud k\u00e4ivad:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/c91086409c06f5a76b1f76bec30b737d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Deployimise s\u00f5ltumatus\u2026<\/h3>\n<p>\nTehniliselt on see saavutatud: me saame iga mikroteenuse eraldi uuendada. Kuid praktikas tuleb arvestada, et alati koosneb <b>paljusid mikroteenuseid<\/b>, lisaks peame arvestama <b>nende k\u00e4ivitamise j\u00e4rjekorraga<\/b>. Idealjuhul peaksime testima, kas me t\u00f5epoolest uuendame v\u00e4ljaande \u00f5iges j\u00e4rjekorras.<\/p>\n<h3>Tehnoloogia valimise vabadus\u2026<\/h3>\n<p>\nSee on olemas. Kuid tuleb meeles pidada, et tihti piirab vabadus ka kaost. On \u00e4\u00e4rmiselt t\u00e4htis, et valitaks tehnoloogiaid ainult selleks, et \u201em\u00e4ngida\u201c nendega.<\/p>\n<h3>Arendamise s\u00f5ltumatus\u2026<\/h3>\n<p>\nKuidas luua testimistava kogu rakendusele (niiv\u00f5rd paljude komponentide seas)? Pealegi tuleb seda pidevalt v\u00e4rskendada. K\u00f5ik see viib selleni, et <b>reaalne testimis\u00fcsteemide arv<\/b>, mida me praktiliselt suudame hallata, <b>on minimaalne<\/b>.<\/p>\n<p>Ja k\u00f5ik see tuleb kohalikult kokku panna?.. Tulemuseks on see, et sageli teeb arendaja oma t\u00f6\u00f6d iseseisvalt, kuid \u201epime\u201c \u2014 kuna ta peab ootama, kuni testimiskeskkond vabanevad.<\/p>\n<h3>Eraldi skaleerimine\u2026<\/h3>\n<p>\nJah, kuid see on piiratud kasutatavate DB-de osas. Antud arhitektuuri n\u00e4ites pole Cassandra probleem, kuid MySQL ja PostgreSQL-l on.<\/p>\n<h3>Suurem usaldusv\u00e4\u00e4rsus\u2026<i>o<\/i>Lisaks sellele, et \u00fche mikroteenuse rike tihti rikub kogu s\u00fcsteemi korrektset toimimist, on seal veel uus probleem:<\/h3>\n<p>\niga mikroteenuse t\u00f6\u00f6korras hoidmine on \u00e4\u00e4rmiselt keeruline <b>. Kuna mikroteenustes kasutatakse erinevaid tehnoloogiaid (memcache, Redis jne), tuleb iga\u00fche puhul k\u00f5ik hoolikalt l\u00e4bim\u00f5elda ja ellu viia, mis muidugi on v\u00f5imalik, kuid n\u00f5uab tohutult ressursse.<\/b>Koormuse m\u00f5\u00f5detavus\u2026<\/p>\n<h3>Selle osas on k\u00f5ik t\u00f5eliselt h\u00e4sti.<\/h3>\n<p>\nMikroteenuste \u201ekergus\u201c\u2026<\/p>\n<h3>Meil ei ole mitte ainult tekkinud tohutuid<\/h3>\n<p>\nv\u00f5rgukulusid <b>(DNS-i p\u00e4ringud jne kasvu t\u00f5estuseks), vaid ka mitme alam-p\u00e4ringu t\u00f5ttu hakkasime<\/b> andmeid replikatsiooni <b>(salvestama vahepealseid andmeid), mis viis olulise andmemahu tekkeni.<\/b> Kuidas see vastab meie ootustele:<\/p>\n<p>Kuid see pole veel k\u00f5ik!<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/ab189c8649d720c7add975ac54811f51.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Aga see pole veel k\u00f5ik!<\/h3>\n<p>\nSest:<\/p>\n<ul>\n<li> T\u00f5en\u00e4oliselt on meil vajalik s\u00f5numiv\u00e4lja.<\/li>\n<li> Kuidas teha ajakohast koopia kindlal hetkel? \u00dcksnes <i>reaalne<\/i> lahendus on liikluse peatamine. Kuid kuidas seda tootmisfaasis teha?<\/li>\n<li> Kui on tegemist mitme piirkonna toetamisega, siis on igas piirkonnas stabiilsuse seadmine v\u00e4ga t\u00f6\u00f6lise \u00fclesanne.<\/li>\n<li> Ilmneb probleeme kesksete muudatuste tegemisel. N\u00e4iteks, kui meil on vaja PHP versiooni uuendada, siis on vajalik teha commit igas repositooriumis (mille arv on hulgaliselt).<\/li>\n<li> Operatiivsete keerukuste suurenemine tundub olevat eksponentsiaalne.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Mida sellega teha?<\/h2>\n<p>\n<b>Alustage monoliitsetest rakendustest<\/b>. Fowler&#8217;lt saadud kogemus <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/bliki\/MonolithFirst.html\">\u00fctleb<\/a><\/noindex> on, et peaaegu k\u00f5ik edukad mikroteenuste rakendused alustasid monoliidist, mis muutus liiga suureks, ning jagunes seej\u00e4rel. Samuti on peaaegu k\u00f5ik s\u00fcsteemid, mis ehitati mikroteenuste baasil alates esmakordselt, varem v\u00f5i hiljem sattunud t\u00f5siste probleemide k\u00fc\u00fcsi.<\/p>\n<p>Veel \u00fcks v\u00e4\u00e4rtuslik m\u00f5te on see, et mikroteenuste arhitektuuri projekt peab olema t\u00f5eliselt edukas, peavad teil olema v\u00e4ga head teadmised <b>nii valdkonnast kui ka mikroteenuste loomise kohta.<\/b>Ja parim viis valdkonda tundma \u00f5ppida on luua monoliit.<\/p>\n<h2>Aga mis siis, kui me oleme juba sellises olukorras?<\/h2>\n<p>\nIga probleemi lahendamise esimene samm on n\u00f5ustuda, et see probleem on olemas, ja m\u00f5ista, et see on probleem, et me enam ei soovi kannatada.<\/p>\n<p>Kui l\u00f5puks on tegu suurenenud monoliidiga (kui meil on l\u00f5ppenud v\u00f5imalus selle ressursse juurde osta), l\u00f5ikame selle l\u00f5hki, siis osutub, et meeleolu mikroteenustest ei aita, vaid takistab \u2014 <b>l\u00f5igake liialdused ja suurendage<\/b>!<\/p>\n<p>Ja n\u00e4iteks praeguses kompleksis\u2026<\/p>\n<p>Vabanege k\u00f5ige kahtlasematest mikroteenustest:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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 on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/3bf2831a637cfa148b032ba8c521353a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u2026 \u00fchte mikroteenusesse, mis on kirjutatud \u00fches (kaasaegses ja normaalses, nagu teie enda seisukoht) keeles\/raamistikus:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/73f53f5f4f41f72a7c6d187d855bbd95.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTal on \u00fcks ORM (\u00fcks andmebaas) ja alguses paar rakendust:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, 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 sinna saab tegelikult \u00fcle kanda palju rohkem, saavutades sellise tulemuse:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/97c02ae24199bca42e4bf24f8031578a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJa Kuberneteses k\u00e4ivitame me k\u00f5ik need eraldi instantsid, mis t\u00e4hendab, et me saame ikkagi m\u00f5\u00f5ta koormust ja t\u00e4iesti eraldi neid skaleerida.<\/p>\n<h2>Kokkuv\u00f5tteks<\/h2>\n<p>\nVaata pilti laiemalt. Sageli tekivad k\u00f5ik need probleemid mikroteenustega seoses sellega, et keegi v\u00f5ttis oma \u00fclesande, kuid soovis \"mikroteenustega m\u00e4ngida\".<\/p>\n<p><b>S\u00f5nas \"mikroteenused\" on osa \"mikro\" \u00fclearune.<\/b>Need on \"mikro\" ainult seet\u00f5ttu, et nad on v\u00e4iksemad kui suured monoliidid. Kuid \u00e4rge m\u00f5elge nendele kui millelegi v\u00e4ikesele.<\/p>\n<p>Ja viimase m\u00f5tte jaoks naaseme algse graafiku juurde:<\/p>\n<p><img decoding=\"async\" alt=\"Mikroteenused: suurus on oluline, isegi kui teil on Kubernetes\" src=\"\/wp-content\/uploads\/2019\/04\/a75665af4caa7c4982f70c59ec3c6e89.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKirjutatud v\u00e4itekiri <i>(paremal \u00fclal)<\/i> kurtis, et <b>teie projekti teostava meeskonna oskused on alati esmat\u00e4htsad<\/b> \u2014 just nemad m\u00e4ngivad teie valikus mikroteenuste ja monoliidi vahel v\u00f5tmerolli. Kui meeskonnal puuduvad oskused, kuid nad hakkavad tegema mikroteenuseid, on see lugu kindlasti saatuslik.<\/p>\n<h2>Video ja slaidid<\/h2>\n<p>\nEsinemise video (~50 min; kahjuks ei edasta see k\u00fclastajate rohkearvulisi emotsioone, mis suuresti m\u00e4\u00e4rasid ettekande meeleolu, aga mis seal ikka):<\/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=\"Vaata 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 esitlus:<\/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\u00e4lgimine ja Kubernetes<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 28. mai 2018 RootConf'is)<\/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 Stolyarov; 7. november 2017 HighLoad++)<\/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 Stolyarov; 6. juuni 2017 RootConf'il)<\/i>;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/324274\/\">Kogume Docker-piltide jaoks CI\/CD kiiresti ja mugavalt koos dapp-iga<\/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 praktika Dockeriga<\/a><\/noindex>\u00bb <i>(Dmitri Stolyarov; 31. mai 2016 RootConf-il)<\/i>.<\/li>\n<\/ul>\n<p>\nTeid v\u00f5ivad samuti huvita j\u00e4rgmised publikatsioonid:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/347518\/\">Mikroteenuste hulluse surm 2018. aastal<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/425085\/\">7 parimat konteinerite haldamise praktikat Google'i versioonis<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/340270\/\">The New Stack statistika Kubernetes\u2019e rakendamise raskuste 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.0.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.0.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: m\u00f5\u00f5t on oluline, isegi kui teil on Kubernetes | ProHoster","description":"19. septemberil Moskvas toimus esimene teemam\u00fctap 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}]}}