{"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\/it\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah","title":{"rendered":"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao!<\/p>\n<p>Mi chiamo Michail, sono il vice direttore IT della compagnia \u00abSportmaster\u00bb. Vorrei condividere la storia di come abbiamo affrontato le difficolt\u00e0 emerse durante la pandemia.<\/p>\n<p>Nei primi giorni della nuova realt\u00e0, il consueto formato di vendita offline di \u00abSportmaster\u00bb si \u00e8 bloccato, e il carico sul nostro canale online, in particolare per la consegna a domicilio, \u00e8 aumentato di dieci volte. In poche settimane abbiamo trasformato un enorme business offline in uno online, adattando il servizio alle esigenze dei nostri clienti.<\/p>\n<p>In sostanza, ci\u00f2 che era fondamentalmente una nostra operazione secondaria \u00e8 diventato il business principale. L'importanza di ogni ordine online \u00e8 cresciuta in modo estremo. Era necessario mantenere ogni euro che il cliente portava in azienda.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/3e1dfc21636b29259fd29143e4a53f78.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Per rispondere tempestivamente alle richieste dei clienti, abbiamo aperto un ulteriore centro di contatto nella nostra sede centrale, e ora possiamo ricevere circa 285.000 chiamate a settimana. Allo stesso tempo, abbiamo convertito 270 negozi in un nuovo formato di lavoro senza contatto e sicuro, permettendo ai clienti di ricevere ordini e ai dipendenti di mantenere il posto di lavoro.<\/p>\n<p>Durante il processo di trasformazione, abbiamo affrontato due problemi principali. In primo luogo, il carico sui nostri risorse online \u00e8 aumentato notevolmente (come abbiamo affrontato questo, verr\u00e0 spiegato da Sergey). In secondo luogo, il flusso di operazioni rare (fino al COVID) \u00e8 aumentato drasticamente, il che ha richiesto un'ampia automazione rapida. Per risolvere questo problema, abbiamo dovuto spostare risorse rapidamente da settori che in precedenza erano principali. Come abbiamo gestito tutto questo verr\u00e0 spiegato da Elena.<\/p>\n<h2>Gestione dei servizi online<\/h2>\n<p><em>Sergey Kolesnikov, responsabile della gestione del negozio online e dei microservizi<\/em><\/p>\n<p>Dal momento in cui i nostri negozi al dettaglio hanno iniziato a chiudere le porte ai visitatori, abbiamo iniziato a registrare un aumento di metriche come il numero di utenti, il numero di ordini effettuati nella nostra app e il numero di richieste alle applicazioni.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/5094662d75314169328e124d0ae9f5b5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Numero di ordini dal 18 al 31 marzo<img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/4714a5d5595042b66b33f5f93b002734.jpg\" style=\"display:block;margin: 0 auto;\" \/>Numero di richieste ai microservizi di pagamento online<img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/9145afe051f8d4d4da0e00a69d469b92.jpg\" style=\"display:block;margin: 0 auto;\" \/>Numero di ordini effettuati sul sito<\/p>\n<p>Nel primo grafico vediamo che la crescita \u00e8 stata di circa 14 volte, nel secondo di 4 volte. Riteniamo che la metrica pi\u00f9 significativa sia il tempo di risposta delle nostre applicazioni.&nbsp;<\/p>\n<p><img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/bfe187bea02c83ce9d9e3286c486f85b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>In questo grafico vediamo le risposte dei front-end e delle applicazioni, e abbiamo deciso che non abbiamo notato alcuna crescita significativa.<\/p>\n<p>Questo \u00e8 principalmente dovuto al fatto che abbiamo iniziato i lavori preparatori alla fine del 2019. Ora i nostri servizi sono riservati e garantiamo la ridondanza a livello di server fisici, sistemi di virtualizzazione, container e servizi al loro interno. Le capacit\u00e0 delle nostre risorse di server ci consentono di gestire carichi multipli.<\/p>\n<p>Lo strumento principale che ci ha aiutato in tutta questa situazione \u00e8 stato il nostro sistema di monitoraggio. Tuttavia, solo di recente avevamo un'unica piattaforma che ci permetteva di raccogliere metriche su tutti i livelli, dall'hardware fisico e le equipaggiamenti fino alle metriche di business.&nbsp;<\/p>\n<p>Formalmente, il monitoraggio esisteva in azienda, ma di solito era disperso e gestito da singole unit\u00e0. Di fatto, quando si verificava un incidente, avevamo quasi sempre difficolt\u00e0 a capire cosa fosse accaduto, non c'era comunicazione e questo portava spesso a un rincorrere nel tentativo di identificare e localizzare il problema per una successiva risoluzione.<\/p>\n<p>A un certo punto abbiamo riflettuto e deciso che non potevamo pi\u00f9 tollerarlo: avevamo bisogno di un sistema unico per vedere il quadro completo. Le principali tecnologie che utilizziamo nel nostro stack sono Zabbix come centro di allerta e archiviazione delle metriche, Prometheus per la raccolta e l'archiviazione delle metriche delle applicazioni, Stack ELK per il logging e la conservazione dei dati dell'intero sistema di monitoraggio, insieme a Grafana per la visualizzazione, Swagger, Docker e altre utili soluzioni che conoscerete.<\/p>\n<p>Utilizziamo non solo le tecnologie disponibili sul mercato, ma sviluppiamo anche internamente alcune soluzioni. Ad esempio, creiamo servizi per l'integrazione dei sistemi, ovvero un API per la raccolta di metriche. Inoltre, stiamo lavorando su sistemi di monitoraggio proprietari: a livello di metriche aziendali utilizziamo test UI. Abbiamo anche un bot su Telegram per notificare i team.<\/p>\n<p>Inoltre, ci impegniamo a rendere il sistema di monitoraggio accessibile ai team, in modo che possano gestire autonomamente le proprie metriche e lavorarci, inclusa la possibilit\u00e0 di configurare alert per metriche specifiche che non hanno un'applicazione molto ampia.&nbsp;<\/p>\n<p>All'interno dell'intero sistema, ci impegniamo a essere proattivi e a localizzare rapidamente gli incidenti. Inoltre, il numero dei nostri microservizi e sistemi \u00e8 aumentato significativamente negli ultimi tempi, cos\u00ec come il numero delle integrazioni. Per ottimizzare il processo di diagnostica degli incidenti a livello di integrazione, stiamo sviluppando un sistema che consente controlli incrociati tra i sistemi e di fornire risultati, permettendo cos\u00ec di identificare i problemi principali legati agli import e all'interazione tra i sistemi.&nbsp;<\/p>\n<p>Naturalmente, c'\u00e8 ancora spazio per migliorare e sviluppare la gestione dei sistemi, e stiamo lavorando attivamente su questo. Puoi leggere di pi\u00f9 sul nostro sistema di monitoraggio <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/517678\/\"><u>qui<\/u><\/a><\/noindex>.&nbsp;<\/p>\n<h2>Sperimentazioni tecniche&nbsp;<\/h2>\n<p><em>Sergei Orlov, dirige il centro di competenza per lo sviluppo web e mobile<\/em><\/p>\n<p>Dall'inizio della chiusura dei negozi fisici, ci siamo trovati ad affrontare diverse sfide in termini di sviluppo. In primo luogo, l'aumento del carico stesso. \u00c8 chiaro che, se non vengono adottate misure appropriate, un'elevata affluenza al sistema potrebbe trasformarlo in una zucca triste con un botto, ridurre drasticamente le performance oppure farne perdere completamente il funzionamento.<\/p>\n<p>Il secondo aspetto, un po' meno ovvio, \u00e8 che il sistema sotto carico doveva essere modificato molto rapidamente, adattandosi ai cambiamenti dei processi aziendali. A volte pi\u00f9 volte al giorno. In molte aziende esiste la regola che durante grandi attivit\u00e0 di marketing non si dovrebbero apportare modifiche al sistema. Niente cambiamenti, basta che funzioni, se funziona.<\/p>\n<p>Noi, invece, avevamo praticamente un Black Friday senza fine, durante il quale dovevamo comunque modificare il sistema. Qualsiasi errore, problema o guasto nel sistema sarebbe costato molto caro all'azienda.<\/p>\n<p>Anticipando, posso dire che siamo riusciti a superare queste sfide, tutti i sistemi hanno sopportato il carico, si sono scalati facilmente e non ci sono stati problemi tecnici significativi.<\/p>\n<p>Ci sono quattro pilastri su cui si basa la capacit\u00e0 del sistema di gestire carichi elevati e improvvisi. Il primo di essi \u00e8 il monitoraggio, di cui hai letto poco fa. Senza un sistema di monitoraggio ben strutturato, \u00e8 praticamente impossibile identificare i colli di bottiglia del sistema. Un buon sistema di monitoraggio \u00e8 come un abbigliamento domestico, deve essere comodo e adattato a te.<\/p>\n<p>Il secondo aspetto \u00e8 il testing. Prendiamo molto sul serio questo aspetto: scriviamo unit test classici, test di integrazione, test di carico e molti altri per ogni sistema. Inoltre, elaboriamo una strategia di testing, cercando di arrivare a un livello di testing tale da non necessitare pi\u00f9 di controlli manuali.<\/p>\n<p>Il terzo pilastro \u00e8 il CI\/CD Pipeline. I processi di build, test e deployment delle applicazioni devono essere il pi\u00f9 automatizzati possibile, senza interventi manuali. L'argomento del CI\/CD Pipeline \u00e8 molto vasto, e lo toccher\u00f2 solo superficialmente. Vale la pena menzionare che abbiamo una checklist per il CI\/CD Pipeline, che viene seguita da ogni team di prodotto attraverso i centri di competenza.<\/p>\n<p><img decoding=\"async\" alt=\"Cosa ci ha aiutato a ricostruirci rapidamente per il commercio online in queste nuove condizioni\" src=\"\/wp-content\/uploads\/2020\/09\/fabee1de52c10790c33bb2d08935a657.jpg\" style=\"display:block;margin: 0 auto;\" \/>Ecco la checklist<\/p>\n<p>In questo modo si raggiungono molti obiettivi. Si tratta di versioning delle API, di feature toggle per evitare rilasci simultanei, e di garantire una copertura di test tale da rendere il testing completamente automatizzato, con deployment senza soluzione di continuit\u00e0 e altro ancora.<\/p>\n<p>Il quarto pilastro riguarda i principi architetturali e le soluzioni tecniche. Si pu\u00f2 parlare molto e a lungo di architettura, ma voglio sottolineare un paio di principi su cui vorrei richiamare l'attenzione.<\/p>\n<p>In primo luogo, \u00e8 fondamentale scegliere strumenti specializzati per compiti specifici. S\u00ec, sembra ovvio, e si capisce che per battere i chiodi si deve usare un martello, mentre per smontare orologi servono cacciaviti specifici. Ma al giorno d'oggi, molti strumenti tendono all'universalit\u00e0 per attecchire il maggior numero possibile di utenti: database, cache, framework e cos\u00ec via. Ad esempio, prendendo il database MongoDB, esso gestisce transazioni multi-documento, mentre il database Oracle lavora con file json. E sembrerebbe che si possa utilizzare tutto per ogni cosa. Tuttavia, se puntiamo sulle prestazioni, \u00e8 necessario comprendere chiaramente i punti di forza e di debolezza di ciascun strumento e utilizzare quelli appropriati per la nostra classe di compiti.&nbsp;<\/p>\n<p>In secondo luogo, nella progettazione dei sistemi ogni aumento di complessit\u00e0 deve essere giustificato. Dobbiamo tenerlo sempre a mente, il principio del low coupling \u00e8 ben noto. Credo che debba essere applicato sia a livello di servizio specifico, sia a livello di sistema complessivo, sia a livello di paesaggio architettonico. \u00c8 anche fondamentale la capacit\u00e0 di scalare orizzontalmente ogni componente del sistema sotto carico. Possedere questa capacit\u00e0 rende lo scaling un compito semplice.<\/p>\n<p>Parlando di soluzioni tecniche, abbiamo chiesto ai team di prodotto di preparare un nuovo insieme di raccomandazioni, idee e soluzioni che hanno implementato nel prepararsi per la prossima ondata di carico.<\/p>\n<h2>Cache<\/h2>\n<p>\u00c8 necessario avvicinarsi in modo consapevole alla scelta di cache locali e distribuite. A volte ha senso utilizzare entrambi all'interno di un sistema. Ad esempio, abbiamo sistemi in cui parte dei dati rappresenta fondamentalmente una cache di vetrina, ossia la fonte di aggiornamenti si trova al di fuori del sistema stesso, e il sistema non modifica questi dati. Per questo approccio utilizziamo il Caffeine Cache locale.&nbsp;<\/p>\n<p>Esistono dati che il sistema modifica attivamente durante il funzionamento, e qui utilizziamo una cache distribuita con Hazelcast. Questo approccio ci consente di sfruttare i vantaggi della cache distribuita dove \u00e8 veramente necessario e di ridurre le spese di servizio per la circolazione dei dati nel cluster Hazelcast dove possiamo evitarlo. Abbiamo scritto molto sulle cache. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/490912\/\"><u>qui <\/u><\/a><\/noindex>e <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/504400\/\"><u>qui<\/u><\/a><\/noindex>.<\/p>\n<p>Inoltre, la sostituzione del serializzatore con Kryo in Hazelcast ci ha fornito un buon incremento delle prestazioni. Il passaggio da ReplicatedMap a IMap + Near Cache in Hazelcast ci ha permesso di minimizzare il movimento dei dati nel cluster.&nbsp;<\/p>\n<p>Un piccolo consiglio: durante una massiccia invalidazione della cache, a volte \u00e8 utile adottare una strategia di riscaldamento della seconda cache seguita dal passaggio ad essa. A prima vista, con questo approccio, potremmo pensare di avere un doppio consumo di memoria, ma nella pratica, nei sistemi dove \u00e8 stata applicata, il consumo di memoria \u00e8 diminuito.<\/p>\n<h2>Stack reattivo<\/h2>\n<p>Utilizziamo un stack reattivo in un numero gi\u00e0 piuttosto elevato di sistemi. Nel nostro caso, si tratta di Webflux o Kotlin con coroutine. Lo stack reattivo si adatta particolarmente bene quando prevediamo operazioni di input-output lente. Ad esempio, chiamate a servizi lenti, lavoro con il file system o con sistemi di archiviazione.<\/p>\n<p>Il principio pi\u00f9 importante \u00e8 evitare chiamate bloccanti. Sotto il cofano dei framework reattivi gira un numero limitato di thread di servizio attivi. Se ci permettiamo imprudentemente di effettuare una chiamata bloccante diretta, come una chiamata al driver JDBC, il sistema semplicemente si fermer\u00e0.&nbsp;<\/p>\n<p>Cercate di trasformare gli errori in eccezioni runtime proprie. Il flusso reale di esecuzione del programma si sposta verso i framework reattivi, rendendo l'esecuzione del codice non lineare. Di conseguenza, diventa molto difficile diagnosticare i problemi tramite stack trace. E la soluzione \u00e8 creare eccezioni runtime chiare e oggettive per ogni errore.<\/p>\n<h2>Elasticsearch<\/h2>\n<p>Quando si utilizza Elasticsearch, evitare di selezionare dati non utilizzati. Questo, in linea di principio, \u00e8 un consiglio molto semplice, ma spesso \u00e8 proprio questo che si dimentica. Se \u00e8 necessario selezionare pi\u00f9 di 10.000 registrazioni in una volta, bisogna usare Scroll. Se si fa un'analogia, \u00e8 un po' come un cursore in un database relazionale.&nbsp;<\/p>\n<p>Non utilizzare il postfilter senza necessit\u00e0. Con grandi volumi di dati nella selezione principale, quest'operazione grava pesantemente sul database.&nbsp;<\/p>\n<p>Utilizzare operazioni bulk dove applicabile.<\/p>\n<h2>API<\/h2>\n<p>Nella progettazione delle API, considerare i requisiti per la minimizzazione dei dati trasferiti. Questo \u00e8 particolarmente rilevante nel legame con il front end: \u00e8 proprio in questo punto che usciamo dai canali dei nostri data center e lavoriamo gi\u00e0 sul canale che ci collega al cliente. Se ci sono problemi, anche minimi, troppo alto traffico provoca un'esperienza utente negativa.<\/p>\n<p>E, infine, non riversate un'intera massa di dati; affrontate con precisione il contratto tra consumatori e fornitori.<\/p>\n<h2>Trasformazione organizzativa<\/h2>\n<p><em>Elena Yeroschkina, Vice Direttore IT<\/em><\/p>\n<p>Nel momento in cui \u00e8 stata dichiarata la quarantena e si \u00e8 resa necessaria una rapida accelerazione dello sviluppo online e l'implementazione di servizi omnicanale, eravamo gi\u00e0 nel processo di trasformazione organizzativa.&nbsp;<\/p>\n<p>Una parte della nostra struttura \u00e8 stata adattata per operare secondo i principi e le pratiche dell'approccio prodotto. Si sono formati team che ora sono responsabili del funzionamento e dello sviluppo di ciascun prodotto. I membri di questi team sono coinvolti al 100% e organizzano il loro lavoro secondo Scrum o Kanban, a seconda di ci\u00f2 che preferiscono; configurano il processo di distribuzione, implementano pratiche tecniche, pratiche di assicurazione della qualit\u00e0 e molto altro.<\/p>\n<p>Per nostra fortuna, la maggior parte di questi team di prodotto si trovava proprio nell'ambito dei servizi online e omnicanale. Questo ci ha permesso di passare in modalit\u00e0 di lavoro remoto in tempi brevissimi (seriosamente, letteralmente in due giorni) senza perdere efficienza. Il processo impostato ha facilitato un veloce adattamento alle nuove condizioni lavorative, mantenendo un elevato ritmo di consegna di nuove funzionalit\u00e0.<\/p>\n<p>Inoltre, abbiamo sentito la necessit\u00e0 di rafforzare le squadre che operano ai confini del business online. In quel momento \u00e8 diventato chiaro che potevamo farlo solo sfruttando le risorse interne. Circa 50 persone hanno cambiato area di lavoro nel giro di due settimane e si sono integrate nel lavoro su un prodotto a loro nuovo.&nbsp;<\/p>\n<p>Questo non ha richiesto sforzi gestionali particolari, poich\u00e9, oltre all'organizzazione del nostro processo, al perfezionamento tecnico del prodotto e alla pratica della qualit\u00e0, insegniamo ai nostri team l'auto-organizzazione: gestire il proprio processo produttivo senza coinvolgere risorse amministrative.<\/p>\n<p>Siamo riusciti a concentrare le risorse gestionali precisamente dove era necessario in quel momento: sulla coordinazione con il business. Cosa \u00e8 veramente importante per il nostro cliente ora, quale funzionalit\u00e0 deve essere implementata per prima, cosa bisogna fare per aumentare la nostra capacit\u00e0 di consegna e trattamento degli ordini. Tutto ci\u00f2, insieme a un modello di ruolo chiaro, ci ha permesso di orientare i nostri flussi di produzione verso ci\u00f2 che \u00e8 realmente importante e necessario.&nbsp;<\/p>\n<p>\u00c8 chiaro che, con il lavoro a distanza e il rapido ritmo di cambiamento, quando le performance aziendali dipendono dalla partecipazione di ciascuno, non si pu\u00f2 fare affidamento solo sulle sensazioni interne, del tipo \"Stiamo andando bene? Sembra di s\u00ec\". Sono necessarie metriche oggettive del processo produttivo. Ne abbiamo, e sono accessibili a chiunque sia interessato alle metriche dei team di prodotto. Prima di tutto al team stesso, al business, ai collaboratori e alla direzione.<\/p>\n<p>Ogni due settimane, con ogni team, si tiene un incontro di stato, durante il quale in 10 minuti vengono analizzate le metriche, identificati i colli di bottiglia del processo produttivo e sviluppate soluzioni comuni: cosa si pu\u00f2 fare per eliminare questi colli di bottiglia. Qui puoi anche chiedere immediatamente aiuto alla direzione nel caso in cui qualche problema identificato sia al di fuori della portata dei team, o richiedere la consulenza di colleghi che potrebbero gi\u00e0 aver affrontato problemi simili.<\/p>\n<p>Tuttavia, comprendiamo che per un'accelerazione significativa (questo \u00e8 l'obiettivo che ci poniamo), dobbiamo ancora imparare molto e implementarlo nel nostro lavoro quotidiano. Proprio ora stiamo continuando a estendere l'approccio prodotto ad altri team e a nuovi prodotti. Per questo, abbiamo dovuto apprendere un formato di scuola online per metodologi che ci era nuovo.<\/p>\n<p>I metodologi, persone che aiutano i team a strutturare i processi, a migliorare la comunicazione e ad aumentare l'efficienza lavorativa, sono di fatto agenti del cambiamento. Attualmente, i laureati del nostro primo corso stanno lavorando con i team e li stanno supportando nel diventare pi\u00f9 efficaci.&nbsp;<\/p>\n<p>Penso che la situazione attuale ci apra opportunit\u00e0 e prospettive che, forse, non abbiamo ancora completamente realizzato. Ma l'esperienza e la pratica che stiamo acquisendo in questo momento confermano che abbiamo scelto la strada giusta per lo sviluppo, non perderemo queste nuove opportunit\u00e0 in futuro e saremo in grado di rispondere altrettanto efficacemente alle sfide che si presenteranno per 'Sportmaster'.<\/p>\n<h3>Conclusioni<\/h3>\n<p>In questo periodo complesso, abbiamo definito i principi fondamentali su cui si basa lo sviluppo di software, che penso saranno rilevanti per ogni azienda che opera in questo settore.<\/p>\n<p><strong>Persone<\/strong>. Questo \u00e8 il fulcro di tutto. I dipendenti devono trarre soddisfazione dal proprio lavoro, comprendere gli obiettivi dell'azienda e i traguardi dei progetti a cui lavorano. E, naturalmente, devono poter crescere professionalmente.&nbsp;<\/p>\n<p><strong>Tecnologia<\/strong>. \u00c8 essenziale che l\u2019azienda affronti in modo maturo il lavoro con il proprio stack tecnologico e sviluppi le competenze laddove \u00e8 realmente necessario. Sembra molto semplice e ovvio. E spesso viene ignorato.<\/p>\n<p><strong>Processi<\/strong>. \u00c8 fondamentale organizzare correttamente il lavoro dei team di prodotto e dei centri di competenza, stabilire un'interazione con il business per lavorare con esso come partner.<\/p>\n<\/p>\n<p>In sintesi, \u00e8 pi\u00f9 o meno cos\u00ec che siamo sopravvissuti. Il principale assunto della modernit\u00e0 si \u00e8 confermato ancora una volta, colpendo forte.<\/p>\n<p>Anche se sei un enorme business offline con molti negozi e una vasta presenza in citt\u00e0, sviluppa la tua presenza online. Non \u00e8 semplicemente un canale di vendita aggiuntivo o un'app attraente attraverso la quale puoi acquistare qualcosa (anche perch\u00e9 i concorrenti hanno app belle). Non \u00e8 una soluzione di emergenza, ma una necessit\u00e0.<\/p>\n<p>\u00c8 una vera e propria necessit\u00e0. A cui devono essere pronte non solo le tue capacit\u00e0 tecniche e infrastruttura, ma anche le persone e i processi. Infatti, \u00e8 possibile acquistare rapidamente memoria, spazio, implementare nuove istanze e altro in poche ore. Ma le persone e i processi devono essere preparati in anticipo.<\/p>\n<\/p>\n<p>Fonte: <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 4.9.10 - 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. \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. \u0417\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e\" \/>\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\/it\/blog\/administrirovanie\/chto-pomoglo-nam-bystro-perestroitsya-na-onlajn-torgovlyu-v-novyh-usloviyah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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. \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. \u0417\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Cosa ci ha aiutato a riorganizzarci rapidamente per le vendite online in queste nuove condizioni | ProHoster","description":"Ciao! Mi chiamo Mikhail, sono il vice direttore IT di \"Sportmaster\". Voglio condividere la storia di come abbiamo affrontato le difficolt\u00e0 emerse durante la pandemia. Nei primi giorni delle nuove realt\u00e0, il consueto formato di vendita al dettaglio di \"Sportmaster\" si \u00e8 bloccato, e il carico sul nostro canale online, soprattutto per quanto riguarda la consegna a domicilio, \u00e8 aumentato di 10 volte. In pochi","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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. \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. \u0417\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/94520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=94520"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/94520\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/94521"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=94520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=94520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=94520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}