{"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\/az\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","title":{"rendered":"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Banki.ru portal's Operations Director Andrey Nikolsky spoke at last year's conference <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 Moskva<\/a><\/noindex> about orphan services: how to identify orphans in the infrastructure, what problems orphan services cause, what to do with them, and how to act if nothing helps.<\/p>\n<p>Below is the text version of the report. <\/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=\"Videonu izl\u0259yin\" 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 \/>\nHello, colleagues! My name is Andrey, and I oversee operations at Banki.ru.<\/p>\n<p>We have large services, such as monolithic services, some that are more classically understood, and very small ones. In my working-class terminology, I say that if a service is simple and small, it\u2019s micro, and if it\u2019s not very simple and not small, then it\u2019s just a service. <\/p>\n<h3><b>Advantages of services<\/b><\/h3>\n<p>\nLet me quickly run through the advantages of services. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/4c34a3af9125c5869eb7c1650bc3855a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFirst \u2014 scalability. You can quickly set something up on a service and go live. Traffic comes in, you clone the service. More traffic arrives, you clone it again and manage with that. This is a great bonus, and when we started, it was considered our most important reason for doing all this.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/c536f380ece14e0c873f765b587fb3c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSecondly, isolated development, where you have several development teams, several different developers in each team, and each team is working on its own service.<\/p>\n<p>There are nuances with teams. Developers can be quite diverse. For example, there are <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=VPDJXngp2bM\">snowflake people<\/a><\/noindex>. I first saw this concept from Maxim Dorofeev. Sometimes, snowflake people exist in some teams and not in others. This results in the services used within the company being somewhat uneven. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/f1e18ab059bd2b975d4c6ff1b6434626.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLook at the picture: this is a good developer, with big hands, he can do a lot. The main problem is where these hands are coming from. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/88fdc7266e97be8732f252908329a8f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nServices allow using different programming languages that are better suited for different tasks. Some services in Go, some in Erlang, some in Ruby, some in PHP, some in Python. Overall, there is a wide array of options. There are also nuances here.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/98a4b1037066d67e4f16bab934cebac6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nService-oriented architecture is primarily about devops. That is, if you don't have automation, no deployment process, and if you're setting things up manually, your configurations might change from one service instance to another, and you have to go in and make adjustments, then you're in hell. <\/p>\n<p>M\u0259s\u0259l\u0259n, \u0259g\u0259r sizin 20 xidm\u0259tiniz varsa v\u0259 onlar\u0131 \u0259l il\u0259 t\u0259tbiq etm\u0259lisinizs\u0259, 20 konsolunuz var v\u0259 eyni anda \"enter\" d\u00fcym\u0259sin\u0259 bas\u0131rs\u0131n\u0131z, bu, o q\u0259d\u0259r d\u0259 yax\u015f\u0131 deyil. <\/p>\n<p>\u018fg\u0259r xidm\u0259tiniz testd\u0259n ke\u00e7dis\u0259 (\u0259g\u0259r test varsa, \u0259lb\u0259tt\u0259), v\u0259 onu istehsalata dald\u0131rmaq \u00fc\u00e7\u00fcn h\u0259l\u0259 d\u0259 d\u00fcz\u0259li\u015fl\u0259r etm\u0259lisinizs\u0259, sizin \u00fc\u00e7\u00fcn d\u0259 pis x\u0259b\u0259rl\u0259rim var. <\/p>\n<p>\u018fg\u0259r siz Amazonun spesifik xidm\u0259tl\u0259rin\u0259 bel ba\u011flay\u0131rs\u0131n\u0131zsa v\u0259 bunu Rusiyada edirsinizs\u0259, iki ay \u00f6nc\u0259 sizin d\u0259 \"H\u0259r \u015fey alovlan\u0131r, m\u0259n yax\u015f\u0131yam, h\u0259r \u015fey superdir\" dem\u0259yiniz m\u00fcmk\u00fcn idi.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/474f5f1c3f0ced131df5ee8f30f0aa15.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBiz Ansible-dan da\u011f\u0131t\u0131m\u0131n avtomatla\u015fd\u0131r\u0131lmas\u0131 \u00fc\u00e7\u00fcn, Puppet-d\u0259n konvergensiya \u00fc\u00e7\u00fcn, Bamboo-dan t\u0259tbiqat\u0131n avtomatla\u015fd\u0131r\u0131lmas\u0131 \u00fc\u00e7\u00fcn, Confluence-d\u0259n is\u0259 bunlar\u0131 bir \u015f\u0259kild\u0259 t\u0259svir etm\u0259k \u00fc\u00e7\u00fcn istifad\u0259 edirik.<\/p>\n<p>Buna daha \u0259trafl\u0131 toxunmayacam, \u00e7\u00fcnki t\u0259qdimat daha \u00e7ox qar\u015f\u0131l\u0131ql\u0131 \u0259laq\u0259l\u0259r praktikas\u0131 haqq\u0131nda, texniki icraat\u0131 haqq\u0131nda deyil. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/ab837bed67ee319d72da705bc632e3f3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u0259s\u0259l\u0259n, bir d\u0259f\u0259 bizd\u0259 problem oldu ki, Puppet serverd\u0259 Ruby 2 il\u0259 i\u015fl\u0259yir, amma bir t\u0259tbiq Ruby 1.8 \u00fc\u00e7\u00fcn yaz\u0131l\u0131b v\u0259 onlar bir yerd\u0259 i\u015fl\u0259mirl\u0259r. Orada bir problem yaran\u0131r. H\u0259m\u00e7inin, bir ma\u015f\u0131nda bir ne\u00e7\u0259 Ruby versiyas\u0131n\u0131 saxlama\u011f\u0131n\u0131z laz\u0131m olanda, ad\u0259t\u0259n \u00e7\u0259tinlikl\u0259r yaran\u0131r. <\/p>\n<p>M\u0259s\u0259l\u0259n, h\u0259r bir inki\u015faf etdiriciy\u0259, inki\u015faf etdir\u0259 bil\u0259c\u0259yi b\u00fct\u00fcn xidm\u0259tl\u0259ri, izolyasiya edilmi\u015f m\u00fchitd\u0259 q\u0131r\u0131b-y\u0131xa bil\u0259c\u0259yi bir platforma veririk. <\/p>\n<p>B\u0259z\u0259n, x\u00fcsusi bir d\u0259st\u0259k \u00fc\u00e7\u00fcn x\u00fcsusi t\u0259rtib edilmi\u015f paket\u0259 ehtiyac ola bil\u0259r. Bu, olduqca \u00e7\u0259tindir. M\u0259n docker imici 45 GB olan bir t\u0259qdimata qulaq asd\u0131m. Linux-da \u0259lb\u0259tt\u0259 ki, daha asand\u0131r, orada h\u0259r \u015fey ki\u00e7ikdir, amma yen\u0259 d\u0259, he\u00e7 bir yer \u00e7atmayacaq. <\/p>\n<p>V\u0259 b\u0259zi ziddiyy\u0259tli as\u0131l\u0131l\u0131qlar olur, bir layih\u0259 hiss\u0259si bir versiyal\u0131 kitabxanadan as\u0131l\u0131d\u0131r, dig\u0259ri is\u0259 ba\u015fqa versiyal\u0131 kitabxanadan as\u0131l\u0131d\u0131r, amma kitabxanalar birlikd\u0259 qura\u015fd\u0131ra bilmir. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/acc4c38c547cd6d0580cf3524532393a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBizim PHP 5.6-da saytlar\u0131m\u0131z v\u0259 xidm\u0259tl\u0259rimiz var, onlara g\u00f6r\u0259 utan\u0131r\u0131q, amma n\u0259 el\u0259y\u0259k. Bu, bizim bir platformad\u0131r. PHP 7-d\u0259 daha \u00e7ox saytlar\u0131m\u0131z v\u0259 xidm\u0259tl\u0259rimiz var, onlara g\u00f6r\u0259 utanm\u0131r\u0131q. H\u0259r bir inki\u015faf etdiricinin \u00f6z mini veril\u0259nl\u0259r bazas\u0131 var, orada sevincl\u0259 i\u015fl\u0259yir. <\/p>\n<p>\u018fg\u0259r \u015firk\u0259td\u0259 bir dild\u0259 yaz\u0131rs\u0131n\u0131zsa, o zaman h\u0259r inki\u015faf etdirici \u00fc\u00e7\u00fcn \u00fc\u00e7 virtual ma\u015f\u0131n normald\u0131r. \u018fg\u0259r sizd\u0259 m\u00fcxt\u0259lif proqramla\u015fd\u0131rma dill\u0259ri varsa, v\u0259ziyy\u0259t daha da a\u011f\u0131rla\u015f\u0131r.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/9f5da38456024679ba6a41768466cb82.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSizin xidm\u0259tl\u0259riniz v\u0259 saytlar\u0131n\u0131z var, daha sonra bir Go platformas\u0131, bir Ruby platformas\u0131, v\u0259 yan t\u0259r\u0259fd\u0259 ba\u015fqa bir Redis. N\u0259tic\u0259d\u0259, bunlar ham\u0131s\u0131 b\u00f6y\u00fck bir d\u0259st\u0259k sah\u0259sin\u0259 \u00e7evrilir, v\u0259 daima bunlardan biri q\u0131r\u0131lma riski da\u015f\u0131y\u0131r.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/20bde06e0aaceea028fabea09540d2a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBuna g\u00f6r\u0259 d\u0259 biz proqramla\u015fd\u0131rma dili \u00fcst\u00fcnl\u00fckl\u0259rini m\u00fcxt\u0259lif \u00e7\u0259r\u00e7iv\u0259l\u0259rin istifad\u0259si il\u0259 \u0259v\u0259z etdik, \u00e7\u00fcnki PHP \u00e7\u0259r\u00e7iv\u0259l\u0259ri kifay\u0259t q\u0259d\u0259r f\u0259rqlidir, onlar\u0131n m\u00fcxt\u0259lif imkanlar\u0131, m\u00fcxt\u0259lif icmalar\u0131 v\u0259 m\u00fcxt\u0259lif d\u0259st\u0259kl\u0259ri var. Bel\u0259likl\u0259, xidm\u0259tinizi yazmaq m\u00fcmk\u00fcnd\u00fcr ki, art\u0131q ona uy\u011fun bir \u015feyiniz olsun. <\/p>\n<h3><b>H\u0259r xidm\u0259tin \u00f6z komandas\u0131 var.<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/ff32f7449c831e6dcb2bd9c41fb9c8e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBizim ild\u0259 alt\u0131ra\u015fan \u0259n b\u00f6y\u00fck \u00fcst\u00fcnl\u00fcy\u00fcm\u00fcz \u2014 h\u0259r xidm\u0259tin \u00f6z komandas\u0131 olmas\u0131ndad\u0131r. Bu, b\u00f6y\u00fck layih\u0259 \u00fc\u00e7\u00fcn rahatd\u0131r, s\u0259n\u0259dl\u0259\u015fdirm\u0259y\u0259 vaxt qazana bil\u0259rsiniz, menecerl\u0259r layih\u0259l\u0259rini yax\u015f\u0131 ba\u015fa d\u00fc\u015f\u00fcrl\u0259r. <\/p>\n<p>D\u0259st\u0259k m\u0259s\u0259l\u0259l\u0259ri asanl\u0131qla h\u0259ll olunur. M\u0259s\u0259l\u0259n, s\u0131\u011forta xidm\u0259ti q\u0131r\u0131ld\u0131. V\u0259 d\u0259rhal, s\u0131\u011forta il\u0259 m\u0259\u015f\u011ful olan komanda onu d\u00fcz\u0259ltm\u0259y\u0259 gedir. <\/p>\n<p>Yeni x\u00fcsusiyy\u0259tl\u0259r tez bir zamanda haz\u0131rlan\u0131r, \u00e7\u00fcnki bir atomar xidm\u0259tiniz olduqda, i\u00e7\u0259risin\u0259 operativ olaraq bir \u015fey qura bil\u0259rsiniz. <\/p>\n<p>V\u0259 xidm\u0259tinizi q\u0131rd\u0131\u011f\u0131n\u0131zda, bu qa\u00e7\u0131n\u0131lmazd\u0131r, ba\u015fqa xidm\u0259tl\u0259ri t\u0259sirl\u0259ndirmirsiniz, v\u0259 siz\u0259 dig\u0259r komandalar\u0131n proqram\u00e7\u0131lar\u0131 g\u0259lmirl\u0259r v\u0259 demirl\u0259r: \u00abAy-ay, bel\u0259 etm\u0259yin\u00bb. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/30d99fa39654701437cdf90929d6a45e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nH\u0259r zaman inc\u0259likl\u0259r vard\u0131r. Bizim stabillik qruplar\u0131m\u0131z var, menecerl\u0259r komandaya y\u0131\u011f\u0131lm\u0131\u015fd\u0131r. Ayd\u0131n s\u0259n\u0259dl\u0259r var, menecerl\u0259r buna diqq\u0259tl\u0259 n\u0259zar\u0259t edirl\u0259r. H\u0259r komandada menecerl\u0259 bir ne\u00e7\u0259 xidm\u0259t var v\u0259 konkret bir kompetensiya n\u00f6qt\u0259si var. <\/p>\n<p>\u018fg\u0259r komandalar d\u0259yi\u015fk\u0259ndirs\u0259 (bu da b\u0259z\u0259n istifad\u0259 olunur), yax\u015f\u0131 bir \u00fcsul var ki, ona \u00abulduzlu x\u0259rit\u0259\u00bb deyilir.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/cd18530d30973628f9351757a800dc37.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSizd\u0259 xidm\u0259tl\u0259rin v\u0259 insanlar\u0131n siyah\u0131s\u0131 var. Ulduz simvolu bir \u015f\u0259xsin bu xidm\u0259td\u0259 ekspert oldu\u011funu bildirir, kitab simvolu is\u0259 bir \u015f\u0259xsin bu xidm\u0259ti \u00f6yr\u0259ndiyini g\u00f6st\u0259rir. \u015e\u0259xsin v\u0259zif\u0259si kitab\u0131 ulduzla d\u0259yi\u015fdirm\u0259kdir. \u018fg\u0259r xidm\u0259tin qar\u015f\u0131s\u0131nda he\u00e7 n\u0259 yaz\u0131lmay\u0131bsa, o zaman probleml\u0259r ba\u015flay\u0131r, bunlar\u0131 daha sonra izah ed\u0259c\u0259y\u0259m. <\/p>\n<h3><b>Xidm\u0259tl\u0259r nec\u0259 yetim olur?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/8ae33d6e940700a5941409b7cedf3e9a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0130lk problem, infrastrukturunuzda bir yetim servis elde etmenin ilk yolu - insanlar\u0131n i\u015ften \u00e7\u0131kar\u0131lmas\u0131d\u0131r. \u0130\u015f d\u00fcnyas\u0131nda i\u015fler de\u011ferlendirilmeden son tarihler geldi mi? Bazen zamanlar \u00e7ok s\u0131k\u0131 olur ve belgeler i\u00e7in yeterli zaman kalmaz. \"Servisi \u00fcretime vermek zorunday\u0131z, sonra yazaca\u011f\u0131z.\" <\/p>\n<p>E\u011fer tak\u0131m k\u00fc\u00e7\u00fckse, genellikle i\u00e7inde her \u015feyi yazan bir geli\u015ftirici olur, di\u011ferleri destekleyici konumundad\u0131r. \"Ben ana mimariyi yazd\u0131m, sen de aray\u00fczleri olu\u015ftur.\" Sonra bir noktada, \u00f6rne\u011fin, y\u00f6netici i\u015ften ayr\u0131l\u0131r. Y\u00f6netici gitti\u011finde ve yenisi hen\u00fcz atanmad\u0131\u011f\u0131nda, geli\u015ftiriciler servisin nereye gidece\u011fine, ne oldu\u011funu kendileri karar verirler. Bildi\u011fimiz gibi (birka\u00e7 slayt \u00f6nce d\u00f6nelim), baz\u0131 tak\u0131mlarda \"kar taneleri\" var, bazen de kar tanesi tak\u0131m lideri. Sonra o da i\u015ften ayr\u0131l\u0131r ve biz yetim servisi elde ederiz. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/44741c897bfd9dc04e0a977c1cf08df3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBu arada, destekten ve i\u015ften gelen talepler kaybolmaz, onlar geri planda birikir. E\u011fer servis geli\u015ftirilirken baz\u0131 mimari hatalar olduysa, onlar da geri planda birikir. Servis yava\u015f yava\u015f k\u00f6t\u00fcle\u015fir. <\/p>\n<h3><b>Yetimi nas\u0131l tan\u0131r\u0131z?<\/b> <\/h3>\n<p>\nBu liste durumu iyi bir \u015fekilde \u00f6zetliyor. Altyap\u0131n\u0131zda kendinizi tan\u0131yan biri var m\u0131?<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/b852d070bb6864f48e3a6ae9921a12b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBelgelendirilmi\u015f ge\u00e7ici \u00e7\u00f6z\u00fcmler hakk\u0131nda: bir servis var ve genel olarak \u00e7al\u0131\u015f\u0131yor, iki sayfal\u0131k bir k\u0131lavuzu var, ama i\u00e7indeki i\u015fleyi\u015fi kimse bilmiyor. <\/p>\n<p>Ya da \u00f6rne\u011fin, bir URL k\u0131salt\u0131c\u0131 var. \u015eu anda, farkl\u0131 ama\u00e7lar i\u00e7in farkl\u0131 servislere sahip \u00fc\u00e7 URL k\u0131salt\u0131c\u0131 kullan\u0131yoruz. \u0130\u015fte bunlar sonu\u00e7lar. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/350a041f21fcd75d9a948d2b9b77cda8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u015eimdi bariz bir ger\u00e7eklik olarak konu\u015faca\u011f\u0131m. Ne yapmal\u0131y\u0131z? \u0130lk olarak, servisi ba\u015fka bir y\u00f6neticinin, ba\u015fka bir tak\u0131m\u0131n devralmas\u0131 gerekiyor. E\u011fer tak\u0131m lideriniz hen\u00fcz i\u015ften \u00e7\u0131kmam\u0131\u015fsa, bu ba\u015fka tak\u0131ma e\u011fer servis yetim g\u00f6r\u00fcn\u00fcyorsa anlam\u0131\u015fsan\u0131z, onu anlayan birini dahil etmelisiniz. <\/p>\n<p>En \u00f6nemli \u015fey: sizde yaz\u0131l\u0131 prosed\u00fcrler olmal\u0131d\u0131r. Bizim durumda, bunu \u00e7o\u011funlukla ben takip ediyorum, \u00e7\u00fcnk\u00fc bunun \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak istiyorum. Y\u00f6neticilerin, bunun h\u0131zl\u0131 bir \u015fekilde tamamlanmas\u0131n\u0131 istemesi gerekiyor, sonras\u0131nda bununla ne olaca\u011f\u0131 onlara o kadar \u00f6nemli de\u011fil. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/87b9d86c2c795f5d71db1489cab200a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSirotu bir \u015f\u0259kild\u0259 yaratma\u011f\u0131n dig\u0259r bir yolu - \"\u00c7\u00f6l\u0259 ver\u0259c\u0259yik, bel\u0259likl\u0259 daha s\u00fcr\u0259tli olacaq, sonra komandaya t\u0259hvil ver\u0259c\u0259yik\". Ayd\u0131nd\u0131r ki, h\u0259r k\u0259sin komandada bir plan\u0131 var, t\u0259l\u0259bat var. Tez-tez i\u015f m\u00fc\u015ft\u0259risi d\u00fc\u015f\u00fcn\u00fcr ki, \u00e7\u00f6l m\u00fct\u0259x\u0259ssisl\u0259ri \u015firk\u0259td\u0259ki texniki \u015f\u00f6b\u0259 kimi i\u015fl\u0259y\u0259c\u0259kl\u0259r. Halbuki onlar\u0131n motivasiyalar\u0131 f\u0259rqlidir. \u00c7\u00f6ld\u0259 q\u0259rib\u0259 texnoloji v\u0259 alqoritmik h\u0259ll\u0259r olur.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/b4208ccb134cbc694ea4993ec2751ec5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nM\u0259s\u0259l\u0259n, bizimd\u0259 bir xidm\u0259t var idi, burada Sphinx-nin g\u00f6zl\u0259nilm\u0259z yerl\u0259rd\u0259 oldu\u011fu. Sonradan bunu nec\u0259 etdiyimizi izah ed\u0259c\u0259y\u0259m. <\/p>\n<p>\u00c7\u00f6l m\u00fct\u0259x\u0259ssisl\u0259rinin \u00f6z yaza bildikl\u0259ri \u00e7\u0259r\u00e7iv\u0259l\u0259ri olur. Bu, sad\u0259c\u0259 olaraq, \u0259vv\u0259lki projeden kopyalanm\u0131\u015f \u00e7iy PHP-dir, burada h\u0259r c\u00fcr \u015fey tapa bil\u0259rsiniz. Yay\u0131m skriptl\u0259rind\u0259 b\u00f6y\u00fck saxlamalar olur, siz\u0259 bir ne\u00e7\u0259 s\u0259tiri d\u0259yi\u015fdirm\u0259k \u00fc\u00e7\u00fcn m\u00fcr\u0259kk\u0259b Bash skriptl\u0259ri laz\u0131md\u0131r, bu yay\u0131m skriptl\u0259ri bir \u00fc\u00e7\u00fcnc\u00fc skript t\u0259r\u0259find\u0259n \u00e7a\u011f\u0131r\u0131l\u0131r. N\u0259tic\u0259d\u0259 siz y\u00f6nl\u0259ndirm\u0259 sistemini d\u0259yi\u015firsiniz, ba\u015fqas\u0131n\u0131 se\u00e7irsiniz, v\u0259 hop, xidm\u0259tiniz i\u015fl\u0259mir. \u00c7\u00fcnki burada m\u00fcxt\u0259lif qovluqlar aras\u0131nda 8 ba\u011flant\u0131 daha qoymal\u0131s\u0131n\u0131z. Ya da ola bil\u0259r ki, min qeyd i\u015fl\u0259yir, amma y\u00fcz min art\u0131q i\u015fl\u0259m\u0259y\u0259c\u0259k. <\/p>\n<p>Kapitanl\u0131q etm\u0259y\u0259 davam ed\u0259c\u0259y\u0259m. Xidan g\u0259l\u0259n xidm\u0259tin q\u0259bul prosesi m\u00fctl\u0259qdir. Kimin ba\u015f\u0131na g\u0259lib ki, \u00e7\u00f6ld\u0259n g\u0259l\u0259n xidm\u0259t q\u0259bul edilmir? Bu, \u0259lb\u0259tt\u0259 ki, servici-balonla m\u00fcqayis\u0259d\u0259 o q\u0259d\u0259r populyar deyil, amma yen\u0259 d\u0259. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" 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>Saxlama h\u0259cminin test edilm\u0259si d\u0259 z\u0259ruri bir \u015feydir. Siz y\u00fcz min qeyd oldu\u011funda n\u0259 olaca\u011f\u0131na baxmal\u0131s\u0131n\u0131z, h\u0259l\u0259 xidm\u0259tinizi istehsala buraxmazdan \u0259vv\u0259l. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/3fabdc20049892cee7636c30e595881d.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nServisi d\u0259yi\u015fdirm\u0259y\u0259 g\u00f6nd\u0259rm\u0259kd\u0259n utanmamal\u0131s\u0131n\u0131z. Siz dediyinizd\u0259: \"Bu xidm\u0259ti q\u0259bul etm\u0259y\u0259c\u0259yik, bizim 20 v\u0259zif\u0259miz var, bunlar\u0131 ed\u0259c\u0259yiniz zaman q\u0259bul ed\u0259c\u0259yik\", bu normald\u0131r. Vicdan\u0131n\u0131z meneceri qurban verm\u0259kd\u0259n v\u0259 ya biznesin pul x\u0259rcl\u0259y\u0259c\u0259yind\u0259n narahat olmamal\u0131d\u0131r. Biznes daha \u00e7ox pul x\u0259rcl\u0259y\u0259c\u0259k.<\/p>\n<p>Bizim bel\u0259 bir v\u0259ziyy\u0259timiz olub ki, \u00e7\u00f6l m\u00fct\u0259x\u0259ssisl\u0259ri il\u0259 pilot layih\u0259 h\u0259yata ke\u00e7irm\u0259y\u0259 q\u0259rar verdik.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/a5b25638e51c4eabe9d6a6971f08fa6b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO, vaxt\u0131nda t\u0259qdim edildi v\u0259 bu, keyfiyy\u0259tin yegan\u0259 meyas\u0131 idi. Buna g\u00f6r\u0259 d\u0259, tamamil\u0259 pilot layih\u0259d\u0259n d\u0259 daha ir\u0259lid\u0259 olan birini h\u0259yata ke\u00e7irdil\u0259r. Bu xidm\u0259tl\u0259r q\u0259bul edildi, inzibati yollarla dedil\u0259r ki, budur sizin kod, budur komanda, budur sizin meneceriniz. Xidm\u0259tl\u0259r h\u0259qiq\u0259t\u0259n art\u0131q g\u0259lir g\u0259tirm\u0259y\u0259 ba\u015flad\u0131. Eyni zamanda, faktiki olaraq, h\u0259l\u0259 d\u0259 yetim qald\u0131lar, he\u00e7 kim onlar\u0131n nec\u0259 i\u015fl\u0259diyini ba\u015fa d\u00fc\u015fm\u00fcr, v\u0259 menecerl\u0259r onlar\u0131n tap\u015f\u0131r\u0131qlar\u0131ndan h\u0259r c\u00fcr qa\u00e7ma\u011fa \u00e7al\u0131\u015f\u0131rlar. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/29ac8ab670df5d2c92dc7940d0a74e24.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBa\u015fqa bir \u0259la anlay\u0131\u015f var - partizan inki\u015faf\u0131. H\u0259r hans\u0131 bir \u015f\u00f6b\u0259, ad\u0259t\u0259n, marketinq \u015f\u00f6b\u0259si, bir hipotezi s\u0131naqdan ke\u00e7irm\u0259k ist\u0259yir v\u0259 bir xidm\u0259ti tamamil\u0259 xarici xidm\u0259t\u0259 sifari\u015f edir. Trafik onun \u00fcz\u0259rin\u0259 axma\u011fa ba\u015flay\u0131r, s\u0259n\u0259dl\u0259ri ba\u011flay\u0131rlar, podrat\u00e7\u0131 il\u0259 aktlar\u0131 imzalay\u0131rlar, istismara girirl\u0259r v\u0259 deyirl\u0259r: \u00abDostlar, burada bir xidm\u0259timiz var, art\u0131q trafik var, biz\u0259 pul g\u0259tirir, g\u0259lin onu q\u0259bul ed\u0259k\u00bb. Biz is\u0259 bel\u0259 deyirik: \u00abAyda, nec\u0259 ola bil\u0259r\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/1fa0187e5db9bed7af0c97ac8500567f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u0259 yetim xidm\u0259tl\u0259r \u0259ld\u0259 etm\u0259yin ba\u015fqa bir yolu: bir komanda bird\u0259n \u00e7ox y\u00fckl\u0259n\u0259nd\u0259 r\u0259hb\u0259rlik deyir: \u00abG\u0259lin bu xidm\u0259tin y\u00fck\u00fcn\u00fc bu komandan\u0131n dig\u0259r komandas\u0131na ver\u0259k, onun y\u00fck\u00fc azd\u0131r\u00bb. V\u0259 sonra onu \u00fc\u00e7\u00fcnc\u00fc komandaya veririk, meneceri d\u0259yi\u015firik. N\u0259tic\u0259d\u0259, yenid\u0259n yetimimiz olur.<\/p>\n<h3><b>Yetiml\u0259rd\u0259 problem n\u0259dir?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/009170e7989a78e8bd9f5b7b364e358c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKim bilmir, bu, \u0130sve\u00e7d\u0259 qald\u0131r\u0131lan Wasa zirehli g\u0259midir, 5 d\u0259qiq\u0259 suya batd\u0131\u011f\u0131 il\u0259 m\u0259\u015fhurdur. V\u0259 \u0130sve\u00e7 kral\u0131, bu s\u0259b\u0259bd\u0259n he\u00e7 kimi edam etm\u0259di. Bu, iki n\u0259sil m\u00fch\u0259ndis t\u0259r\u0259find\u0259n in\u015fa edilirdi ki, buna b\u0259nz\u0259r g\u0259mil\u0259ri nec\u0259 in\u015fa ed\u0259c\u0259kl\u0259rini bilmir. T\u0259qdir\u0259layiq bir n\u0259tic\u0259.<\/p>\n<p>Bu g\u0259mi, yeri g\u0259lmi\u015fk\u0259n, daha pis, m\u0259s\u0259l\u0259n, bununla bir kral\u0131n bir \u015fidd\u0259tli f\u0131rt\u0131nada bir yer\u0259 h\u0259r\u0259k\u0259t etdiyini d\u00fc\u015f\u00fcn\u00fcn. Bel\u0259likl\u0259, d\u0259rhal batd\u0131, \u0259c\u0259ba, bu, agil metodologiyas\u0131 bax\u0131m\u0131ndan yax\u015f\u0131d\u0131r - erk\u0259n u\u011fursuzluq. <\/p>\n<p>\u018fg\u0259r biz erk\u0259n u\u011fursuz olduqsa, ad\u0259t\u0259n problem olmur. M\u0259s\u0259l\u0259n, q\u0259bul zaman\u0131 d\u00fcz\u0259li\u015f\u0259 g\u00f6nd\u0259rdik. Ancaq \u0259g\u0259r art\u0131q istehsalda u\u011fursuz olduq, pul s\u0259rf edil\u0259nd\u0259, o zaman probleml\u0259r ola bil\u0259r. Biznesd\u0259 buna n\u0259tic\u0259l\u0259r deyilir.<\/p>\n<p>Yetim xidm\u0259tl\u0259rin t\u0259hl\u00fck\u0259l\u0259ri:<\/p>\n<ul>\n<li>Xidm\u0259t bird\u0259n dayana bil\u0259r. <\/li>\n<li>Xidm\u0259t uzun m\u00fcdd\u0259t t\u0259mir olunur v\u0259 ya \u00fcmumiyy\u0259tl\u0259 t\u0259mir edilmir. <\/li>\n<li>T\u0259hl\u00fck\u0259sizlik probleml\u0259ri. <\/li>\n<li>D\u00fcz\u0259li\u015f v\u0259 yenil\u0259m\u0259l\u0259rd\u0259 probleml\u0259r. <\/li>\n<li>\u018fg\u0259r vacib bir xidm\u0259t q\u0131r\u0131l\u0131rsa, \u015firk\u0259tin reputasiyas\u0131 z\u0259r\u0259r g\u00f6r\u00fcr. <\/li>\n<\/ul>\n<p><\/p>\n<h3><b>Yetim xidm\u0259tl\u0259rl\u0259 n\u0259 etm\u0259k laz\u0131md\u0131r?<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/094444a042ccf12bf4c9e166c3fffe47.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBir daha dey\u0259 bil\u0259r\u0259m ki, n\u0259 etm\u0259k laz\u0131md\u0131r. \u0130lk n\u00f6vb\u0259d\u0259, s\u0259n\u0259dl\u0259\u015fm\u0259 olmal\u0131d\u0131r. Banki.ru-da 7 il \u00e7al\u0131\u015fmaq m\u0259n\u0259 \u00f6yr\u0259tdi ki, test\u00e7il\u0259r proqram\u00e7\u0131lara inanmal\u0131 deyil v\u0259 istismar ham\u0131ya etibar etm\u0259m\u0259lidir. Yoxlama aparmaq laz\u0131md\u0131r. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/23d652f96e93eb52d9172b103121fe54.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0130kinci n\u00f6vb\u0259d\u0259, qar\u015f\u0131l\u0131ql\u0131 \u0259laq\u0259l\u0259rin sxeml\u0259rini yazmaq laz\u0131md\u0131r, \u00e7\u00fcnki b\u0259z\u0259n, yax\u015f\u0131 q\u0259bul edilm\u0259y\u0259n xidm\u0259tl\u0259r he\u00e7 kimin dem\u0259diyi as\u0131l\u0131l\u0131qlar\u0131n i\u00e7\u0259risind\u0259 olur. M\u0259s\u0259l\u0259n, proqram\u00e7\u0131lar bir xidm\u0259t\u0259 Yandex.X\u0259rit\u0259l\u0259ri v\u0259 ya Dadata \u00fcz\u0259rind\u0259n qo\u015fulmu\u015fdular. Pulsuz limitiniz bitdi, h\u0259r \u015fey pozuldu v\u0259 n\u0259 ba\u015f verdiyini bilmirsiniz. Bel\u0259 \u0259ng\u0259ll\u0259r tamamil\u0259 t\u0259svir edilm\u0259lidir: xidm\u0259t Dadata, Sms v\u0259 daha n\u0259l\u0259ri istifad\u0259 edir.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/b2770a07cf265ad8a3890b2cb2f62263.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00dc\u00e7\u00fcnc\u00fc n\u00f6vb\u0259d\u0259, texniki borc il\u0259 i\u015fl\u0259m\u0259. N\u0259 vaxtsa qarmaqar\u0131\u015f\u0131q yollar ed\u0259nd\u0259 v\u0259 ya bir xidm\u0259ti q\u0259bul edib n\u0259s\u0259 etm\u0259yi des\u0259niz, buna diqq\u0259t etm\u0259k laz\u0131md\u0131r. \u00c7\u00fcnki daha sonralar ki\u00e7ik bir \u00e7uxur bu q\u0259d\u0259r ki\u00e7ik olmaya bil\u0259r v\u0259 i\u00e7ind\u0259 batars\u0131n\u0131z.<\/p>\n<p>Arxitektura m\u0259s\u0259l\u0259l\u0259ri il\u0259 Sphinx haqq\u0131nda bir hadis\u0259miz olub. Sphinx, bir xidm\u0259tin siyah\u0131lar\u0131 daxil edilm\u0259si \u00fc\u00e7\u00fcn istifad\u0259 olunmu\u015fdu. Yaln\u0131z bir s\u0259hif\u0259l\u0259m\u0259 il\u0259 siyah\u0131, lakin o, h\u0259r gec\u0259 yenid\u0259n indeksl\u0259nirdi. O, iki indeksd\u0259n ibar\u0259t idi: biri h\u0259r gec\u0259 b\u00f6y\u00fck \u00f6l\u00e7\u00fcd\u0259 indeksl\u0259nirdi, dig\u0259ri is\u0259 ki\u00e7ik indeks ona birl\u0259\u015fdirilirdi. H\u0259r g\u00fcn, 50% ehtimalla ya patlaya bil\u0259r, ya da yox, yerl\u0259\u015fdirilm\u0259 zaman\u0131 indeks pozulur v\u0259 x\u0259b\u0259rl\u0259rimiz ana s\u0259hif\u0259d\u0259 yenil\u0259nm\u0259y\u0259 dayan\u0131rd\u0131. \u018fvv\u0259ll\u0259r bu 5 d\u0259qiq\u0259 idi, indeks yenid\u0259n indeksl\u0259n\u0259n\u0259 q\u0259d\u0259r, sonra indeks b\u00f6y\u00fcd\u00fc v\u0259 bir m\u00fcdd\u0259t sonra yenid\u0259n indeksl\u0259nm\u0259 40 d\u0259qiq\u0259y\u0259 q\u0259d\u0259r uzand\u0131. Bunu k\u0259nara qoyduqda, rahat n\u0259f\u0259s ald\u0131q, \u00e7\u00fcnki ayd\u0131n idi ki, bir m\u00fcdd\u0259t sonra indeks tam i\u015f g\u00fcn\u00fc yenid\u0259n indeksl\u0259n\u0259c\u0259k. Bu, portal\u0131m\u0131z \u00fc\u00e7\u00fcn bir fiyask olacaq, s\u0259kkiz saat x\u0259b\u0259rl\u0259r olmayacaq - i\u015f q\u0259zaya u\u011frayacaq.<\/p>\n<h3><b>D\u00f6vl\u0259t xidm\u0259tinin plan\u0131<\/b><\/h3>\n<p>\n<img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/f072ec872d59de058faf1994ac39f161.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nH\u0259qiq\u0259t\u0259n, bunu etm\u0259k \u00e7ox \u00e7\u0259tindir, \u00e7\u00fcnki devops \u00fcnsiyy\u0259tdir. \u00d6z h\u0259mkarlar\u0131n\u0131zla yax\u015f\u0131 m\u00fcnasib\u0259t qurmaq ist\u0259yirsiniz, lakin siz h\u0259mkarlar\u0131n\u0131z\u0131 v\u0259 menecerl\u0259ri qaydalarla ba\u015flar\u0131na vursan\u0131z, onlar bel\u0259 ed\u0259n insanlara qar\u015f\u0131 qar\u0131\u015f\u0131q hissl\u0259r ke\u00e7ir\u0259 bil\u0259rl\u0259r. <\/p>\n<p>B\u00fct\u00fcn bu madd\u0259l\u0259rin yan\u0131nda, h\u0259l\u0259 bir m\u00fch\u00fcm \u015fey var: h\u0259r bir konkret xidm\u0259t, h\u0259r bir konkret yerl\u0259\u015fdirm\u0259 prosesi \u00fc\u00e7\u00fcn konkret insanlar m\u0259suliyy\u0259t da\u015f\u0131mal\u0131d\u0131r. \u0130nsanlar olmad\u0131qda v\u0259 ba\u015fqa insanlar\u0131 c\u0259lb etm\u0259k laz\u0131m g\u0259ldikd\u0259, bunun \u00f6yr\u0259nilm\u0259si \u00e7\u0259tin olur.<\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/28e7372012d5089d3ac1be3d7dc97e03.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u018fg\u0259r bunlar\u0131n ham\u0131s\u0131 k\u00f6m\u0259k etmirs\u0259, v\u0259 hizmet yetiml\u0259riniz h\u0259l\u0259 d\u0259 yetim qal\u0131b, he\u00e7 kim onu g\u00f6t\u00fcrm\u0259k ist\u0259mir, s\u0259n\u0259dl\u0259\u015fm\u0259 yaz\u0131lm\u0131r, bu xidm\u0259t\u0259 c\u0259lb edil\u0259n komanda n\u0259s\u0259 etm\u0259yi r\u0259dd edirs\u0259, sad\u0259 bir yol var \u2014 h\u0259r \u015feyi yenid\u0259n qurmaq. <\/p>\n<p>Y\u0259ni, siz xidm\u0259tin t\u0259l\u0259bl\u0259rini yenid\u0259n \u0259l\u0259 al\u0131rs\u0131n\u0131z v\u0259 daha yax\u015f\u0131, daha yax\u015f\u0131 platformada yeni bir xidm\u0259t yaz\u0131rs\u0131n\u0131z, q\u0259rib\u0259 texnologiya q\u0259rarlar\u0131 olmadan. V\u0259 d\u00f6y\u00fc\u015fd\u0259 ona k\u00f6\u00e7\u00fcr\u00fcrs\u00fcn\u00fcz. <\/p>\n<p><img decoding=\"async\" alt=\"Xidm\u0259t-yetiml\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi\" src=\"\/wp-content\/uploads\/2019\/10\/63d0bf7d9ac1e5c5b00b67b519e228a1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBizim bir v\u0259ziyy\u0259timiz vard\u0131, biz Yii 1 istifad\u0259 ed\u0259r\u0259k bir xidm\u0259ti ald\u0131q v\u0259 bunun daha da inki\u015faf etdirilm\u0259si m\u00fcmk\u00fcn olmad\u0131\u011f\u0131n\u0131 anlad\u0131q, \u00e7\u00fcnki Yii 1-d\u0259 yax\u015f\u0131 yazan proqram\u00e7\u0131lar\u0131m\u0131z sona \u00e7atd\u0131. B\u00fct\u00fcn proqram\u00e7\u0131lar Symfony 3-d\u0259 yax\u015f\u0131 yaz\u0131r. N\u0259 etm\u0259k laz\u0131m? Vaxt ay\u0131rd\u0131q, komanda ay\u0131rd\u0131q, menecer ay\u0131rd\u0131q, layih\u0259ni yenid\u0259n yazd\u0131q v\u0259 t\u0259dric\u0259n ora trafik ke\u00e7irdik. <\/p>\n<p>Bundan sonra k\u00f6hn\u0259 xidm\u0259ti silm\u0259k olar. Bu, m\u0259nim sevdiyim prosedurdur, konfiqurasiya idar\u0259etm\u0259 sistemind\u0259n bir xidm\u0259ti g\u00f6t\u00fcr\u00fcb t\u0259mizl\u0259m\u0259k v\u0259 sonra b\u00fct\u00fcn istehsaldak\u0131 ma\u015f\u0131nlar\u0131n s\u00f6nd\u00fcy\u00fcnd\u0259n \u0259min olmaq \u00fc\u00e7\u00fcn g\u0259zinti etm\u0259kdir ki, proqram\u00e7\u0131lara he\u00e7 bir iz qalmas\u0131n. Git depozitind\u0259 is\u0259 qal\u0131r.<\/p>\n<p>Bu, m\u0259nim dan\u0131\u015fmaq ist\u0259diyim h\u0259r \u015feydir, m\u00fcbahis\u0259 etm\u0259y\u0259 haz\u0131ram, bu m\u00f6vzu m\u00fcbahis\u0259lidir, bir \u00e7oxu bunun i\u00e7ind\u0259 \u00fczm\u00fc\u015fd\u00fcr. <\/p>\n<p><b>Slaydlarda dill\u0259rin standartla\u015fd\u0131r\u0131lmas\u0131 haqq\u0131nda dan\u0131\u015f\u0131l\u0131rd\u0131. M\u0259s\u0259l\u0259n, \u015f\u0259kill\u0259rin \u00f6l\u00e7\u00fcs\u00fcn\u00fcn d\u0259yi\u015fdirilm\u0259si. Amma h\u0259qiq\u0259t\u0259n d\u0259 bir dil\u0259 s\u0259rt ke\u00e7m\u0259k laz\u0131md\u0131rm\u0131? \u00c7\u00fcnki \u015f\u0259kilin PHP-d\u0259 \u00f6l\u00e7\u00fcs\u00fcn\u00fc d\u0259yi\u015fm\u0259k, \u0259slind\u0259, Golang il\u0259 d\u0259 ed\u0259 bil\u0259rdim.<\/b><\/p>\n<p>\u018fslind\u0259, bu, z\u0259ruri deyil, eyni zamanda b\u00fct\u00fcn praktikalar \u00fc\u00e7\u00fcn. B\u0259zi hallarda, h\u0259tta arzuolunmazd\u0131r. Lakin ba\u015fa d\u00fc\u015fm\u0259k laz\u0131md\u0131r ki, \u0259g\u0259r \u015firk\u0259tinizd\u0259 50 n\u0259f\u0259r texniki hiss\u0259d\u0259 \u00e7al\u0131\u015f\u0131rsa, onlardan 45-i PHP m\u00fct\u0259x\u0259ssisidirs\u0259, 3-\u00fc is\u0259 Python, Ansible, Puppet il\u0259 i\u015fl\u0259y\u0259n devopsdur v\u0259 yaln\u0131z bir n\u0259f\u0259r \u015f\u0259kill\u0259rin \u00f6l\u00e7\u00fcs\u00fcn\u00fc d\u0259yi\u015fm\u0259k \u00fc\u00e7\u00fcn Go-da proqram yaz\u0131rsa, o zaman o, \u015firk\u0259td\u0259n ged\u0259nd\u0259, bilikl\u0259r d\u0259 onunla birlikd\u0259 ged\u0259c\u0259k. Bu zaman siz bazarda spesifik, bu dili bil\u0259n bir proqram\u00e7\u0131 axtarmal\u0131s\u0131n\u0131z, x\u00fcsusil\u0259 d\u0259 bu nadir bir dildirs\u0259. Y\u0259ni, t\u0259\u015fkilati bax\u0131mdan, bu problem yarad\u0131r. Devops perspektivind\u0259n, siz yaln\u0131z istifad\u0259 etdiyiniz haz\u0131r playbook d\u0259stini klonlamaqla kifay\u0259tl\u0259nm\u0259y\u0259c\u0259ksiniz, onu yenid\u0259n yazmal\u0131s\u0131n\u0131z. <\/p>\n<p>\u0130ndiy\u0259 q\u0259d\u0259r Node.js-d\u0259 bir xidm\u0259t \u00fcz\u0259rind\u0259 \u00e7al\u0131\u015f\u0131r\u0131q v\u0259 bu, h\u0259r bir proqram\u00e7\u0131 \u00fc\u00e7\u00fcn ayr\u0131 bir dill\u0259 yan-yana olan bir platforma olacaq. Amma biz oturub d\u00fc\u015f\u00fcnd\u00fck ki, bu oyunun qiym\u0259tin\u0259 d\u0259y\u0259r. Y\u0259ni burada m\u0259s\u0259l\u0259 oturub d\u00fc\u015f\u00fcnm\u0259kdir.<\/p>\n<p><b>Sizin xidm\u0259tl\u0259rinizi nec\u0259 monitorinq edirsiniz? Logger-lar\u0131 nec\u0259 toplay\u0131b izl\u0259yirsiniz?<\/b><\/p>\n<p>Logger-lar\u0131 Elasticsearch-d\u0259 toplay\u0131r\u0131q v\u0259 Kibana-da saxlay\u0131r\u0131q, istehsal (prod) v\u0259 test m\u00fchitl\u0259ri aras\u0131nda f\u0259rqli toplay\u0131c\u0131lar istifad\u0259 olunur. B\u0259zil\u0259ri \u00fc\u00e7\u00fcn Lumberjack, b\u0259zil\u0259ri \u00fc\u00e7\u00fcn ba\u015fqa bir \u015fey, art\u0131q yaddan \u00e7\u0131x\u0131b. H\u0259m d\u0259 m\u00fc\u0259yy\u0259n xidm\u0259tl\u0259rd\u0259 Telegraf qura\u015fd\u0131r\u0131b onu ayr\u0131 bir yer\u0259 g\u00f6nd\u0259rdiyimiz b\u0259zi yerl\u0259r var. <\/p>\n<p><b>Puppet v\u0259 Ansible-i bir m\u00fchitd\u0259 nec\u0259 birl\u0259\u015fdirm\u0259k olar?<\/b><\/p>\n<p>\u018fslind\u0259, haz\u0131rda iki m\u00fchitimiz var, biri Puppet, dig\u0259ri Ansible. Onlar\u0131 hibridl\u0259\u015fdirm\u0259k \u00fcz\u0259rind\u0259 \u00e7al\u0131\u015f\u0131r\u0131q. Ansible ilkin konfiqurasiya \u00fc\u00e7\u00fcn yax\u015f\u0131 m\u00fchitdir, Puppet is\u0259 ilkin konfiqurasiya \u00fc\u00e7\u00fcn pisdir, \u00e7\u00fcnki m\u00fchitl\u0259 birba\u015fa \u0259l i\u015fl\u0259ri il\u0259 m\u0259\u015f\u011ful olma\u011f\u0131 t\u0259l\u0259b edir. Puppet konfiqurasiyan\u0131n uy\u011funlu\u011funu t\u0259min edir. Bu, m\u00fchitin \u00f6z\u00fcn\u00fc aktual saxlad\u0131\u011f\u0131 dem\u0259kdir, ancaq ansibill\u0259\u015fdirilmi\u015f ma\u015f\u0131n daima playbook-larla m\u00fct\u0259madi olaraq m\u00fc\u015fayi\u0259t olunmal\u0131d\u0131r. Bax, bel\u0259 bir f\u0259rq var. <\/p>\n<p><b>Siz nec\u0259 uy\u011funlu\u011fu saxlay\u0131rs\u0131n\u0131z? Sizin Ansible v\u0259 Puppet-d\u0259 konfiqurasiya fayllar\u0131n\u0131z var?<\/b><\/p>\n<p>Bu bizim b\u00f6y\u00fck problemimizdir, \u0259l il\u0259 uy\u011funlu\u011fu d\u0259st\u0259kl\u0259yirik v\u0259 bununla ba\u011fl\u0131 nec\u0259 k\u00f6\u00e7\u0259c\u0259yimiz bar\u0259d\u0259 d\u00fc\u015f\u00fcn\u00fcr\u00fck. G\u00f6r\u00fcr\u00fck ki, Puppet paketl\u0259ri y\u00fckl\u0259yir v\u0259 orada b\u0259zi ba\u011flant\u0131lar\u0131 d\u0259st\u0259kl\u0259yir, Ansible is\u0259, m\u0259s\u0259l\u0259n, kodu y\u00fckl\u0259yir v\u0259 t\u0259tbiql\u0259rin yeni konfiqurasiyalar\u0131n\u0131 uy\u011funla\u015fd\u0131r\u0131r.<\/p>\n<p><b>T\u0259qdimatda Ruby-nin m\u00fcxt\u0259lif versiyalar\u0131 haqq\u0131nda oldu. Hangi h\u0259ll var?<\/b><\/p>\n<p>Biz bir yerd\u0259 bununla qar\u015f\u0131la\u015fd\u0131q v\u0259 bunu daim a\u011fl\u0131m\u0131zda saxlama\u011fa m\u0259cburuq. Biz sad\u0259c\u0259 olaraq, uy\u011fun olmayan Ruby-d\u0259 i\u015fl\u0259y\u0259n o hiss\u0259ni ba\u011flad\u0131q v\u0259 onu ayr\u0131 saxlad\u0131q. <\/p>\n<blockquote><p> Bu il konfrans <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 Moskva<\/a><\/noindex> 7 dekabrda \"Texnopolis\"-d\u0259 ba\u015f tutacaq. 11 noyabr tarixin\u0259 q\u0259d\u0259r \u00e7\u0131x\u0131\u015flar \u00fc\u00e7\u00fcn m\u00fcraci\u0259tl\u0259r q\u0259bul edirik. <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsdays.ru\/?utm_source=habr&amp;utm_medium=social&amp;utm_campaign=dod-2019&amp;utm_content=post3\">Yaz\u0131n<\/a><\/noindex> biz\u0259, \u0259g\u0259r \u00e7\u0131x\u0131\u015f etm\u0259k ist\u0259yirsinizs\u0259.<\/p>\n<p>\u0130\u015ftirak\u00e7\u0131lar \u00fc\u00e7\u00fcn qeydiyyat a\u00e7\u0131qd\u0131r, qo\u015fulun! \n<\/p><\/blockquote>\n<p>M\u0259nb\u0259: <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.0.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\/az\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"az_AZ\" \/>\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\/az\/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\udd47S\u0259rvisl\u0259r: (mikro) xidm\u0259t memarl\u0131\u011f\u0131n\u0131n arxa t\u0259r\u0259fi | ProHoster","description":"Banki.ru portal's Operations Director Andrey Nikolsky spoke at last year's conference","canonical_url":"https:\/\/prohoster.info\/az\/blog\/administrirovanie\/servisy-siroty-obratnaya-storona-mikro-servisnoj-arhitektury","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"az_AZ","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\/az\/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\/az\/wp-json\/wp\/v2\/posts\/38981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/comments?post=38981"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/posts\/38981\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/media\/29246"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/media?parent=38981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/categories?post=38981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/tags?post=38981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}