{"id":94520,"date":"2020-09-18T07:42:20","date_gmt":"2020-09-18T05:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah"},"modified":"2020-09-18T07:42:20","modified_gmt":"2020-09-18T05:42:20","slug":"chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","title":{"rendered":"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj!<\/p>\n<p>Jmenuji se Michail, jsem z\u00e1stupcem \u0159editele IT v spole\u010dnosti \u201eSportmaster\u201c. Chci se pod\u011blit o p\u0159\u00edb\u011bh o tom, jak jsme se vyrovnali s obt\u00ed\u017eemi, kter\u00e9 nastaly b\u011bhem pandemie.<\/p>\n<p>V prvn\u00edch dnech nov\u00fdch skute\u010dnost\u00ed zastavil obvykl\u00fd form\u00e1t offline obchodu \u201eSportmasteru\u201c a zat\u00ed\u017een\u00ed na\u0161eho online kan\u00e1lu, zejm\u00e9na v oblasti doru\u010dov\u00e1n\u00ed k z\u00e1kazn\u00edk\u016fm, se zv\u00fd\u0161ilo desetin\u00e1sobn\u011b. B\u011bhem n\u011bkolika t\u00fddn\u016f jsme transformovali obrovsk\u00fd offline byznys na online a p\u0159izp\u016fsobili slu\u017ebu pot\u0159eb\u00e1m na\u0161ich z\u00e1kazn\u00edk\u016f.<\/p>\n<p>Celkov\u011b se to, co bylo v podstat\u011b na\u0161\u00ed vedlej\u0161\u00ed \u010dinnost\u00ed, stalo hlavn\u00edm byznysem. D\u016fle\u017eitost ka\u017ed\u00e9 internetov\u00e9 objedn\u00e1vky se zv\u00fd\u0161ila extr\u00e9mn\u011b. Bylo t\u0159eba zachovat ka\u017ed\u00fd rubl, kter\u00fd z\u00e1kazn\u00edk p\u0159inesl do spole\u010dnosti.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/3e1dfc21636b29259fd29143e4a53f78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Abychom mohli rychle reagovat na po\u017eadavky z\u00e1kazn\u00edk\u016f, otev\u0159eli jsme dal\u0161\u00ed kontaktn\u00ed centrum v hlavn\u00ed kancel\u00e1\u0159i spole\u010dnosti a nyn\u00ed m\u016f\u017eeme p\u0159ij\u00edmat p\u0159ibli\u017en\u011b 285 tis\u00edc hovor\u016f t\u00fddn\u011b. Z\u00e1rove\u0148 jsme p\u0159eviedli 270 obchod\u016f do nov\u00e9ho form\u00e1tu bezkontaktn\u00ed a bezpe\u010dn\u00e9 pr\u00e1ce, co\u017e umo\u017enilo z\u00e1kazn\u00edk\u016fm dost\u00e1vat objedn\u00e1vky a zam\u011bstnanc\u016fm udr\u017eet si pracovn\u00ed m\u00edsta.<\/p>\n<p>B\u011bhem transformace jsme narazili na dv\u011b hlavn\u00ed probl\u00e9my. Za prv\u00e9, v\u00fdrazn\u011b vzrostlo zat\u00ed\u017een\u00ed na\u0161ich online zdroj\u016f (jak jsme se s t\u00edm vypo\u0159\u00e1dali, pov\u00ed v\u00e1m Sergej). Za druh\u00e9, tok vz\u00e1cn\u00fdch operac\u00ed (p\u0159ed COVID) mnohon\u00e1sobn\u011b vzrostl, co\u017e na opl\u00e1tku vy\u017eadovalo velk\u00fd objem rychl\u00e9 automatizace. Abychom tento probl\u00e9m vy\u0159e\u0161ili, museli jsme rychle p\u0159esunout zdroje z oblast\u00ed, kter\u00e9 byly d\u0159\u00edve hlavn\u00ed. Jak jsme se s t\u00edm vyrovnali, pov\u00ed v\u00e1m Elena.<\/p>\n<h2>Provoz online slu\u017eeb<\/h2>\n<p><em>Kolesnikov Sergej, odpov\u00edd\u00e1 za provoz internetov\u00e9ho obchodu a mikroslu\u017eeb<\/em><\/p>\n<p>Od chv\u00edle, kdy na\u0161e kamenn\u00e9 obchody za\u010daly b\u00fdt uzav\u0159eny pro n\u00e1v\u0161t\u011bvn\u00edky, jsme za\u010dali zaznamen\u00e1vat r\u016fst takov\u00fdch metrik, jako je po\u010det u\u017eivatel\u016f, po\u010det objedn\u00e1vek proveden\u00fdch v na\u0161\u00ed aplikaci, po\u010det po\u017eadavk\u016f na aplikace.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/5094662d75314169328e124d0ae9f5b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Po\u010det objedn\u00e1vek od 18. do 31. b\u0159ezna<img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/4714a5d5595042b66b33f5f93b002734.jpg\" style=\"display:block;margin: 0 auto;\" \/>Po\u010det po\u017eadavk\u016f na mikroslu\u017eby online plateb<img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/9145afe051f8d4d4da0e00a69d469b92.jpg\" style=\"display:block;margin: 0 auto;\" \/>Po\u010det objedn\u00e1vek zadan\u00fdch na webu<\/p>\n<p>Na prvn\u00edm grafu vid\u00edme, \u017ee n\u00e1r\u016fst \u010dinil p\u0159ibli\u017en\u011b 14kr\u00e1t, na druh\u00e9m \u2014 4kr\u00e1t. Nejv\u00fdznamn\u011bj\u0161\u00ed p\u0159i tom pova\u017eujeme metriku doby odezvy na\u0161ich aplikac\u00ed.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/bfe187bea02c83ce9d9e3286c486f85b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Na tomto grafu vid\u00edme odpov\u011bdi front a aplikac\u00ed, a my jsme si ur\u010dili, \u017ee jsme nezaznamenali \u017e\u00e1dn\u00fd konkr\u00e9tn\u00ed r\u016fst.<\/p>\n<p>Toto je p\u0159edev\u0161\u00edm zp\u016fsobeno t\u00edm, \u017ee jsme za\u010dali p\u0159\u00edpravn\u00e9 pr\u00e1ce na konci roku 2019. Nyn\u00ed jsou na\u0161e slu\u017eby rezervov\u00e1ny, zaji\u0161t\u011bna redundance na \u00farovni fyzick\u00fdch server\u016f, virtualiza\u010dn\u00edch syst\u00e9m\u016f, Dockeru a slu\u017eeb v nich. Na\u0161e serverov\u00e9 zdroje nyn\u00ed zvl\u00e1daj\u00ed n\u011bkolikan\u00e1sobnou z\u00e1t\u011b\u017e.<\/p>\n<p>Hlavn\u00edm n\u00e1strojem, kter\u00fd n\u00e1m v t\u00e9to z\u00e1le\u017eitosti pomohl, byl n\u00e1\u0161 monitorovac\u00ed syst\u00e9m. Je pravda, \u017ee je\u0161t\u011b ned\u00e1vno jsme nem\u011bli jednotn\u00fd syst\u00e9m, kter\u00fd by shroma\u017e\u010foval metriky na v\u0161ech vrstv\u00e1ch, od fyzick\u00e9ho hardware po obchodn\u00ed metriky.&nbsp;<\/p>\n<p>Form\u00e1ln\u011b monitorov\u00e1n\u00ed v spole\u010dnosti existovalo, ale obvykle bylo rozpt\u00fdlen\u00e9 a bylo v odpov\u011bdnosti konkr\u00e9tn\u00edch odd\u011blen\u00ed. Ve skute\u010dnosti, kdy\u017e do\u0161lo k n\u011bjak\u00e9mu incidentu, \u010dasto jsme nem\u011bli jednotn\u00e9 pochopen\u00ed, co se p\u0159esn\u011b stalo, nebyla zde \u017e\u00e1dn\u00e1 informace, a to \u010dasto vedlo k bezc\u00edln\u00e9mu hled\u00e1n\u00ed a lokalizaci probl\u00e9mu pro jeho n\u00e1sledn\u00e9 odstran\u011bn\u00ed.<\/p>\n<p>V ur\u010dit\u00e9m okam\u017eiku jsme si uv\u011bdomili, \u017ee to takto u\u017e d\u00e1l nem\u016f\u017eeme sn\u00e1\u0161et \u2014 pot\u0159ebujeme jednotn\u00fd syst\u00e9m, abychom vid\u011bli cel\u00fd obraz. Hlavn\u00ed technologie, kter\u00e9 pou\u017e\u00edv\u00e1me, jsou Zabbix jako centrum alertingu a ukl\u00e1d\u00e1n\u00ed metrik, Prometheus pro shroma\u017e\u010fov\u00e1n\u00ed a ukl\u00e1d\u00e1n\u00ed metrik aplikac\u00ed, Stack ELK pro logov\u00e1n\u00ed a ukl\u00e1d\u00e1n\u00ed dat cel\u00e9ho monitorovac\u00edho syst\u00e9mu, a Grafana pro vizualizaci, Swagger, Docker a dal\u0161\u00ed u\u017eite\u010dn\u00e9 a zn\u00e1m\u00e9 n\u00e1stroje.<\/p>\n<p>Pou\u017e\u00edv\u00e1me nejen dostupn\u00e9 technologie na trhu, ale tak\u00e9 vyv\u00edj\u00edme n\u011bkter\u00e9 v\u011bci sami. Nap\u0159\u00edklad vytv\u00e1\u0159\u00edme slu\u017eby pro integraci syst\u00e9m\u016f mezi sebou, tedy jak\u00e9si API pro shroma\u017e\u010fov\u00e1n\u00ed metrik. Pracujeme tak\u00e9 na na\u0161ich vlastn\u00edch monitorovac\u00edch syst\u00e9mech \u2014 na \u00farovni obchodn\u00edch metrik pou\u017e\u00edv\u00e1me UI testy. D\u00e1le m\u00e1me bota v Telegramu pro upozor\u0148ov\u00e1n\u00ed t\u00fdm\u016f.<\/p>\n<p>A tak\u00e9 se sna\u017e\u00edme zp\u0159\u00edstupnit monitorovac\u00ed syst\u00e9m t\u00fdm\u016fm, aby si mohly samostatn\u011b ukl\u00e1dat sv\u00e9 metriky a pracovat s nimi, v\u010detn\u011b nastaven\u00ed alertingu u n\u011bkter\u00fdch \u00fazk\u00fdch metrik, kter\u00e9 maj\u00ed omezen\u00e9 pou\u017eit\u00ed.&nbsp;<\/p>\n<p>V r\u00e1mci cel\u00e9ho syst\u00e9mu usilujeme o proaktivitu a maxim\u00e1ln\u011b rychlou lokalizaci incident\u016f. Nav\u00edc se po\u010det na\u0161ich mikroslu\u017eeb a syst\u00e9m\u016f v posledn\u00ed dob\u011b v\u00fdznamn\u011b zv\u00fd\u0161il, a t\u00edm i po\u010det integrac\u00ed. V r\u00e1mci optimalizace procesu diagnostiky incident\u016f na \u00farovni integrace vyv\u00edj\u00edme syst\u00e9m, kter\u00fd umo\u017e\u0148uje prov\u00e1d\u011bt mezi syst\u00e9mov\u00e9 kontroly a vyhodnocovat v\u00fdsledky, co\u017e n\u00e1m pom\u00e1h\u00e1 identifikovat hlavn\u00ed probl\u00e9my spojen\u00e9 s importy a vz\u00e1jemn\u00fdm interakc\u00edm syst\u00e9m\u016f.&nbsp;<\/p>\n<p>Samoz\u0159ejm\u011b m\u00e1me je\u0161t\u011b prostor pro r\u016fst a rozvoj v oblasti provozu syst\u00e9m\u016f, a na tom aktivn\u011b pracujeme. V\u00edce informac\u00ed o na\u0161em monitorovac\u00edm syst\u00e9mu si m\u016f\u017eete p\u0159e\u010d\u00edst <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><u>zde<\/u><\/a><\/noindex>.&nbsp;<\/p>\n<h2>Technick\u00e9 zkou\u0161ky&nbsp;<\/h2>\n<p><em>Sergej Orlov, vede kompeten\u010dn\u00ed centrum pro webov\u00fd a mobiln\u00ed v\u00fdvoj<\/em><\/p>\n<p>Od za\u010d\u00e1tku uzav\u0159en\u00ed fyzick\u00fdch obchod\u016f jsme \u010delili r\u016fzn\u00fdm zkou\u0161k\u00e1m z hlediska v\u00fdvoje. V prvn\u00ed \u0159ad\u011b skokov\u00e9mu n\u00e1r\u016fstu z\u00e1t\u011b\u017ee. Je jasn\u00e9, \u017ee pokud se nepodniknou odpov\u00eddaj\u00edc\u00ed kroky, p\u0159i vysok\u00e9 z\u00e1t\u011b\u017ei m\u016f\u017ee syst\u00e9m s nep\u0159\u00edjemn\u00fdm prasknut\u00edm p\u0159estat fungovat, nebo \u00fapln\u011b ztratit svou v\u00fdkonnost.<\/p>\n<p>Druh\u00fd aspekt, m\u00e9n\u011b z\u0159ejm\u00fd, spo\u010d\u00edv\u00e1 v tom, \u017ee syst\u00e9m s vysokou z\u00e1t\u011b\u017e\u00ed je nutn\u00e9 velmi rychle m\u011bnit a p\u0159izp\u016fsobovat se zm\u011bn\u00e1m obchodn\u00edch proces\u016f. N\u011bkdy i n\u011bkolikr\u00e1t za den. V mnoha firm\u00e1ch plat\u00ed pravidlo, \u017ee p\u0159i velk\u00fdch marketingov\u00fdch aktivit\u00e1ch by se do syst\u00e9mu nem\u011blo prov\u00e1d\u011bt \u017e\u00e1dn\u00e9 zm\u011bny. Opravdu \u017e\u00e1dn\u00e9, a\u0165 funguje, kdy\u017e funguje.<\/p>\n<p>A my jsme v podstat\u011b m\u011bli nekone\u010dn\u00fd \u010dern\u00fd p\u00e1tek, b\u011bhem kter\u00e9ho bylo nutn\u00e9 syst\u00e9m m\u011bnit. A jak\u00e1koliv chyba, probl\u00e9m nebo selh\u00e1n\u00ed v syst\u00e9mu by firmu st\u00e1ly velk\u00e9 pen\u00edze.<\/p>\n<p>Abyste v\u011bd\u011bli, poda\u0159ilo se n\u00e1m tyto zkou\u0161ky zvl\u00e1dnout, v\u0161echny syst\u00e9my udr\u017eely z\u00e1t\u011b\u017e, snadno se \u0161k\u00e1lovaly a nedo\u0161lo k \u017e\u00e1dn\u00fdm glob\u00e1ln\u00edm technick\u00fdm selh\u00e1n\u00edm.<\/p>\n<p>Existuj\u00ed \u010dty\u0159i pil\u00ed\u0159e, na kter\u00fdch stoj\u00ed schopnost syst\u00e9mu zvl\u00e1dat vysok\u00e9 \u0161pi\u010dkov\u00e9 zat\u00ed\u017een\u00ed. Prvn\u00edm z nich je monitoring, o kter\u00e9m jste \u010detli v\u00fd\u0161e. Bez vytvo\u0159en\u00e9ho monitorovac\u00edho syst\u00e9mu je prakticky nemo\u017en\u00e9 naj\u00edt \u00fazk\u00e1 m\u00edsta v syst\u00e9mu. Dobr\u00fd monitorovac\u00ed syst\u00e9m je jako dom\u00e1c\u00ed oble\u010den\u00ed, m\u011blo by b\u00fdt pohodln\u00e9 a p\u0159izp\u016fsoben\u00e9 v\u00e1m.<\/p>\n<p>Druh\u00fdm aspektem je testov\u00e1n\u00ed. K tomuto bodu p\u0159istupujeme velmi v\u00e1\u017en\u011b: p\u00ed\u0161eme a prov\u00e1d\u00edme klasick\u00e9 jednotkov\u00e9, integra\u010dn\u00ed, z\u00e1t\u011b\u017eov\u00e9 testy a mnoh\u00e9 dal\u0161\u00ed pro ka\u017ed\u00fd syst\u00e9m. Tak\u00e9 vytv\u00e1\u0159\u00edme testovac\u00ed strategii a sna\u017e\u00edme se dos\u00e1hnout \u00farovn\u011b testov\u00e1n\u00ed, kdy u\u017e n\u00e1m ru\u010dn\u00ed kontroly nebudou pot\u0159eba.<\/p>\n<p>T\u0159et\u00ed pil\u00ed\u0159 p\u0159edstavuje CI\/CD Pipeline. Procesy buildov\u00e1n\u00ed, testov\u00e1n\u00ed a nasazov\u00e1n\u00ed aplikace by m\u011bly b\u00fdt co nejv\u00edce automatizov\u00e1ny, bez ru\u010dn\u00edho z\u00e1sahu. T\u00e9ma CI\/CD Pipeline je pom\u011brn\u011b hlubok\u00e9, a tak se k n\u011bmu dotknu jen okrajov\u011b. Je t\u0159eba zm\u00ednit, \u017ee m\u00e1me checklist CI\/CD Pipeline, podle kter\u00e9ho ka\u017ed\u00e1 produktov\u00e1 t\u00fdm proch\u00e1z\u00ed pomoc\u00ed center kompetence.<\/p>\n<p><img decoding=\"async\" alt=\"Co n\u00e1m pomohlo rychle p\u0159ej\u00edt na online prodej v nov\u00fdch podm\u00ednk\u00e1ch.\" src=\"\/wp-content\/uploads\/2020\/09\/fabee1de52c10790c33bb2d08935a657.jpg\" style=\"display:block;margin: 0 auto;\" \/>A tady je checklist<\/p>\n<p>T\u00edmto se dosahuje mnoha c\u00edl\u016f. Jde o verzionov\u00e1n\u00ed API, a feature toggle, aby se p\u0159ede\u0161lo probl\u00e9m\u016fm s releasov\u00e1n\u00edm, a tak\u00e9 o dosa\u017een\u00ed takov\u00e9 \u00farovn\u011b pokryt\u00ed r\u016fzn\u00fdmi testy, kdy by testov\u00e1n\u00ed bylo pln\u011b automatizovan\u00e9, nasazen\u00ed bezprobl\u00e9mov\u00e9 a dal\u0161\u00ed.<\/p>\n<p>\u010ctvrt\u00fdm pil\u00ed\u0159em jsou architektonick\u00e9 principy a technick\u00e1 \u0159e\u0161en\u00ed. O architektu\u0159e lze mluvit dlouho a obs\u00e1hle, ale cht\u011bl bych zd\u016fraznit p\u00e1r princip\u016f, na kter\u00e9 bych se cht\u011bl zam\u011b\u0159it.<\/p>\n<p>Za prv\u00e9, je nutn\u00e9 vyb\u00edrat specializovan\u00e9 n\u00e1stroje pro konkr\u00e9tn\u00ed \u00fakoly. Ano, zn\u00ed to samoz\u0159ejm\u011b a je jasn\u00e9, \u017ee h\u0159eb\u00edky je t\u0159eba zatloukat kladivem a rozeb\u00edrat n\u00e1ramkov\u00e9 hodinky speci\u00e1ln\u00edmi \u0161roubov\u00e1ky. Ale v na\u0161\u00ed dob\u011b se mnoh\u00e9 n\u00e1stroje sna\u017e\u00ed o univerzalizaci, aby pokryly maxim\u00e1ln\u00ed segment u\u017eivatel\u016f: datab\u00e1ze, cache, frameworky a dal\u0161\u00ed. Nap\u0159\u00edklad, pokud vezmeme datab\u00e1zi MongoDB, funguje s v\u00edcedokumentov\u00fdmi transakcemi, zat\u00edmco datab\u00e1ze Oracle pracuje s jsony. A zd\u00e1lo by se, \u017ee v\u0161e lze pou\u017e\u00edt na v\u0161e. Ale pokud obhajujeme v\u00fdkon, mus\u00edme jasn\u011b porozum\u011bt siln\u00fdm a slab\u00fdm str\u00e1nk\u00e1m ka\u017ed\u00e9ho n\u00e1stroje a pou\u017e\u00edvat ty, kter\u00e9 pot\u0159ebujeme pro na\u0161i t\u0159\u00eddu \u00fakol\u016f.&nbsp;<\/p>\n<p>Za druh\u00e9, p\u0159i n\u00e1vrhu syst\u00e9m\u016f by ka\u017ed\u00e9 zv\u00fd\u0161en\u00ed slo\u017eitosti m\u011blo b\u00fdt od\u016fvodn\u011bn\u00e9. Mus\u00edme si to st\u00e1le p\u0159ipom\u00ednat, princip n\u00edzk\u00e9 vazby je v\u0161em zn\u00e1m\u00fd. Mysl\u00edm, \u017ee by m\u011bl b\u00fdt aplikov\u00e1n jak na \u00farovni konkr\u00e9tn\u00edho slu\u017eby, tak na \u00farovni cel\u00e9ho syst\u00e9mu a na \u00farovni architektonick\u00e9 krajiny. D\u016fle\u017eit\u00e1 je tak\u00e9 schopnost horizont\u00e1ln\u00edho \u0161k\u00e1lov\u00e1n\u00ed ka\u017ed\u00e9 komponenty syst\u00e9mu p\u0159i zat\u00ed\u017een\u00ed. Pokud tuto schopnost m\u00e1me, \u0161k\u00e1lov\u00e1n\u00ed nebude \u017e\u00e1dn\u00fd probl\u00e9m.<\/p>\n<p>Pokud jde o technick\u00e1 \u0159e\u0161en\u00ed, po\u017e\u00e1dali jsme produktov\u00e9 t\u00fdmy, aby p\u0159ipravily \u010derstvou sadu doporu\u010den\u00ed, n\u00e1pad\u016f a \u0159e\u0161en\u00ed, kter\u00e1 realizovaly v pr\u016fb\u011bhu p\u0159\u00edpravy na dal\u0161\u00ed vlnu zat\u00ed\u017een\u00ed.<\/p>\n<h2>Cache<\/h2>\n<p>Je t\u0159eba v\u011bnovat obzvl\u00e1\u0161tn\u00ed pozornost v\u00fdb\u011bru lok\u00e1ln\u00edch a distribuovan\u00fdch cache. N\u011bkdy d\u00e1v\u00e1 smysl pou\u017e\u00edvat oboj\u00ed v r\u00e1mci jednoho syst\u00e9mu. Nap\u0159\u00edklad m\u00e1me syst\u00e9my, kde \u010d\u00e1st dat je v podstat\u011b v\u00fdstavn\u00edm cache, co\u017e znamen\u00e1, \u017ee zdroj aktualizac\u00ed se nach\u00e1z\u00ed za samotn\u00fdm syst\u00e9mem a syst\u00e9my tato data nem\u011bn\u00ed. Pro tento p\u0159\u00edstup pou\u017e\u00edv\u00e1me lok\u00e1ln\u00ed Caffeine Cache.&nbsp;<\/p>\n<p>A existuj\u00ed data, kter\u00e1 syst\u00e9m aktivn\u011b m\u011bn\u00ed v pr\u016fb\u011bhu provozu, a zde ji\u017e pou\u017e\u00edv\u00e1me distribuovan\u00fd cache s Hazelcastem. Tento p\u0159\u00edstup n\u00e1m umo\u017e\u0148uje vyu\u017e\u00edvat v\u00fdhody distribuovan\u00e9ho cache tam, kde jsou skute\u010dn\u011b pot\u0159eba, a minimalizovat n\u00e1klady na slu\u017ebu p\u0159i cirkulaci dat clusteru Hazelcast tam, kde se tomu m\u016f\u017eeme vyhnout. O cache jsme ji\u017e hodn\u011b psali. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/490912\/\"><u>zde <\/u><\/a><\/noindex>a <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/504400\/\"><u>zde<\/u><\/a><\/noindex>.<\/p>\n<p>Krom\u011b toho zm\u011bna serializ\u00e1toru na Kryo v Hazelcast n\u00e1m p\u0159inesla slu\u0161n\u00fd n\u00e1r\u016fst v\u00fdkonu. A p\u0159echod z ReplicatedMap na IMap + Near Cache v Hazelcast n\u00e1m umo\u017enil minimalizovat pohyb dat v clusteru.&nbsp;<\/p>\n<p>Mal\u00fd tip: p\u0159i hromadn\u00e9 invalidaci cache se n\u011bkdy osv\u011bd\u010duje taktika oh\u0159evu druh\u00e9 cache s n\u00e1sledn\u00fdm p\u0159epnut\u00edm na ni. Na prvn\u00ed pohled by se mohlo zd\u00e1t, \u017ee p\u0159i tomto p\u0159\u00edstupu bychom m\u011bli m\u00edt dvojit\u00e9 vyu\u017eit\u00ed pam\u011bti, av\u0161ak v praxi se v t\u011bch syst\u00e9mech, kde bylo toto praktikov\u00e1no, spot\u0159eba pam\u011bti sni\u017eovala.<\/p>\n<h2>Reaktivn\u00ed stack<\/h2>\n<p>Pou\u017e\u00edv\u00e1me reaktivn\u00ed stack v ji\u017e pom\u011brn\u011b velk\u00e9m po\u010dtu syst\u00e9m\u016f. V na\u0161em p\u0159\u00edpad\u011b je to Webflux nebo Kotlin s korutinami. Reaktivn\u00ed stack je obzvl\u00e1\u0161\u0165 efektivn\u00ed tam, kde o\u010dek\u00e1v\u00e1me pomal\u00e9 operace vstupu a v\u00fdstupu. Nap\u0159\u00edklad p\u0159i vol\u00e1n\u00ed pomal\u00fdch slu\u017eeb, pr\u00e1ci se souborov\u00fdm syst\u00e9mem nebo syst\u00e9my ukl\u00e1d\u00e1n\u00ed.<\/p>\n<p>Nejd\u016fle\u017eit\u011bj\u0161\u00edm principem je vyh\u00fdbat se blokuj\u00edc\u00edm vol\u00e1n\u00edm. Pod kapotou reaktivn\u00edch framework\u016f b\u011b\u017e\u00ed omezen\u00fd po\u010det \u017eiv\u00fdch servisn\u00edch vl\u00e1ken. Pokud nebezpe\u010dn\u011b umo\u017en\u00edme p\u0159\u00edm\u00e9 blokuj\u00edc\u00ed vol\u00e1n\u00ed, jako je vol\u00e1n\u00ed JDBC ovlada\u010de, syst\u00e9m se jednodu\u0161e zastav\u00ed.&nbsp;<\/p>\n<p>Sna\u017ete se p\u0159ev\u00e1d\u011bt chyby na vlastn\u00ed runtime v\u00fdjimky. Skute\u010dn\u00fd tok vykon\u00e1v\u00e1n\u00ed programu se p\u0159en\u00e1\u0161\u00ed k reaktivn\u00edm framework\u016fm, prov\u00e1d\u011bn\u00ed k\u00f3du se st\u00e1v\u00e1 nelini\u00e1rn\u00edm. Proto je velmi obt\u00ed\u017en\u00e9 diagnostikovat probl\u00e9my pomoc\u00ed stack trace. \u0158e\u0161en\u00edm je tedy vytv\u00e1\u0159en\u00ed srozumiteln\u00fdch objektivn\u00edch runtime v\u00fdjimek na ka\u017edou chybu.<\/p>\n<h2>Elasticsearch<\/h2>\n<p>P\u0159i pou\u017eit\u00ed Elasticsearch nevyb\u00edrejte nepou\u017e\u00edvan\u00e1 data. Toto je v podstat\u011b velmi jednoduch\u00fd tip, ale \u010dasto se na n\u011bj zapom\u00edn\u00e1. Pokud pot\u0159ebujete vybrat v\u00edce ne\u017e 10 tis\u00edc z\u00e1znam\u016f najednou, je t\u0159eba pou\u017e\u00edt Scroll. V analogii to trochu p\u0159ipom\u00edn\u00e1 kurzor v rela\u010dn\u00ed datab\u00e1zi.&nbsp;<\/p>\n<p>Nepou\u017e\u00edvejte postfilter bez nutnosti. P\u0159i velk\u00fdch datech v hlavn\u00edm v\u00fdb\u011bru tato operace v\u00fdrazn\u011b zat\u011b\u017euje datab\u00e1zi.&nbsp;<\/p>\n<p>Pou\u017e\u00edvejte hromadn\u00e9 operace tam, kde je to aplikovateln\u00e9.<\/p>\n<h2>API<\/h2>\n<p>P\u0159i n\u00e1vrhu API zohledn\u011bte po\u017eadavky na minimalizaci p\u0159en\u00e1\u0161en\u00fdch dat. To je obzvl\u00e1\u0161\u0165 d\u016fle\u017eit\u00e9 p\u0159i spojen\u00ed s frontendem: pr\u00e1v\u011b na tomto rozhran\u00ed opou\u0161t\u00edme kan\u00e1ly na\u0161ich datov\u00fdch center a pracujeme u\u017e na kan\u00e1lu spojuj\u00edc\u00edm n\u00e1s s klientem. Pokud na n\u011bm nastanou jak\u00e9koli probl\u00e9my, p\u0159\u00edli\u0161 vysok\u00fd provoz zp\u016fsob\u00ed negativn\u00ed u\u017eivatelskou zku\u0161enost.<\/p>\n<p>A nakonec, nevyl\u00e9vejte v\u0161echny \u00fadaje, p\u0159istupujte k smlouv\u011b mezi spot\u0159ebiteli a dodavateli jasn\u011b.<\/p>\n<h2>Organiza\u010dn\u00ed transformace<\/h2>\n<p><em>Elena Jero\u0161kina, z\u00e1stupkyn\u011b \u0159editele pro IT<\/em><\/p>\n<p>V okam\u017eiku, kdy do\u0161lo ke karant\u00e9n\u011b a vznikla pot\u0159eba rychle zvy\u0161ovat tempo rozvoje online a zav\u00e1d\u011bt omnichannel slu\u017eby, jsme ji\u017e byli v procesu organiza\u010dn\u00ed transformace.&nbsp;<\/p>\n<p>\u010c\u00e1st na\u0161\u00ed struktury byla p\u0159evedena na pr\u00e1ci podle princip\u016f a praktik produktov\u00e9ho p\u0159\u00edstupu. Vytvo\u0159ily se t\u00fdmy, kter\u00e9 nyn\u00ed odpov\u00eddaj\u00ed za fungov\u00e1n\u00ed a rozvoj ka\u017ed\u00e9ho produktu. Zam\u011bstnanci v t\u011bchto t\u00fdmech jsou zapojeni na 100 % a organizuj\u00ed svou pr\u00e1ci podle scrumu nebo kanbanu, v z\u00e1vislosti na tom, co je pro n\u011b preferovan\u011bj\u0161\u00ed, nastavuj\u00ed dodac\u00ed proces, zav\u00e1d\u011bj\u00ed technick\u00e9 praktiky, praktiky zaji\u0161t\u011bn\u00ed kvality a mnoh\u00e9 dal\u0161\u00ed.<\/p>\n<p>Ne\u0161\u0165astnou n\u00e1hodou byla v\u011bt\u0161ina t\u011bchto produktov\u00fdch t\u00fdm\u016f u n\u00e1s pr\u00e1v\u011b v oblasti online a omnichannel slu\u017eeb. To n\u00e1m umo\u017enilo v nejkrat\u0161\u00ed dob\u011b (opravdu, doslova za dva dny) p\u0159ej\u00edt do re\u017eimu dom\u00e1c\u00ed pr\u00e1ce bez ztr\u00e1ty efektivity. Nastaven\u00fd proces umo\u017enil rychlou adaptaci na nov\u00e9 podm\u00ednky pr\u00e1ce a udr\u017een\u00ed dostate\u010dn\u011b vysok\u00e9ho tempa dod\u00e1vky nov\u00e9 funk\u010dnosti.<\/p>\n<p>Krom\u011b toho jsme pot\u0159ebovali pos\u00edlit ty t\u00fdmy, kter\u00e9 se nach\u00e1zely na front\u011b online byznysu. V tu chv\u00edli bylo jasn\u00e9, \u017ee to m\u016f\u017eeme ud\u011blat pouze na \u00fakor intern\u00edch zdroj\u016f. A p\u0159ibli\u017en\u011b 50 lid\u00ed b\u011bhem dvou t\u00fddn\u016f zm\u011bnilo oblast, ve kter\u00e9 dosud pracovali, a zapojili se do pr\u00e1ce na nov\u00e9m produktu.&nbsp;<\/p>\n<p>K tomu nebylo zapot\u0159eb\u00ed \u017e\u00e1dn\u00fdch speci\u00e1ln\u00edch mana\u017eersk\u00fdch \u00fasil\u00ed, proto\u017ee vedle organizace vlastn\u00edho procesu, technick\u00e9ho zdokonalov\u00e1n\u00ed produktu, a praxe zaji\u0161t\u011bn\u00ed kvality, u\u010d\u00edme na\u0161e t\u00fdmy sebeorganizaci \u2014 \u0159\u00eddit vlastn\u00ed v\u00fdrobn\u00ed proces bez zapojen\u00ed administrativn\u00edch zdroj\u016f.<\/p>\n<p>Veden\u00ed zdroj\u016f jsme mohli soust\u0159edit tam, kde to bylo v danou chv\u00edli nezbytn\u00e9 \u2014 na koordinaci s byznysem: Co je nyn\u00ed pro na\u0161e klienty d\u016fle\u017eit\u00e9, jak\u00e9 funkce je t\u0159eba realizovat jako prvn\u00ed, co je pot\u0159eba ud\u011blat pro zv\u00fd\u0161en\u00ed na\u0161\u00ed kapacity v dod\u00e1vk\u00e1ch a zpracov\u00e1n\u00ed objedn\u00e1vek. To v\u0161echno, spolu s jasn\u00fdm rolov\u00fdm modelem, umo\u017enilo v tomto obdob\u00ed zat\u00ed\u017eit na\u0161e v\u00fdrobn\u00ed toky vytv\u00e1\u0159en\u00ed hodnoty t\u00edm, co je skute\u010dn\u011b d\u016fle\u017eit\u00e9 a pot\u0159ebn\u00e9.&nbsp;<\/p>\n<p>Je jasn\u00e9, \u017ee p\u0159i pr\u00e1ci na d\u00e1lku a vysok\u00e9m tempu zm\u011bn, kdy od \u00fa\u010dasti ka\u017ed\u00e9ho z\u00e1vis\u00ed obchodn\u00ed ukazatele, nelze spol\u00e9hat pouze na vnit\u0159n\u00ed pocity typu \"Jde n\u00e1m to dob\u0159e? No, celkem to jde.\" Pot\u0159ebujeme objektivn\u00ed metriky v\u00fdrobn\u00edho procesu. Ty m\u00e1me k dispozici, jsou dostupn\u00e9 ka\u017ed\u00e9mu, kdo se zaj\u00edm\u00e1 o metriky produktov\u00fdch t\u00fdm\u016f. P\u0159edev\u0161\u00edm samotn\u00e9mu t\u00fdmu, byznysu, spolupracovn\u00edk\u016fm a veden\u00ed.<\/p>\n<p>Ka\u017ed\u00e9 dva t\u00fddny se s ka\u017ed\u00fdm t\u00fdmem konaj\u00ed statusy, kde b\u011bhem 10 minut analyzujeme metriky, identifikujeme \u00fazk\u00e1 m\u00edsta v\u00fdrobn\u00edho procesu a vytv\u00e1\u0159\u00edme spole\u010dn\u00e1 \u0159e\u0161en\u00ed: co m\u016f\u017eeme ud\u011blat pro odstran\u011bn\u00ed t\u011bchto \u00fazk\u00fdch m\u00edst. Zde se tak\u00e9 m\u016f\u017eete hned obr\u00e1tit na veden\u00ed o pomoc, pokud je n\u011bjak\u00fd identifikovan\u00fd probl\u00e9m mimo dosah t\u00fdm\u016f, nebo se poradit s kolegy, kte\u0159\u00ed se s podobn\u00fdm probl\u00e9mem ji\u017e setkali.<\/p>\n<p>Nicm\u00e9n\u011b ch\u00e1peme, \u017ee k n\u00e1sobn\u00e9mu urychlen\u00ed (co\u017e je pr\u00e1v\u011b ten c\u00edl, kter\u00fd si klademe) se je\u0161t\u011b mus\u00edme mnoh\u00e9mu nau\u010dit a zav\u00e9st do na\u0161\u00ed ka\u017edodenn\u00ed pr\u00e1ce. Pr\u00e1v\u011b nyn\u00ed pokra\u010dujeme ve \u0161k\u00e1lov\u00e1n\u00ed produktov\u00e9ho p\u0159\u00edstupu na dal\u0161\u00ed t\u00fdmy a nov\u00e9 produkty. K tomu jsme se museli nau\u010dit nov\u00fd form\u00e1t online \u0161kol pro metodiky.<\/p>\n<p>Metodologov\u00e9, lid\u00e9, kte\u0159\u00ed pom\u00e1haj\u00ed t\u00fdm\u016fm budovat procesy, zlep\u0161ovat komunikaci a zvy\u0161ovat efektivitu pr\u00e1ce, jsou v podstat\u011b agenty zm\u011bny. Pr\u00e1v\u011b te\u010f absolventi na\u0161eho prvn\u00edho ro\u010dn\u00edku pracuj\u00ed s t\u00fdmy a pom\u00e1haj\u00ed jim k \u00fasp\u011bchu.&nbsp;<\/p>\n<p>Mysl\u00edm, \u017ee st\u00e1vaj\u00edc\u00ed situace n\u00e1m otev\u00edr\u00e1 mo\u017enosti a perspektivy, kter\u00e9 si mo\u017en\u00e1 je\u0161t\u011b zcela neuv\u011bdomujeme. Ale zku\u0161enosti a praxe, kter\u00e9 pr\u00e1v\u011b te\u010f z\u00edsk\u00e1v\u00e1me, potvrzuj\u00ed, \u017ee jsme zvolili spr\u00e1vnou cestu rozvoje, neztrat\u00edme tyto nov\u00e9 p\u0159\u00edle\u017eitosti v budoucnu a budeme moci stejn\u011b efektivn\u011b reagovat na v\u00fdzvy, kter\u00e9 p\u0159ed \"Sportmasterem\" budou st\u00e1t.<\/p>\n<h3>Z\u00e1v\u011bry<\/h3>\n<p>B\u011bhem t\u00e9to n\u00e1ro\u010dn\u00e9 doby jsme formulovali hlavn\u00ed principy, na kter\u00fdch stoj\u00ed v\u00fdvoj softwaru, kter\u00e9 si mysl\u00edm, \u017ee budou relevantn\u00ed pro ka\u017edou spole\u010dnost, kter\u00e1 se t\u00edm zab\u00fdv\u00e1.<\/p>\n<p><strong>Lid\u00e9<\/strong>. To je to, na \u010dem to cel\u00e9 spo\u010d\u00edv\u00e1. Zam\u011bstnanci by m\u011bli m\u00edt radost z pr\u00e1ce, rozum\u011bt c\u00edl\u016fm spole\u010dnosti a c\u00edl\u016fm produkt\u016f, na kter\u00fdch pracuj\u00ed. A samoz\u0159ejm\u011b by se m\u011bli profesion\u00e1ln\u011b rozv\u00edjet.&nbsp;<\/p>\n<p><strong>Technologie<\/strong>. Je nutn\u00e9, aby spole\u010dnost zral\u00fdm zp\u016fsobem p\u0159istupovala k pr\u00e1ci se sv\u00fdm technologick\u00fdm stackem a zvy\u0161ovala kompetence tam, kde je to skute\u010dn\u011b pot\u0159ebn\u00e9. Zn\u00ed to velmi jednodu\u0161e a samoz\u0159ejm\u011b. A velmi \u010dasto se to ignoruje.<\/p>\n<p><strong>Procesy<\/strong>. Je d\u016fle\u017eit\u00e9 spr\u00e1vn\u011b nastavit pr\u00e1ci produktov\u00fdch t\u00fdm\u016f a center kompetenc\u00ed, nav\u00e1zat interakci s byznysem, abychom s n\u00edm mohli pracovat jako s partnerem.<\/p>\n<\/p>\n<p>Tak\u017ee, p\u0159ibli\u017en\u011b tak jsme p\u0159e\u017eili. Hlavn\u00ed teze sou\u010dasnosti se op\u011bt potvrdila, zvu\u010dn\u011b m\u011b pra\u0161tila p\u0159es \u010delo.<\/p>\n<p>I kdy\u017e jsi obrovsk\u00fd offline business s mnoha obchody a spoustou m\u011bst, rozv\u00edjej sv\u016fj online. To nen\u00ed jen dal\u0161\u00ed kan\u00e1l prodeje nebo kr\u00e1sn\u00e1 aplikace, p\u0159es kterou si tak\u00e9 m\u016f\u017ee\u0161 n\u011bco koupit (a nav\u00edc proto\u017ee konkurence m\u00e1 tak\u00e9 kr\u00e1snou). To nen\u00ed rezerva pro p\u0159\u00edpad nouze, kter\u00e1 pom\u016f\u017ee p\u0159e\u010dkat bou\u0159i.<\/p>\n<p>Je to naprost\u00e1 nutnost. Na kterou by m\u011bly b\u00fdt p\u0159ipraveny nejen va\u0161e technick\u00e9 kapacity a infrastruktura, ale i lid\u00e9 a procesy. V\u017edy\u0165 je mo\u017en\u00e9 rychle dokoupit pam\u011b\u0165, m\u00edsto, nasadit nov\u00e9 instance a tak d\u00e1le za p\u00e1r hodin. Ale lidi a procesy je t\u0159eba na to p\u0159ipravovat dop\u0159edu.<\/p>\n<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/519376\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb. \u042f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u0441 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0448\u0438\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438. \u0412 \u043f\u0435\u0440\u0432\u044b\u0435 \u0434\u043d\u0438 \u043d\u043e\u0432\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0439 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043e\u0444\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u0430\u00bb \u0437\u0430\u043c\u0435\u0440, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043d\u0430\u0448 \u043e\u043d\u043b\u0430\u0439\u043d-\u043a\u0430\u043d\u0430\u043b, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0432 \u0447\u0430\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0430 \u0430\u0434\u0440\u0435\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0443, \u0432\u043e\u0437\u0440\u043e\u0441\u043b\u0430 \u0432 10 \u0440\u0430\u0437. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94520","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.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\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\/cs\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\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=\"2020-09-18T05:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-18T05:42:20+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\udd47 Co n\u00e1m pomohlo rychle se p\u0159izp\u016fsobit online prodeji v nov\u00fdch podm\u00ednk\u00e1ch | ProHoster","description":"Ahoj! Jmenuji se Michail, jsem z\u00e1stupcem \u0159editele pro IT ve spole\u010dnosti \"Sportmaster.\"","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\u0427\u0442\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u043d\u0430\u043c \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043e\u043d\u043b\u0430\u0439\u043d-\u0442\u043e\u0440\u0433\u043e\u0432\u043b\u044e \u0432 \u043d\u043e\u0432\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442!\u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041c\u0438\u0445\u0430\u0438\u043b, \u044f \u0437\u0430\u043c\u0435\u0441\u0442\u0438\u0442\u0435\u043b\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0430 \u043f\u043e \u0418\u0422 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u00ab\u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440\u00bb.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","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":"2020-09-18T05:42:20+00:00","article:modified_time":"2020-09-18T05:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94520","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:25:23","updated":"2022-09-29 04:36:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=94520"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/94520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/94521"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=94520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=94520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=94520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}