{"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\/ro\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","title":{"rendered":"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bun\u0103!<\/p>\n<p>M\u0103 numesc Mihail, sunt director adjunct IT la compania \u201eSportmaster\u201d. Vreau s\u0103 \u00eemp\u0103rt\u0103\u0219esc o poveste despre cum am f\u0103cut fa\u021b\u0103 dificult\u0103\u021bilor ap\u0103rute \u00een timpul pandemiei.<\/p>\n<p>\u00cen primele zile ale noilor realit\u0103\u021bi, formatul obi\u0219nuit de comer\u021b offline \u201eSportmaster\u201d s-a oprit, iar volumul de activitate pe canalul nostru online, \u00een special \u00een ceea ce prive\u0219te livrarea la adresa clientului, a crescut de 10 ori. \u00cen c\u00e2teva s\u0103pt\u0103m\u00e2ni, am transformat un imens business offline \u00eentr-unul online, adapt\u00e2nd serviciul la nevoile clien\u021bilor no\u0219tri.<\/p>\n<p>\u00cen esen\u021b\u0103, ceea ce a fost considerat o opera\u021biune secundar\u0103 a devenit activitatea principal\u0103. Importan\u021ba fiec\u0103rei comenzi online a crescut extrem de mult. Trebuia s\u0103 p\u0103str\u0103m fiecare leu pe care clientul \u00eel aducea \u00een companie.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/3e1dfc21636b29259fd29143e4a53f78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Pentru a r\u0103spunde rapid la cererile clien\u021bilor, am deschis un centru de contact suplimentar \u00een sediul principal al companiei, iar acum putem primi aproximativ 285 de mii de apeluri pe s\u0103pt\u0103m\u00e2n\u0103. \u00cen acela\u0219i timp, am transferat 270 de magazine \u00eentr-un nou format de lucru f\u0103r\u0103 contact \u0219i sigur, ceea ce le-a permis clien\u021bilor s\u0103 \u00ee\u0219i primeasc\u0103 comenzile, iar angaja\u021bilor s\u0103 \u00ee\u0219i p\u0103streze locurile de munc\u0103.<\/p>\n<p>\u00cen procesul de transformare, am avut dou\u0103 probleme principale. Pe de o parte, volumul de activitate asupra resurselor noastre online a crescut semnificativ (cum am dep\u0103\u0219it acest lucru ne va povesti Serghei). Pe de alt\u0103 parte, fluxul de opera\u021biuni rare (p\u00e2n\u0103 la COVID) a crescut exponen\u021bial, ceea ce a necesitat un volum mare de automatizare rapid\u0103. Pentru a rezolva aceast\u0103 problem\u0103, a trebuit s\u0103 realoc\u0103m rapid resurse de la direc\u021biile care erau anterior principale. Cum am f\u0103cut fa\u021b\u0103 acestei situa\u021bii \u2014 ne va spune Elena.<\/p>\n<h2>Exploatarea serviciilor online<\/h2>\n<p><em>Kolesnikov Serghei, responsabil pentru exploatarea magazinului online \u0219i a microserviciilor<\/em><\/p>\n<p>Din momentul \u00een care magazinele noastre de retail au \u00eenceput s\u0103 se \u00eenchid\u0103 pentru vizitatori, am \u00eenceput s\u0103 \u00eenregistr\u0103m o cre\u0219tere a unor metrici, cum ar fi num\u0103rul de utilizatori, num\u0103rul de comenzi efectuate \u00een aplica\u021bia noastr\u0103, num\u0103rul de solicit\u0103ri c\u0103tre aplica\u021bii.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/5094662d75314169328e124d0ae9f5b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Num\u0103rul comenzilor din 18 p\u00e2n\u0103 pe 31 martie<img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/4714a5d5595042b66b33f5f93b002734.jpg\" style=\"display:block;margin: 0 auto;\" \/>Num\u0103rul de solicit\u0103ri c\u0103tre microserviciile de plat\u0103 online<img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/9145afe051f8d4d4da0e00a69d469b92.jpg\" style=\"display:block;margin: 0 auto;\" \/>Num\u0103rul de comenzi plasate pe site<\/p>\n<p>\u00cen prima grafic\u0103 vedem c\u0103 cre\u0219terea a fost de aproximativ 14 ori, iar \u00een a doua \u2014 4 ori. Consider\u0103m c\u0103 cea mai reprezentativ\u0103 metric\u0103 \u00een acest caz este timpul de r\u0103spuns al aplica\u021biilor noastre.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/bfe187bea02c83ce9d9e3286c486f85b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u00cen acest grafic vedem r\u0103spunsul fronturilor \u0219i aplica\u021biilor, iar pentru noi s-a stabilit c\u0103 nu am observat o cre\u0219tere semnificativ\u0103.<\/p>\n<p>\u00cen primul r\u00e2nd, acest lucru se datoreaz\u0103 faptului c\u0103 am \u00eenceput lucr\u0103rile preg\u0103titoare la sf\u00e2r\u0219itul anului 2019. \u00cen prezent, serviciile noastre sunt rezervate, asigur\u0103m redundan\u021ba la nivelul serverelor fizice, al sistemelor de virtualizare, Docker-elor \u0219i al serviciilor din acestea. \u00cen acela\u0219i timp, resursele serverelor noastre sunt capabile s\u0103 fac\u0103 fa\u021b\u0103 unor sarcini multiple.<\/p>\n<p>Principalul instrument care ne-a ajutat \u00een toat\u0103 aceast\u0103 poveste a fost sistemul nostru de monitorizare. Totu\u0219i, cu doar c\u00e2teva timp \u00een urm\u0103 nu aveam un sistem unificat care s\u0103 permit\u0103 colectarea metricalor la toate nivelurile, de la echipamentul fizic \u0219i hardware la metricalor de business.&nbsp;<\/p>\n<p>Formal, monitorizarea era prezent\u0103 \u00een companie, dar de regul\u0103 era dispersat\u0103 \u0219i era \u00een responsabilitatea unor subdiviziuni specifice. De fapt, atunci c\u00e2nd ap\u0103rea un incident, aproape niciodat\u0103 nu aveam o \u00een\u021belegere unificat\u0103 a ceea ce s-a \u00eent\u00e2mplat, nu exista informare, \u0219i adesea ducea la o c\u0103utare \u00een cerc pentru localizarea problemei \u0219i solu\u021bionarea acesteia.<\/p>\n<p>La un moment dat am \u00eenceput s\u0103 ne g\u00e2ndim \u0219i am decis c\u0103 este suficient \u2014 avem nevoie de un sistem unificat pentru a vedea \u00eentreaga imagine. Tehnologiile principale care intr\u0103 \u00een stiva noastr\u0103 sunt Zabbix ca centru de alertare \u0219i stocare a metricalor, Prometheus pentru colectarea \u0219i stocarea metricalor aplica\u021biilor, stiva ELK pentru logare \u0219i stocarea datelor \u00eentregului sistem de monitorizare, precum \u0219i Grafana pentru vizualizare, Swagger, Docker \u0219i alte lucruri utile \u0219i familiarizate vou\u0103.<\/p>\n<p>\u00cen plus, folosim nu doar tehnologiile disponibile pe pia\u021b\u0103, ci \u0219i dezvolt\u0103m unele lucruri pe cont propriu. De exemplu, cre\u0103m servicii pentru integrarea sistemelor \u00eentre ele, adic\u0103 un anumit API pentru colectarea metricalor. De asemenea, lucr\u0103m la propriile noastre sisteme de monitorizare \u2014 la nivel de metricale de business folosim teste UI. Plus un bot pe Telegram pentru notificarea echipelor.<\/p>\n<p>\u00cen plus, ne str\u0103duim s\u0103 facem sistemul de monitorizare accesibil echipelor, astfel \u00eenc\u00e2t acestea s\u0103 poat\u0103 stoca \u0219i lucra singure cu metricalele lor, inclusiv s\u0103 configureze alertele pentru anumite metricale \u00eenguste, cu utilizare mai pu\u021bin r\u0103sp\u00e2ndit\u0103.&nbsp;<\/p>\n<p>\u00cen cadrul \u00eentregii sisteme, ne str\u0103duim s\u0103 fim proactivi \u0219i s\u0103 localiz\u0103m incidentele c\u00e2t mai rapid. De asemenea, num\u0103rul microserviciilor \u0219i al sistemelor noastre a crescut semnificativ \u00een ultima vreme, astfel c\u0103 num\u0103rul integr\u0103rilor cre\u0219te. \u00cen cadrul optimiz\u0103rii procesului de diagnosticare a incidentelor la nivel de integrare, dezvolt\u0103m un sistem care permite efectuarea de verific\u0103ri \u00eentre sisteme \u0219i generarea de rezultate, ceea ce ajut\u0103 la identificarea problemelor fundamentale legate de importuri \u0219i interac\u021biunea dintre sisteme.&nbsp;<\/p>\n<p>Desigur, mai avem mult de crescut \u0219i de dezvoltat \u00een ceea ce prive\u0219te exploatarea sistemelor, \u0219i lucr\u0103m activ la acest lucru. Pute\u021bi citi mai multe despre sistemul nostru de monitorizare <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><u>aici<\/u><\/a><\/noindex>.&nbsp;<\/p>\n<h2>Teste tehnice&nbsp;<\/h2>\n<p><em>Serghei Orlov, conduce centrul de competen\u021b\u0103 \u00een dezvoltarea web \u0219i mobil\u0103<\/em><\/p>\n<p>De la \u00eenceputul \u00eenchiderii magazinelor fizice, am fost nevoi\u021bi s\u0103 ne confrunt\u0103m cu diverse provoc\u0103ri din punct de vedere al dezvolt\u0103rii. \u00cen primul r\u00e2nd, o cre\u0219tere a sarcinii de lucru. E clar c\u0103, dac\u0103 nu sunt luate m\u0103surile corespunz\u0103toare, atunci, \u00een cazul unei sarcini mari aplicate pe sistem, acesta s-ar putea transforma cu un zgomot trist \u00een dovleac, fie c\u0103 \u0219i-ar pierde complet performan\u021ba, fie c\u0103 ar deveni complet inutilizabil.<\/p>\n<p>Al doilea aspect, ceva mai pu\u021bin evident, este c\u0103 sistemul sub o sarcin\u0103 mare trebuia schimbat foarte repede, adapt\u00e2ndu-se schimb\u0103rilor \u00een procesele de afaceri. Uneori, de c\u00e2teva ori pe zi. \u00cen multe companii exist\u0103 o regul\u0103 c\u0103, \u00een timpul unor activit\u0103\u021bi de marketing de amploare, nu ar trebui s\u0103 se fac\u0103 modific\u0103ri \u00een sistem. Niciun fel de modific\u0103ri, las\u0103-l s\u0103 func\u021bioneze, at\u00e2ta timp c\u00e2t func\u021bioneaz\u0103.<\/p>\n<p>\u00cen cazul nostru, \u00een esen\u021b\u0103, a fost o vineri neagr\u0103 nesf\u00e2r\u0219it\u0103, \u00een care, \u00een acela\u0219i timp, trebuia s\u0103 schimb\u0103m sistemul. Orice gre\u0219eal\u0103, problem\u0103, eroare \u00een sistem ar fi costat foarte mult business-ul.<\/p>\n<p>Privind \u00eenainte, pot spune c\u0103 am reu\u0219it s\u0103 facem fa\u021b\u0103 acestor provoc\u0103ri, toate sistemele au rezistat sarcinii de lucru, s-au scalat u\u0219or \u0219i nu am avut probleme tehnice globale.<\/p>\n<p>Exist\u0103 patru piloni care sus\u021bin capacitatea sistemului de a gestiona sarcini variate de \u00eenc\u0103rcare. Primul dintre ei este monitorizarea, despre care a\u021bi citit mai sus. F\u0103r\u0103 un sistem de monitorizare bine structurat, este practic imposibil s\u0103 identifici punctele slabe ale sistemului. Un bun sistem de monitorizare este ca \u00eembr\u0103c\u0103mintea de acas\u0103, trebuie s\u0103 fie confortabil \u0219i adaptat nevoilor tale.<\/p>\n<p>Al doilea aspect este testarea. Ne trat\u0103m foarte serios acest aspect: scriem at\u00e2t teste unitare clasice, teste de integrare, teste de performan\u021b\u0103 \u0219i multe altele pentru fiecare sistem. De asemenea, redact\u0103m o strategie de testare \u0219i ne str\u0103duim s\u0103 ducem nivelul test\u0103rii la un punct \u00een care verific\u0103rile manuale s\u0103 nu mai fie necesare.<\/p>\n<p>Al treilea pilon este CI\/CD Pipeline. Procesele de construire, testare \u0219i desf\u0103\u0219urare a aplica\u021biei trebuie s\u0103 fie c\u00e2t mai automatizate, f\u0103r\u0103 interven\u021bii manuale. Subiectul CI\/CD Pipeline este destul de profund \u0219i \u00eel voi aborda doar \u00een treac\u0103t. Merit\u0103 men\u021bionat c\u0103 avem o list\u0103 de verificare pentru CI\/CD Pipeline, care este parcurs\u0103 de fiecare echip\u0103 de produs cu ajutorul centrelor de competen\u021b\u0103.<\/p>\n<p><img decoding=\"async\" alt=\"Ceea ce ne-a ajutat s\u0103 ne reorganiz\u0103m rapid pentru comer\u021bul online \u00een noile condi\u021bii\" src=\"\/wp-content\/uploads\/2020\/09\/fabee1de52c10790c33bb2d08935a657.jpg\" style=\"display:block;margin: 0 auto;\" \/>Iat\u0103 lista de verificare<\/p>\n<p>Astfel se ating foarte multe obiective. Aceasta include versionarea API-ului, feature toggle pentru a evita problemele cu lans\u0103rile \u00een mas\u0103, \u0219i asigurarea c\u0103 diferitele niveluri de teste sunt complet automatizate, desf\u0103\u0219ur\u0103rile s\u0103 fie f\u0103r\u0103 cusur \u0219i altele.<\/p>\n<p>Al patrulea pilon sunt principiile arhitecturale \u0219i solu\u021biile tehnice. Despre arhitectur\u0103 se poate vorbi mult \u0219i bine, dar vreau s\u0103 subliniez c\u00e2teva principii la care a\u0219 dori s\u0103 atrag aten\u021bia.<\/p>\n<p>\u00cen primul r\u00e2nd, trebuie s\u0103 alegem instrumente specializate pentru sarcini specifice. Da, sun\u0103 evident, \u0219i este clar c\u0103 pentru a bate cuie este necesar un ciocan, iar pentru a demonta ceasuri de m\u00e2n\u0103 sunt necesare \u0219urubelni\u021be speciale. \u00cens\u0103, \u00een epoca noastr\u0103, multe instrumente tind spre universalizare, pentru a acoperi un segment maxim de utilizatori: baze de date, cache-uri, framework-uri \u0219i altele. De exemplu, dac\u0103 lu\u0103m baza de date MongoDB, ea func\u021bioneaz\u0103 cu tranzac\u021bii multi-document, iar baza de date Oracle func\u021bioneaz\u0103 cu JSON-uri. \u0218i ar p\u0103rea c\u0103 totul poate fi folosit pentru orice. Dar, dac\u0103 militam pentru performan\u021b\u0103, trebuie s\u0103 \u00een\u021belegem clar punctele forte \u0219i slabe ale fiec\u0103rui instrument \u0219i s\u0103 utiliz\u0103m cele necesare pentru clasa noastr\u0103 de sarcini.&nbsp;<\/p>\n<p>\u00cen al doilea r\u00e2nd, atunci c\u00e2nd proiect\u0103m sisteme, fiecare cre\u0219tere a complexit\u0103\u021bii trebuie s\u0103 fie justificat\u0103. Trebuie s\u0103 p\u0103str\u0103m constant \u00een minte acest lucru, principiul low coupling este bine cunoscut. Cred c\u0103 acesta trebuie aplicat at\u00e2t la nivelul serviciului specific, c\u00e2t \u0219i la nivelul \u00eentregului sistem \u0219i la nivelul peisajului arhitectural. De asemenea, este important\u0103 capacitatea de scalare orizontal\u0103 a fiec\u0103rui component al sistemului sub presiune. Dac\u0103 avem aceast\u0103 capacitate, scalarea nu va fi o problem\u0103.<\/p>\n<p>C\u00e2nd vine vorba de solu\u021bii tehnice, am cerut echipelor de produs s\u0103 preg\u0103teasc\u0103 un set proasp\u0103t de recomand\u0103ri, idei \u0219i solu\u021bii pe care le-au implementat \u00een procesul de preg\u0103tire pentru urm\u0103toarea ond\u0103 de \u00eenc\u0103rcare.<\/p>\n<h2>Cache-uri<\/h2>\n<p>Este necesar s\u0103 abord\u0103m con\u0219tient alegerea cache-urilor locale \u0219i distribuite. Uneori are sens s\u0103 folosim at\u00e2t unele, c\u00e2t \u0219i altele \u00een cadrul aceluia\u0219i sistem. De exemplu, avem sisteme \u00een care o parte din date este practic un cache de vitrin\u0103, adic\u0103 sursa actualiz\u0103rilor se afl\u0103 \u00een afara sistemului, iar sistemele nu modific\u0103 aceste date. Pentru un astfel de abordare, folosim cache-ul local Caffeine.&nbsp;<\/p>\n<p>Exist\u0103 date care sunt active modificate de c\u0103tre sistem \u00een timpul func\u021bion\u0103rii, iar aici aplic\u0103m cache-ul distribuit cu Hazelcast. Aceast\u0103 abordare ne permite s\u0103 folosim avantajele cache-ului distribuit acolo unde sunt cu adev\u0103rat necesare \u0219i s\u0103 minimiz\u0103m costurile de servicii prin circula\u021bia datelor \u00een clusterul Hazelcast acolo unde putem s\u0103 ne descurc\u0103m f\u0103r\u0103. Am scris mult despre cache-uri. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/490912\/\"><u>aici <\/u><\/a><\/noindex>\u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/504400\/\"><u>aici<\/u><\/a><\/noindex>.<\/p>\n<p>\u00cen plus, schimbarea serializatorului \u00een Kryo \u00een Hazelcast ne-a adus un avans considerabil. De asemenea, trecerea de la ReplicatedMap la IMap + Near Cache \u00een Hazelcast ne-a permis s\u0103 minimiz\u0103m circula\u021bia datelor \u00een cadrul clusterei.&nbsp;<\/p>\n<p>Un sfat mic: la invalidarea \u00een mas\u0103 a cache-ului, uneori este aplicabil\u0103 tactica de pre\u00eenc\u0103lzire a unui al doilea cache, urmat\u0103 de comutarea pe acesta. Ar p\u0103rea c\u0103 abordarea aceasta ar trebui s\u0103 genereze un consum dublu de memorie, dar \u00een practic\u0103, \u00een sistemele unde s-a aplicat, consumul de memorie a sc\u0103zut.<\/p>\n<h2>Stack reactiv<\/h2>\n<p>Folosim stack-ul reactiv \u00eentr-un num\u0103r deja destul de mare de sisteme. \u00cen cazul nostru, acesta este Webflux sau Kotlin cu corutine. Stack-ul reactiv este deosebit de eficient acolo unde anticip\u0103m opera\u021biuni lente de input-output. De exemplu, apeluri la servicii lente, lucrul cu sistemul de fi\u0219iere sau cu sistemele de stocare.<\/p>\n<p>Cel mai important principiu este s\u0103 evit\u0103m apelurile blocante. Sub capot\u0103, cadrele reactive utilizeaz\u0103 un num\u0103r mic de fire de execu\u021bie de serviciu active. Dac\u0103 permitem cu neaten\u021bie un apel blocant direct, cum ar fi un apel al driver-ului JDBC, sistemul pur \u0219i simplu se va opri.&nbsp;<\/p>\n<p>\u00cencerca\u021bi s\u0103 transforma\u021bi erorile \u00een excep\u021bii runtime proprii. Fluxul real de execu\u021bie al programului se \u00eendreapt\u0103 c\u0103tre cadrele reactive, iar execu\u021bia codului devine nonlinear\u0103. Ca urmare, este foarte greu s\u0103 diagnostic\u0103m problemele pe baza stack trace-urilor. Solu\u021bia aici va fi crearea unor excep\u021bii runtime clare \u0219i obiective pentru fiecare eroare.<\/p>\n<h2>Elasticsearch<\/h2>\n<p>C\u00e2nd folosi\u021bi Elasticsearch, evita\u021bi selectarea datelor nefolosite. Acesta este, de principiu, un sfat simplu, dar cel mai adesea este exact ceea ce se uit\u0103. Dac\u0103 trebuie s\u0103 selecta\u021bi mai mult de 10.000 de \u00eenregistr\u0103ri odat\u0103, trebuie s\u0103 utiliza\u021bi Scroll. Dac\u0103 facem o analogie, aceasta este pu\u021bin similar\u0103 cu un cursor \u00een baza de date rela\u021bional\u0103.&nbsp;<\/p>\n<p>Nu utiliza\u021bi postfilter f\u0103r\u0103 necesitate. La date mari \u00een selec\u021bia principal\u0103, aceast\u0103 opera\u021biune \u00eencarc\u0103 semnificativ baza de date.&nbsp;<\/p>\n<p>Folosi\u021bi opera\u021biuni bulk acolo unde este cazul.<\/p>\n<h2>API<\/h2>\n<p>C\u00e2nd proiecta\u021bi API-ul, include\u021bi cerin\u021be pentru minimizarea datelor transmise. Acest lucru este deosebit de relevant \u00een leg\u0103tur\u0103 cu front-end-ul: exact la acest interfe\u021bei noi ne dep\u0103\u0219im canalele DC-urilor noastre \u0219i lucr\u0103m pe canalul care ne leag\u0103 de client. Dac\u0103 exist\u0103 cele mai mici probleme, un trafic prea mare provoac\u0103 o experien\u021b\u0103 negativ\u0103 pentru utilizator.<\/p>\n<p>\u0218i, \u00een cele din urm\u0103, nu arunca\u021bi toat\u0103 o gr\u0103mad\u0103 de date, aborda\u021bi clar contractul dintre consumatori \u0219i furnizori.<\/p>\n<h2>Transformare organiza\u021bional\u0103<\/h2>\n<p><em>Erochkina Elena, director adjunct de IT<\/em><\/p>\n<p>\u00cen momentul \u00een care a avut loc carantina \u0219i a ap\u0103rut necesitatea de a accelera dezvoltarea online \u0219i de a implementa servicii omnichannel, noi eram deja \u00een proces de transformare organiza\u021bional\u0103.&nbsp;<\/p>\n<p>O parte din structura noastr\u0103 a fost transformat\u0103 pentru a lucra conform principiilor \u0219i practicilor unei abord\u0103ri bazate pe produse. S-au format echipe care acum sunt responsabile pentru func\u021bionarea \u0219i dezvoltarea fiec\u0103rui produs. Angaja\u021bii din aceste echipe sunt implica\u021bi 100% \u0219i \u00ee\u0219i structureaz\u0103 munca conform metodologiilor Scrum sau Kanban, \u00een func\u021bie de ceea ce este mai preferabil pentru ei, configureaz\u0103 procesul de livrare, implementeaz\u0103 practici tehnice, practici de asigurare a calit\u0103\u021bii \u0219i multe altele.<\/p>\n<p>Din fericire, majoritatea acestor echipe de produs erau deja \u00een domeniul online \u0219i al serviciilor omnichannel. Acest lucru ne-a permis s\u0103 trecem rapid (serios, \u00een doar dou\u0103 zile) la modul de lucru la distan\u021b\u0103 f\u0103r\u0103 a pierde eficien\u021ba. Procesul configurat ne-a permis s\u0103 ne adapt\u0103m rapid la noile condi\u021bii de lucru \u0219i s\u0103 men\u021binem un ritm suficient de ridicat \u00een livrarea de noi func\u021bionalit\u0103\u021bi.<\/p>\n<p>\u00cen plus, a ap\u0103rut necesitatea de a consolida echipele care se afl\u0103 \u00een prim-planul afacerii online. \u00cen acel moment a devenit clar c\u0103 putem face acest lucru doar prin resurse interne. Aproximativ 50 de persoane au schimbat domeniul \u00een care lucrau p\u00e2n\u0103 atunci \u0219i s-au integrat \u00een lucrul la un nou produs pentru ele, \u00een decurs de dou\u0103 s\u0103pt\u0103m\u00e2ni.&nbsp;<\/p>\n<p>Pentru aceasta nu a fost nevoie de eforturi manageriale speciale, deoarece, al\u0103turi de organizarea propriului proces, cu perfec\u021bionarea tehnic\u0103 a produsului \u0219i cu practici de asigurare a calit\u0103\u021bii, \u00eenv\u0103\u021b\u0103m echipele noastre despre auto-organizare \u2014 s\u0103 gestioneze propriul proces de produc\u021bie f\u0103r\u0103 a solicita resurse administrative.<\/p>\n<p>Resursa managerial\u0103 am reu\u0219it s\u0103 ne concentr\u0103m exact acolo unde a fost necesar \u00een acel moment, adic\u0103 pe coordonarea \u00eempreun\u0103 cu afacerea: Ce este acum important pentru clientul nostru, ce func\u021bionalitate trebuie s\u0103 fie implementat\u0103 \u00een primul r\u00e2nd, ce trebuie s\u0103 facem pentru a cre\u0219te capacitatea noastr\u0103 de livrare \u0219i procesare a comenzilor. Toate acestea \u0219i un model de rol clar ne-au permis, \u00een aceast\u0103 perioad\u0103, s\u0103 \u00eenc\u0103rc\u0103m fluxurile noastre de produc\u021bie cu ceea ce este cu adev\u0103rat important \u0219i necesar.&nbsp;<\/p>\n<p>E clar c\u0103, \u00een condi\u021biile muncii de la distan\u021b\u0103 \u0219i a ritmului rapid de schimbare, c\u00e2nd depindem de contribu\u021bia fiec\u0103ruia pentru indicatorii de afaceri, nu ne putem baza doar pe percep\u021biile interne de genul \u201eMerge totul bine? Da, pare destul de bine\u201d. Sunt necesare metrici obiective ale procesului de produc\u021bie. Le avem, sunt accesibile oricui este interesat de metricile echipelor de produs. \u00cen primul r\u00e2nd, echipei \u00eense\u0219i, afacerii, colegilor \u0219i conducerii.<\/p>\n<p>O dat\u0103 la dou\u0103 s\u0103pt\u0103m\u00e2ni, cu fiecare echip\u0103 se desf\u0103\u0219oar\u0103 o \u00eent\u00e2lnire de status, unde, timp de 10 minute, se analizeaz\u0103 metricile, se identific\u0103 punctele slabe ale procesului de produc\u021bie \u0219i se g\u0103se\u0219te o solu\u021bie comun\u0103: ce se poate realiza pentru a elimina aceste puncte slabe. De asemenea, aici se poate solicita ajutor din partea conduc\u0103torilor, \u00een cazul \u00een care o problem\u0103 identificat\u0103 este \u00een afara sferei de influen\u021b\u0103 a echipelor sau se poate apela la expertiza colegilor care, poate, s-au confruntat deja cu o problem\u0103 similar\u0103.<\/p>\n<p>Cu toate acestea, \u00een\u021belegem c\u0103, pentru a atinge o accelerare semnificativ\u0103 (ceea ce ne dorim), trebuie s\u0103 \u00eenv\u0103\u021b\u0103m \u0219i s\u0103 implement\u0103m \u00eenc\u0103 multe \u00een activitatea noastr\u0103 zilnic\u0103. Precis acum continu\u0103m extinderea abord\u0103rii axate pe produs la alte echipe \u0219i noi produse. Pentru aceasta, a trebuit s\u0103 ne adapt\u0103m la un nou format de \u0219coal\u0103 online pentru metodologi.<\/p>\n<p>Metodologii, persoanele care ajut\u0103 echipele s\u0103 \u00ee\u0219i organizeze procesul, s\u0103 stabileasc\u0103 comunicarea, s\u0103 \u00eembun\u0103t\u0103\u021beasc\u0103 eficien\u021ba muncii, sunt, \u00een esen\u021b\u0103, agen\u021bi de schimbare. \u00cen acest moment, absolven\u021bii primului nostru lot colaboreaz\u0103 cu echipele \u0219i le ajut\u0103 s\u0103 devin\u0103 de succes.&nbsp;<\/p>\n<p>Cred c\u0103 situa\u021bia actual\u0103 ne deschide oportunit\u0103\u021bi \u0219i perspective pe care, poate, noi \u00een\u0219ine nu le con\u0219tientiz\u0103m \u00eenc\u0103 pe deplin. Dar experien\u021ba \u0219i practica pe care le dob\u00e2ndim chiar acum confirm\u0103 c\u0103 am ales calea corect\u0103 de dezvoltare, nu vom pierde aceste noi oportunit\u0103\u021bi \u00een viitor \u0219i vom putea r\u0103spunde la provoc\u0103rile care vor ap\u0103rea \u00een fa\u021ba \"Sportmaster\".<\/p>\n<h3>Conclusions<\/h3>\n<p>\u00cen aceast\u0103 perioad\u0103 dificil\u0103, am formulat principii principale pe care se bazeaz\u0103 dezvoltarea software-ului, care, cred eu, vor fi relevante pentru fiecare companie care se ocup\u0103 cu acest domeniu.<\/p>\n<p><strong>Oameni<\/strong>. Acesta este fundamentul. Angaja\u021bii trebuie s\u0103 se bucure de munc\u0103, s\u0103 \u00een\u021beleag\u0103 obiectivele companiei \u0219i ale produselor cu care lucreaz\u0103. \u0218i, desigur, s\u0103 aib\u0103 posibilitatea de a se dezvolta profesional.&nbsp;<\/p>\n<p><strong>Tehnologie<\/strong>. Este necesar ca compania s\u0103 se apropie matur de gestionarea stivei sale tehnologice \u0219i s\u0103 \u00ee\u0219i dezvolte competen\u021bele acolo unde este cu adev\u0103rat necesar. Pare foarte simplu \u0219i evident. \u0218i este adesea ignorat.<\/p>\n<p><strong>Procese<\/strong>. Este important s\u0103 organiz\u0103m corect munca echipelor de produs \u0219i a centrelor de competen\u021b\u0103, s\u0103 stabilim interac\u021biunea cu afacerea, astfel \u00eenc\u00e2t s\u0103 lucr\u0103m cu aceasta ca un partener.<\/p>\n<\/p>\n<p>\u00cen general, cam a\u0219a am supravie\u021buit. Teza principal\u0103 a contemporaneit\u0103\u021bii a fost confirmat\u0103 din nou, lovind puternic \u00een frunte.<\/p>\n<p>Chiar dac\u0103 e\u0219ti un mare business offline cu numeroase magazine \u0219i multe ora\u0219e de prezen\u021b\u0103, dezvolt\u0103-\u021bi online-ul. Nu este doar un canal suplimentar de v\u00e2nzare sau o aplica\u021bie frumoas\u0103 prin care se poate cump\u0103ra ceva (ci \u0219i pentru c\u0103 \u0219i concuren\u021bii au aplica\u021bii frumoase). Nu este o rezerv\u0103 pentru vremuri grele, care te va ajuta s\u0103 rezisti furtunii.<\/p>\n<p>Este o necesitate absolut\u0103. La care trebuie s\u0103 fie preg\u0103tite nu doar capacit\u0103\u021bile tale tehnice \u0219i infrastructura, ci \u0219i oamenii \u0219i procesele. C\u0103ci este posibil s\u0103 cumperi rapid memorie, spa\u021biu, s\u0103 desf\u0103\u0219ori noi instan\u021be \u0219i altele \u00een c\u00e2teva ore. \u00cens\u0103 oamenii \u0219i procesele trebuie preg\u0103tite \u00een avans pentru a face asta.<\/p>\n<\/p>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 Ce ne-a ajutat s\u0103 ne adapt\u0103m rapid la comer\u021bul online \u00een noile condi\u021bii | ProHoster","description":"Bun\u0103! M\u0103 numesc Mihail, sunt director adjunct IT la compania \u201eSportmaster\u201d.","canonical_url":"https:\/\/prohoster.info\/ro\/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":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/94520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=94520"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/94520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/94521"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=94520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=94520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=94520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}