{"id":55881,"date":"2020-01-31T00:00:00","date_gmt":"2020-01-30T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij"},"modified":"2020-02-18T14:04:02","modified_gmt":"2020-02-18T11:04:02","slug":"sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","title":{"rendered":"Suggerimenti e fonti di informazione per la creazione di applicazioni serverless","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Suggerimenti e fonti di informazione per la creazione di applicazioni serverless\" src=\"\/wp-content\/uploads\/2020\/01\/a29ca83a52a809d148aebbd6821d4ef9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSebbene le tecnologie serverless stiano rapidamente guadagnando popolarit\u00e0 negli ultimi anni, ci sono ancora molti fraintendimenti e preoccupazioni ad esse associate. La dipendenza dal fornitore, gli strumenti, la gestione dei costi, il cold start, il monitoraggio e il ciclo di vita dello sviluppo: tutti questi argomenti vengono ampiamente discussi quando si parla di tecnologie serverless. In questo articolo, esamineremo alcuni di questi temi e condivideremo consigli e link a fonti utili che aiuteranno i neofiti a creare applicazioni serverless potenti, flessibili ed economicamente vantaggiose.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Fraintendimenti sulle tecnologie serverless<\/h2>\n<p>\nMolti credono che la serverless e l'elaborazione dati senza server (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) siano quasi la stessa cosa. Quindi, la differenza non \u00e8 poi cos\u00ec grande e vale la pena implementare la novit\u00e0. Anche se AWS Lambda \u00e8 stata una delle \"stelle\" dell'ascesa delle tecnologie serverless e uno degli elementi pi\u00f9 popolari dell'architettura serverless, questa architettura rappresenta qualcosa di pi\u00f9 del FaaS.<\/p>\n<p>Il principio fondamentale delle tecnologie serverless \u00e8 che non devi preoccuparti di gestire e scalare l'infrastruttura; paghi solo per ci\u00f2 che utilizzi. Molti servizi rientrano in questi criteri: AWS DynamoDB, S3, SNS o SQS, Graphcool, Auth0, Now, Netlify, Firebase e molti altri. In generale, la serverless implica l'utilizzo di tutte le possibilit\u00e0 del cloud computing senza necessit\u00e0 di gestire l'infrastruttura e ottimizzarla per la scalabilit\u00e0. Ci\u00f2 significa anche che la sicurezza a livello di infrastruttura non \u00e8 pi\u00f9 un tuo problema, il che \u00e8 un enorme vantaggio considerando la difficolt\u00e0 e la complessit\u00e0 nel rispetto degli standard di sicurezza. Infine, non devi acquistare l'infrastruttura che ti viene fornita in uso.<\/p>\n<p>La serverless pu\u00f2 essere considerata uno \"stato mentale\": una certa mentalit\u00e0 nella progettazione delle soluzioni. Evita gli approcci che richiedono la manutenzione di qualsiasi infrastruttura. Con l'approccio serverless, ci concentriamo sulle attivit\u00e0 che influiscono direttamente sul progetto e portano benefici ai nostri utenti: creiamo logiche aziendali sostenibili, sviluppiamo interfacce utente e sviluppiamo API adattive e affidabili.<\/p>\n<p>Ad esempio, se possiamo evitare la gestione e il supporto della piattaforma di ricerca a testo libero, \u00e8 esattamente ci\u00f2 che faremo. Questo approccio alla creazione delle applicazioni pu\u00f2 accelerare notevolmente il lancio del prodotto sul mercato, poich\u00e9 non \u00e8 pi\u00f9 necessario preoccuparsi di gestire un'infrastruttura complessa. Liberatevi delle responsabilit\u00e0 e dei costi di gestione dell'infrastruttura e concentratevi sulla creazione di applicazioni e servizi necessari ai vostri clienti. Patrick Debois ha definito questo approccio <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/jedi4ever\/from-serverless-to-service-full-how-the-role-of-devops-is-evolving?ref=https:\/\/twitter.com\/i\/cards\/tfw\/v1\/736144044112384000?cardname=player&amp;earned=true&amp;lang=en&amp;card_height=130\">\u2018servicefull\u2019<\/a><\/noindex>, questo termine \u00e8 accettato nella comunit\u00e0 serverless. Le funzioni devono essere considerate come un legame per i servizi sotto forma di moduli distribuiti (anzich\u00e9 distribuire un'intera libreria o un'applicazione web). Questo garantisce una straordinaria granularit\u00e0 nella gestione delle distribuzioni e nelle modifiche alle applicazioni. Se non \u00e8 possibile distribuire le funzioni in questo modo, potrebbe significare che le funzioni stanno svolgendo troppe attivit\u00e0 e dovrebbero essere rifattorizzate.<\/p>\n<p>Alcuni sono preoccupati per la dipendenza dal fornitore nella sviluppo di applicazioni cloud. Lo stesso vale per le tecnologie serverless, e difficilmente si tratta di un'illusione. Dalla nostra esperienza, la creazione di applicazioni serverless su AWS, unita alla capacit\u00e0 di AWS Lambda di integrare altri servizi AWS, contribuisce in parte ai vantaggi delle architetture serverless. Questo \u00e8 un buon esempio di sinergia, in cui il risultato dell'unione \u00e8 maggiore della semplice somma delle parti. Cercando di evitare la dipendenza da un fornitore, potresti trovarti di fronte a problemi ancora maggiori. Lavorando con i container, \u00e8 pi\u00f9 facile gestire il proprio livello di astrazione tra i fornitori di cloud. Ma quando si tratta di soluzioni serverless, gli sforzi non ripagheranno, specialmente se si considera l'efficacia economica fin dall'inizio. Assicurati di scoprire come i fornitori garantiscano la fornitura dei servizi. Alcuni servizi specializzati dipendono da punti di integrazione con altri fornitori, e possono offrire, out of the box, la possibilit\u00e0 di collegamenti in stile plug-and-play. \u00c8 pi\u00f9 semplice chiamare Lambda da un endpoint dell'API gateway che fare un proxy di una richiesta a un container o a un'istanza EC2. Graphcool offre una semplice configurazione con Auth0, il che \u00e8 pi\u00f9 semplice che utilizzare strumenti di autenticazione di terze parti.<\/p>\n<p>La scelta del fornitore giusto per la tua applicazione serverless \u00e8 una decisione a livello architettonico. Quando crei un'applicazione, non ti aspetti mai di tornare a gestire server. Scegliere un fornitore cloud non \u00e8 diverso dal decidere di utilizzare container, database, o persino un linguaggio di programmazione. <\/p>\n<p>Pensa a:<\/p>\n<ul>\n<li>Quali servizi ti servono e perch\u00e9. \n<\/li>\n<li>Quali servizi offrono i fornitori di cloud e come puoi integrarli con la tua soluzione FaaS scelta. \n<\/li>\n<li>Quali linguaggi di programmazione sono supportati (con tipizzazione dinamica o statica, compilati o interpretati, quali benchmarks esistono, quale \u00e8 la prestazione al primo avvio, qual \u00e8 l'ecosistema open source, ecc.).\n<\/li>\n<li>Quali sono i tuoi requisiti di sicurezza (SLA, 2FA, OAuth, HTTPS, SSL, ecc.).\n<\/li>\n<li>Come gestire il tuo CI\/CD e i cicli di sviluppo software.\n<\/li>\n<li>Quali vantaggi puoi ottenere dalle soluzioni di tipo infrastructure-as-code.\n<\/li>\n<\/ul>\n<p>\nSe stai ampliando un'applicazione esistente e aggiungendo funzioni serverless in modo incrementale, questo potrebbe limitare alcune delle capacit\u00e0 disponibili. Tuttavia, quasi tutte le tecnologie serverless offrono delle API (tramite REST o code di messaggi) che consentono di creare estensioni in modo indipendente dal core dell'applicazione e con un'integrazione semplice. Cerca servizi con API chiare, una buona documentazione e una comunit\u00e0 forte, e non ti sbaglierai. La semplicit\u00e0 dell'integrazione \u00e8 spesso una metrica chiave, e probabilmente \u00e8 una delle ragioni principali del successo di AWS da quando nel 2015 \u00e8 stata lanciata Lambda.<\/p>\n<h2>Quando \u00e8 utile il serverless<\/h2>\n<p>\nLe tecnologie serverless possono essere applicate praticamente ovunque. Tuttavia, i loro vantaggi non si limitano solo ai casi d'uso. La soglia d'ingresso per il cloud computing \u00e8 cos\u00ec bassa proprio grazie alle tecnologie serverless. Se gli sviluppatori hanno un'idea, ma non sanno come gestire l'infrastruttura cloud e ottimizzare i costi, non devono cercare un ingegnere per farlo. Se una startup vuole creare una piattaforma, ma teme che i costi possano sfuggire al controllo, pu\u00f2 facilmente rivolgersi a soluzioni serverless.<\/p>\n<p>Grazie al risparmio sui costi e alla facilit\u00e0 di scalabilit\u00e0, le soluzioni serverless possono essere applicate sia ai sistemi interni che a quelli esterni, fino a un'applicazione web con milioni di utenti. Le fatture si misurano pi\u00f9 in centesimi che in euro. L'affitto della pi\u00f9 semplice istanza AWS EC2 (t1.micro) per un mese coster\u00e0 \u20ac15, anche se non fai nulla con essa (chi non ha mai dimenticato di spegnerla?!). Per confronto, per raggiungere lo stesso livello di spesa nello stesso periodo di tempo, dovresti eseguire Lambda con 512 MB per 1 secondo circa 3 milioni di volte. E se non utilizzi questa funzione, non paghi nulla.<\/p>\n<p>Poich\u00e9 la tecnologia serverless dipende principalmente dagli eventi, \u00e8 piuttosto semplice aggiungere un'infrastruttura serverless a sistemi vecchi. Ad esempio, con AWS S3, Lambda e Kinesis puoi creare un servizio di analisi per un vecchio sistema di vendita al dettaglio, in grado di ricevere dati tramite API.<\/p>\n<p>La maggior parte delle piattaforme serverless supporta vari linguaggi. I pi\u00f9 comuni sono Python, JavaScript, C#, Java e Go. Di solito, non ci sono restrizioni sull'uso delle librerie in nessuno di questi linguaggi, quindi puoi utilizzare le tue librerie open source preferite. Tuttavia, \u00e8 consigliabile non esagerare con le dipendenze, affinch\u00e9 le tue funzioni vengano eseguite in modo ottimale e non annullino i vantaggi di un'ampia scalabilit\u00e0 delle tue applicazioni serverless. Pi\u00f9 pacchetti devono essere caricati nel contenitore, pi\u00f9 lungo sar\u00e0 il tempo di avvio a freddo.<\/p>\n<p>L'avvio a freddo \u00e8 quando \u00e8 necessario prima inizializzare il contenitore, l'ambiente di esecuzione e il gestore degli errori, prima di poterli utilizzare. A causa di ci\u00f2, il ritardo nell'esecuzione delle funzioni pu\u00f2 arrivare fino a 3 secondi, il che non \u00e8 ideale per gli utenti impazienti. Tuttavia, gli avvii a freddo si verificano al primo accesso dopo alcuni minuti di inattivit\u00e0 della funzione. Molti considerano questo un inconveniente minore, che pu\u00f2 essere aggirato con il ping regolare della funzione per tenerla in standby. Oppure se ne ignorano del tutto.<\/p>\n<p>Sebbene AWS abbia rilasciato<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/rds\/aurora\/serverless\/\"> il database SQL serverless Serverless Aurora<\/a><\/noindex>, le basi dati SQL non sono ideali per questo tipo di utilizzo, poich\u00e9 durante l'esecuzione delle transazioni dipendono dalle connessioni, che possono rapidamente diventare un collo di bottiglia con grande traffico su AWS Lambda. S\u00ec, gli sviluppatori stanno continuamente migliorando Serverless Aurora e dovresti fare delle sperimentazioni con essa, tuttavia oggi le soluzioni NoSQL come<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>si adattano molto meglio ai sistemi serverless. Tuttavia, \u00e8 certo che questa situazione cambier\u00e0 molto presto.<\/p>\n<p>Anche gli strumenti impongono molte limitazioni, soprattutto nel campo del testing locale. Sebbene esistano soluzioni come Docker-Lambda, DynamoDB Local e LocalStack, esse richiedono un lavoro meticoloso e una notevole quantit\u00e0 di configurazione. Tuttavia, tutti questi progetti sono in continua evoluzione, quindi \u00e8 solo una questione di tempo prima che gli strumenti raggiungano il livello necessario.<\/p>\n<h2>L'impatto delle tecnologie serverless sul ciclo di sviluppo<\/h2>\n<p>\nPoich\u00e9 la tua infrastruttura \u00e8 semplicemente una configurazione, puoi definire e distribuire codice utilizzando script, come gli script shell. Oppure puoi ricorrere a soluzioni del tipo configuration-as-code come <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Anche se questo servizio non offre una configurazione per tutti i settori, consente di definire risorse specifiche da utilizzare come funzioni Lambda. Cio\u00e8, dove CloudFormation potrebbe mancarti, puoi scrivere la tua risorsa (funzione Lambda) per colmare questa lacuna. In questo modo, puoi fare qualsiasi cosa, anche configurare dipendenze al di fuori del tuo ambiente AWS.<\/p>\n<p>Poich\u00e9 tutto ci\u00f2 \u00e8 semplicemente una configurazione, puoi parametrizzare i tuoi script di distribuzione per ambienti, regioni e utenti specifici, specialmente se utilizzi soluzioni di tipo infrastructure-as-code come CloudFormation. Ad esempio, puoi distribuire una copia dell'infrastruttura per ogni branch nel repository, per testarle in modo completamente isolato durante lo sviluppo. Questo accelera radicalmente il feedback per gli sviluppatori quando vogliono verificare se il loro codice funziona correttamente in un ambiente reale. I manager non devono preoccuparsi dei costi legati alla distribuzione di numerosi ambienti, poich\u00e9 si paga solo per l'uso effettivo.<\/p>\n<p>I DevOps hanno meno preoccupazioni, poich\u00e9 devono solo assicurarsi che gli sviluppatori abbiano la configurazione corretta. Non \u00e8 pi\u00f9 necessario gestire istanze, bilanciatori di carico o gruppi di sicurezza. Ecco perch\u00e9 il termine NoOps viene utilizzato sempre pi\u00f9 frequentemente, anche se \u00e8 comunque importante sapere come configurare l'infrastruttura, specialmente quando si tratta di configurazione IAM e ottimizzazione delle risorse cloud.<\/p>\n<p>Ci sono strumenti molto potenti per il monitoraggio e la visualizzazione come Epsagon, Thundra, Dashbird e IOPipe. Questi consentono di monitorare lo stato attuale delle applicazioni serverless, forniscono registri e tracciamento, registrano metriche di performance e colli di bottiglia architettonici, effettuano analisi e previsioni delle spese, e molto altro. Non solo offrono agli ingegneri DevOps, agli sviluppatori e agli architetti una visione completa delle operazioni delle applicazioni, ma consentono anche ai manager di monitorare la situazione in tempo reale, con spese per le risorse calcolate al secondo e previsioni dei costi. Organizzare tutto ci\u00f2 con un'infrastruttura gestita \u00e8 molto pi\u00f9 difficile.<\/p>\n<p>Progettare applicazioni serverless \u00e8 molto pi\u00f9 semplice, poich\u00e9 non \u00e8 necessario distribuire server web, gestire macchine virtuali o contenitori, aggiornare server, sistemi operativi, gateway e cos\u00ec via. L'astrazione da tutte queste responsabilit\u00e0 consente all'architettura serverless di concentrarsi su ci\u00f2 che \u00e8 veramente importante: soddisfare le esigenze del business e dei clienti.<\/p>\n<p>Sebbene l'insieme di strumenti possa essere migliorato (si evolve ogni giorno), gli sviluppatori possono concentrarsi sull'implementazione della logica aziendale e sulla migliore distribuzione della complessit\u00e0 dell'applicazione sui vari servizi all'interno dell'architettura. La gestione delle applicazioni serverless avviene in base a eventi ed \u00e8 astratta dal provider cloud (come SQS, eventi S3 o stream DynamoDB). Perci\u00f2, gli sviluppatori devono solo scrivere la logica aziendale per reagire a determinati eventi, senza preoccuparsi di come implementare al meglio i database e le code di messaggi o di come ottimizzare il lavoro con i dati nei rispettivi storage hardware.<\/p>\n<p>Il codice pu\u00f2 essere eseguito e debugato localmente, cos\u00ec come in qualsiasi processo di sviluppo. Il testing modulare rimane invariato. La possibilit\u00e0 di distribuire un'intera infrastruttura applicativa tramite una configurazione personalizzata dello stack consente agli sviluppatori di ricevere feedback importanti rapidamente, senza preoccuparsi del costo dei test o dell'impatto su costose ambienti gestiti.<\/p>\n<h2>Strumenti e metodologie per costruire applicazioni serverless<\/h2>\n<p>\nNon esiste un modo specifico per costruire applicazioni serverless, cos\u00ec come non esiste un set di servizi per questa attivit\u00e0. Oggi, AWS \u00e8 leader tra le potenti soluzioni serverless, ma presta attenzione anche a <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/gcp\">Google Cloud<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/zeit.co\/\"> Zeit<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/firebase.google.com\/\">Firebase<\/a><\/noindex>. Se utilizzi AWS, come approccio per costruire applicazioni puoi considerare il <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/serverless\/sam\/\">Serverless Application Model<\/a><\/noindex> (SAM), specialmente se utilizzi C#, poich\u00e9 Visual Studio offre strumenti eccellenti. SAM CLI pu\u00f2 fare tutto ci\u00f2 che fa Visual Studio, quindi non perderai nulla se decidi di passare a un altro IDE o editor di testo. Naturalmente, SAM funziona anche con altri linguaggi.<\/p>\n<p>Se scrivi in altre lingue, Serverless Framework \u00e8 un eccellente strumento open source che consente di configurare qualsiasi cosa utilizzando file di configurazione YAML molto potenti. Inoltre, Serverless Framework supporta diversi servizi cloud, quindi lo raccomandiamo a chi cerca una soluzione multi-cloud. Ha una vasta comunit\u00e0 che ha creato una miriade di plugin per ogni esigenza. <\/p>\n<p>Per il testing locale, gli strumenti open source Docker-Lambda, Serverless Local, DynamoDB Local e LocalStack sono molto adatti. Le tecnologie serverless sono ancora in fase iniziale di sviluppo, cos\u00ec come gli strumenti per esse, quindi configurare scenari di testing complessi richieder\u00e0 un certo impegno. Tuttavia, \u00e8 incredibilmente economico semplicemente distribuire un stack in un ambiente e testarlo l\u00ec. E non \u00e8 necessario creare una copia locale esatta degli ambienti cloud.<\/p>\n<p>Per ridurre le dimensioni dei pacchetti distribuiti e accelerare i caricamenti, utilizza AWS Lambda Layers. <\/p>\n<p>Utilizza i linguaggi di programmazione appropriati per compiti specifici. Ogni linguaggio ha i suoi vantaggi e svantaggi. Ci sono molti benchmark, ma JavaScript, Python e C# (.NET Core 2.1+) sono leader in termini di prestazioni su AWS Lambda. Recentemente, AWS Lambda ha introdotto il Runtime API, che consente di specificare il linguaggio desiderato e l'ambiente di esecuzione, quindi sperimenta.<\/p>\n<p>Mantieni piccole le dimensioni dei pacchetti per la distribuzione. Pi\u00f9 sono piccoli, pi\u00f9 velocemente si caricano. Evita di utilizzare librerie grandi, specialmente se utilizzi solo un paio di funzionalit\u00e0 da esse. Se programmi in JavaScript, utilizza strumenti di build come Webpack per ottimizzare il build e includere solo ci\u00f2 di cui hai veramente bisogno. In .NET Core 3.0 ci sono QuickJit e Tiered Compilation, che migliorano le prestazioni e aiutano notevolmente con i lean launch.<\/p>\n<p>La dipendenza delle funzioni serverless dagli eventi pu\u00f2 inizialmente complicare il coordinamento della logica aziendale. In questo contesto, le code dei messaggi e le macchine a stati finiti possono rivelarsi incredibilmente utili. Le funzioni Lambda possono invocarsi a vicenda, ma \u00e8 consigliabile farlo solo se non ci si aspetta una risposta ('sparato e dimenticato') \u2014 non si desidera ricevere una fattura per l'attesa del completamento di un'altra funzione. Le code dei messaggi sono utili per isolare parti della logica aziendale, gestire i colli di bottiglia delle applicazioni e trattare le transazioni (utilizzando code FIFO). Le funzioni AWS Lambda possono essere collegate a code SQS come code di messaggi 'in attesa', che monitorano i messaggi non riusciti per analisi successive. Le funzioni AWS Step Functions (macchine a stati finiti) sono molto utili per gestire processi complessi che richiedono la creazione di catene di funzioni. Invece di invocare un'altra funzione, le Step Functions possono coordinare le transizioni di stato, trasferire dati tra le funzioni e gestire lo stato globale delle funzioni. Questo consente di definire le condizioni per i tentativi di ripetizione o cosa fare in caso di errori specifici \u2014 un potente strumento in determinate situazioni.<\/p>\n<h2>Conclusione<\/h2>\n<p>\nNegli ultimi anni, le tecnologie serverless si sono sviluppate a ritmi senza precedenti. Questa transizione di paradigma \u00e8 associata a determinati fraintendimenti. Grazie all'astrazione dell'infrastruttura e alla gestione della scalabilit\u00e0, le soluzioni serverless offrono vantaggi significativi: dalla semplificazione dello sviluppo e dei processi DevOps, fino a una notevole riduzione dei costi operativi.<br \/>\nE sebbene l'approccio serverless non sia privo di svantaggi, esistono tecniche affidabili e modelli di progettazione che consentono di creare applicazioni serverless resilienti o integrare elementi serverless in architetture esistenti.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/nix\/blog\/486180\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0431\u0438\u0440\u0430\u044e\u0442 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c, \u0441 \u043d\u0438\u043c\u0438 \u0432\u0441\u0451 \u0435\u0449\u0451 \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u0439 \u0438 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439. \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u0430, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u0430\u043c\u0438, \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0439 \u0441\u0442\u0430\u0440\u0442, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0438 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0442\u0435\u043c\u044b \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0437\u0430\u0445\u043e\u0434\u0438\u0442 \u043e \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u043c\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55882,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55881","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.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\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\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\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\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij\" \/>\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-01-30T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:04:02+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\udd47Consigli e fonti di informazione per la creazione di applicazioni serverless | ProHoster","description":"Sebbene serverless.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","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\u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 | ProHoster","og:description":"\u0425\u043e\u0442\u044f \u0431\u0435\u0441\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/sovety-i-istochniki-informatsii-dlya-sozdaniya-besservernyh-prilozhenij","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-01-30T21:00:00+00:00","article:modified_time":"2020-02-18T11:04:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55881","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 19:35:40","updated":"2022-10-07 20:58:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55881","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=55881"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/55882"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=55881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=55881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=55881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}