{"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":"Consigli e fonti di informazione per la creazione di applicazioni serverless","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Consigli 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 guadagnando rapidamente 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 temi sono oggetto di discussione quando si parla di tecnologie serverless. In questo articolo esamineremo alcuni di questi argomenti e condivideremo consigli e collegamenti a risorse utili per aiutare i neofiti a creare applicazioni serverless potenti, flessibili ed economiche.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Fraintendimenti sulle tecnologie serverless<\/h2>\n<p>\nMolti pensano che serverless e elaborazione dati without servers (<noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/serverless.html#unpacking-faas\">Functions as a Service<\/a><\/noindex>, FaaS) siano praticamente la stessa cosa. Significa che la differenza non \u00e8 molto ampia e vale la pena implementare questa novit\u00e0. Sebbene AWS Lambda sia stata una delle 'stelle' della fioritura delle tecnologie serverless e uno degli elementi pi\u00f9 popolari dell'architettura serverless, tuttavia, questa architettura rappresenta qualcosa di pi\u00f9 del semplice FaaS.<\/p>\n<p>Il principio fondamentale delle tecnologie serverless \u00e8 che non devi preoccuparti della gestione e della scalabilit\u00e0 dell'infrastruttura, paghi solo per ci\u00f2 che usi. Molti servizi rientrano in questi criteri: AWS DynamoDB, S3, SNS o SQS, Graphcool, Auth0, Now, Netlify, Firebase e molti altri. In generale, serverless implica utilizzare tutte le potenzialit\u00e0 del cloud computing senza la necessit\u00e0 di gestire e ottimizzare l'infrastruttura per scalare. Significa anche che la sicurezza a livello di infrastruttura non \u00e8 pi\u00f9 un tuo problema, il che rappresenta un enorme vantaggio, considerando la difficolt\u00e0 e la complessit\u00e0 di conformarsi agli standard di sicurezza. Infine, non devi acquistare l'infrastruttura messa a tua disposizione.<\/p>\n<p>Il serverless pu\u00f2 essere considerato uno 'stato mentale': una certa mentalit\u00e0 nella progettazione delle soluzioni. Evita approcci che richiedono la manutenzione di qualsiasi infrastruttura. Con un approccio serverless, dedichiamo il nostro tempo a risolvere problemi che hanno un impatto diretto sul progetto e portano vantaggi ai nostri utenti: creiamo logiche di business solide, sviluppiamo interfacce utente e sviluppiamo API reattive e affidabili.<\/p>\n<p>Ad esempio, se possiamo evitare la gestione e il supporto di una piattaforma di ricerca testuale, \u00e8 esattamente quello che faremo. Questo approccio alla costruzione delle applicazioni pu\u00f2 accelerare notevolmente il time-to-market, poich\u00e9 non devi pi\u00f9 pensare alla gestione di un'infrastruttura complessa. Liberati delle responsabilit\u00e0 e dei costi di gestione dell'infrastruttura e concentrati sulla creazione di applicazioni e servizi che i tuoi clienti desiderano. 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\">'servicefull'<\/a><\/noindex>, questo termine \u00e8 accettato nella comunit\u00e0 serverless. Le funzioni devono essere considerate come un collegamento tra servizi, sotto forma di moduli distribuiti (anzich\u00e9 distribuire un'intera libreria o un'app web). Questo garantisce una incredibile granularit\u00e0 nella gestione delle distribuzioni e delle modifiche all'applicazione. Se non riesci a distribuire funzioni in questo modo, potrebbe significare che le funzioni stanno svolgendo troppi compiti e devono essere rifattorizzate.<\/p>\n<p>Alcuni sono confusi dalla dipendenza dal fornitore nello sviluppo di applicazioni cloud. Lo stesso vale per le tecnologie serverless e difficilmente \u00e8 il risultato di un fraintendimento. Dalla nostra esperienza, sviluppare applicazioni serverless su AWS, insieme alla capacit\u00e0 di AWS Lambda di integrare altri servizi AWS, contribuisce in parte alle virt\u00f9 delle architetture serverless. Questo \u00e8 un buon esempio di sinergia, dove il risultato dell'unione \u00e8 maggiore della somma dei singoli elementi. Cercare di evitare la dipendenza dal fornitore potrebbe portarti a problemi ancora maggiori. Quando lavori con i container, \u00e8 pi\u00f9 facile gestire il tuo livello di astrazione tra diversi fornitori cloud. Ma quando si tratta di soluzioni serverless, gli sforzi non ripagheranno, soprattutto se consideri fin dall'inizio l'efficienza economica. Assicurati di scoprire come i fornitori garantiscono la fornitura dei servizi. Alcuni servizi specializzati dipendono dai punti di integrazione con altri fornitori e possono fornire funzionalit\u00e0 plug-and-play out of the box. \u00c8 pi\u00f9 semplice invocare Lambda da un punto finale del gateway API che inoltrare una richiesta a un container o a un'istanza EC2. Graphcool offre una semplice configurazione con Auth0, il che \u00e8 pi\u00f9 facile che utilizzare strumenti di autenticazione di terze parti.<\/p>\n<p>La scelta del fornitore giusto per la tua applicazione serverless \u00e8 una decisione architettonica. Quando crei un'applicazione, non ti aspetti di tornare mai pi\u00f9 alla gestione dei server. La scelta del fornitore cloud non \u00e8 diversa dalla scelta di utilizzare contenitori, un database o persino un linguaggio di programmazione. <\/p>\n<p>Considera:<\/p>\n<ul>\n<li>Quali servizi ti servono e perch\u00e9. \n<\/li>\n<li>Quali servizi offrono i fornitori cloud e come puoi combinarli utilizzando la tua soluzione FaaS scelta. \n<\/li>\n<li>Quali linguaggi di programmazione sono supportati (con tipizzazione dinamica o statica, compilati o interpretati, quali sono i benchmark, che prestazioni ha al primo avvio, quale \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 del software.\n<\/li>\n<li>Quali vantaggi delle soluzioni di tipo infrastructure-as-code puoi sfruttare.\n<\/li>\n<\/ul>\n<p>\nSe stai espandendo un'applicazione esistente e aggiungendo funzionalit\u00e0 serverless in modo incrementale, questo potrebbe limitare alcune opzioni disponibili. Tuttavia, praticamente tutte le tecnologie serverless offrono API (tramite REST o code di messaggi) che consentono di creare estensioni in modo indipendente dal core dell'applicazione e con una facile integrazione. Cerca servizi con API chiare, una buona documentazione e una comunit\u00e0 forte, e non sbaglierai. La semplicit\u00e0 di integrazione pu\u00f2 spesso essere una metrica chiave ed \u00e8 probabilmente una delle principali ragioni del successo di AWS da quando Lambda \u00e8 stato lanciato nel 2015.<\/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 a casi d'uso. La barriera di ingresso per l'informatica cloud \u00e8 cos\u00ec bassa 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 desidera creare una piattaforma ma ha paura che i costi possano sfuggire al controllo, pu\u00f2 tranquillamente optare per soluzioni serverless.<\/p>\n<p>Grazie al risparmio sui costi e alla facilit\u00e0 di scalabilit\u00e0, le soluzioni serverless sono applicabili sia per sistemi interni che esterni, fino a web application con milioni di utenti. Le fatture sono pi\u00f9 spesso misurate in centesimi piuttosto che in euro. L'affitto dell'istanza pi\u00f9 semplice di AWS EC2 (t1.micro) per un mese coster\u00e0 \u20ac15, anche se non fai nulla (chi non ha mai dimenticato di spegnerla?!). Per fare un paragone, per raggiungere lo stesso livello di spesa nello stesso periodo di tempo, dovresti eseguire Lambda di 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 facile aggiungere un'infrastruttura serverless nei sistemi esistenti. Ad esempio, utilizzando AWS S3, Lambda e Kinesis, puoi creare un servizio di analisi per un antico sistema di vendita al dettaglio che pu\u00f2 ricevere dati tramite API.<\/p>\n<p>La maggior parte delle piattaforme serverless supportano diversi linguaggi. Spesso si tratta di Python, JavaScript, C#, Java e Go. Di solito, non ci sono limitazioni nell'uso delle librerie in nessun linguaggio, quindi puoi utilizzare le tue librerie open source preferite. Tuttavia, \u00e8 preferibile non abusare delle dipendenze affinch\u00e9 le tue funzioni vengano eseguite in modo ottimale e non annullino i vantaggi dell'enorme scalabilit\u00e0 delle tue applicazioni serverless. Pi\u00f9 pacchetti devi caricare nel contenitore, pi\u00f9 a lungo richieder\u00e0 l'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 l'ideale per gli utenti impazienti. Tuttavia, gli avvii a freddo si verificano alla prima chiamata dopo alcuni minuti di inattivit\u00e0 della funzione. Pertanto, molti considerano questo un inconveniente marginale che pu\u00f2 essere eluso mantenendo regolarmente la funzione in esecuzione a vuoto. Oppure lo 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>, tuttavia, i database SQL non sono ideali per questo tipo di applicazione, poich\u00e9, durante l'esecuzione delle transazioni, dipendono dalle connessioni, che possono rapidamente diventare un collo di bottiglia in caso di un alto traffico su AWS Lambda. S\u00ec, gli sviluppatori stanno costantemente migliorando Serverless Aurora, e dovreste sperimentare con essa, ma oggi le soluzioni NoSQL come<noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/dynamodb\/\"> DynamoDB<\/a><\/noindex>sono sicuramente molto pi\u00f9 adatte per sistemi serverless. Comunque, \u00e8 indubbio che questa situazione cambier\u00e0 presto.<\/p>\n<p>Gli strumenti impongono anche molte limitazioni, specialmente per quanto riguarda il testing locale. Anche se ci sono soluzioni come Docker-Lambda, DynamoDB Local e LocalStack, richiedono un lavoro meticoloso e una configurazione significativa. Tuttavia, tutti questi progetti stanno evolvendo attivamente, quindi \u00e8 solo una questione di tempo prima che gli strumenti raggiungano il livello di cui abbiamo bisogno.<\/p>\n<h2>L'impatto delle tecnologie serverless sul ciclo di sviluppo<\/h2>\n<p>\nPoich\u00e9 la vostra infrastruttura \u00e8 semplicemente una configurazione, \u00e8 possibile definire e distribuire il codice utilizzando script, come gli script shell. Oppure si possono utilizzare soluzioni di tipo configuration-as-code come <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/cloudformation\/\">AWS CloudFormation<\/a><\/noindex>. Sebbene questo servizio non fornisca una configurazione per tutte le aree, consente di definire risorse specifiche da utilizzare come funzioni Lambda. Quindi, dove CloudFormation potrebbe deludervi, potete scrivere la vostra risorsa (funzione Lambda) per colmare questa lacuna. In questo modo, potete fare qualsiasi cosa, persino configurare dipendenze al di fuori del vostro ambiente AWS.<\/p>\n<p>Poich\u00e9 tutto ci\u00f2 \u00e8 semplicemente una configurazione, potete parametricizzare i vostri script di distribuzione per ambienti, regioni e utenti specifici, specialmente se utilizzate soluzioni di tipo infrastructure-as-code come CloudFormation. Ad esempio, potete distribuire una copia dell'infrastruttura per ogni ramo del repository, per testarle completamente isolate durante lo sviluppo. Questo accelera radicalmente il feedback per gli sviluppatori, quando vogliono capire se il loro codice funziona correttamente nell'ambiente reale. I responsabili non devono preoccuparsi dei costi di 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 una configurazione corretta. Non \u00e8 pi\u00f9 necessario gestire istanze, bilanciatori o gruppi di sicurezza. Perci\u00f2, \u00e8 sempre pi\u00f9 frequente l'uso del termine NoOps, anche se \u00e8 ancora importante sapere come configurare l'infrastruttura, soprattutto per quanto riguarda la configurazione IAM e l'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 strumenti consentono di monitorare lo stato attuale delle applicazioni serverless, forniscono log e tracciamento, registrano metriche di performance e colli di bottiglia architetturali, eseguono analisi e previsioni di costi, e molto altro. Non solo offre ai ingegneri DevOps, sviluppatori e architetti una panoramica completa del funzionamento delle applicazioni, ma consente anche ai responsabili di monitorare la situazione in tempo reale, con spese per risorse calcolate al secondo e previsioni sui costi. Organizzare qualcosa di simile con un'infrastruttura gestita \u00e8 molto pi\u00f9 difficile.<\/p>\n<p>Progettare applicazioni serverless \u00e8 molto pi\u00f9 semplice, perch\u00e9 non \u00e8 necessario distribuire server web, gestire macchine virtuali o container, applicare patch a server, sistemi operativi, gateway Internet, ecc. L'astrazione da tutte queste responsabilit\u00e0 permette all'architettura serverless di concentrarsi su ci\u00f2 che \u00e8 veramente importante: soddisfare le esigenze di business e dei clienti.<\/p>\n<p>Sebbene gli strumenti potessero essere migliori (stanno migliorando ogni giorno), gli sviluppatori possono concentrarsi sull'implementazione della logica di business e sulla migliore distribuzione della complessit\u00e0 dell'applicazione attraverso i vari servizi nell'architettura. La gestione delle applicazioni serverless avviene in base agli eventi ed \u00e8 astratta dal fornitore cloud (ad esempio, SQS, eventi S3 o flussi DynamoDB). Pertanto, agli sviluppatori basta scrivere la logica di business per rispondere a determinati eventi, senza doversi preoccupare di come implementare al meglio i database e le code di messaggi, o come organizzare il funzionamento ottimale con i dati in specifici archivi hardware.<\/p>\n<p>Il codice pu\u00f2 essere eseguito e debugato localmente, esattamente come in qualsiasi processo di sviluppo. Il test modulare rimane invariato. La possibilit\u00e0 di distribuire un'intera infrastruttura applicativa tramite una configurazione personalizzabile dello stack consente agli sviluppatori di ricevere rapidamente feedback importante, senza preoccuparsi del costo dei test o dell'impatto su ambienti gestiti costosi.<\/p>\n<h2>Strumenti e metodologie per la creazione di applicazioni serverless<\/h2>\n<p>\nNon esiste un modo specifico per costruire applicazioni serverless. N\u00e9 un insieme di servizi designati per questo compito. Attualmente, il leader tra le potenti soluzioni serverless \u00e8 AWS, ma vale la pena prestare 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 usi AWS, ti consiglio di considerare l'approccio di raccolta delle applicazioni tramite <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 esattamente le stesse cose di Visual Studio, quindi non perderai nulla passando a un altro IDE o editor di testo. Naturalmente, SAM funziona anche con altri linguaggi.<\/p>\n<p>Se stai scrivendo in altri linguaggi, il Serverless Framework \u00e8 un eccellente strumento open source che consente di configurare qualsiasi cosa tramite file YAML di configurazione molto potenti. Inoltre, il Serverless Framework supporta vari servizi cloud, quindi lo raccomandiamo a chi cerca una soluzione multi-cloud. Ha una grande comunit\u00e0 che ha creato numerosi plugin per ogni necessit\u00e0. <\/p>\n<p>Per il test locale, strumenti open source come Docker-Lambda, Serverless Local, DynamoDB Local e LocalStack sono molto utili. Le tecnologie serverless sono ancora in fase di sviluppo, cos\u00ec come gli strumenti associati, quindi la configurazione per scenari di test complessi pu\u00f2 richiedere un po' di lavoro. Tuttavia, distribuire semplicemente uno stack in un ambiente e testarlo \u00e8 incredibilmente economico. 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 tempi di caricamento, utilizza AWS Lambda Layers. <\/p>\n<p>Utilizza i linguaggi di programmazione giusti per compiti specifici. Ogni linguaggio ha i propri vantaggi e svantaggi. Ci sono molti benchmark, ma JavaScript, Python e C# (.NET Core 2.1+) sono i leader in termini di prestazioni su AWS Lambda. Recentemente, AWS Lambda ha introdotto l'Runtime API, che consente di specificare il linguaggio e l'ambiente di esecuzione desiderati, quindi sperimenta.<\/p>\n<p>Mantieni le dimensioni dei pacchetti per il deployment ridotte. Pi\u00f9 sono piccoli, pi\u00f9 velocemente si caricano. Evita di utilizzare librerie enormi, specialmente se hai bisogno solo di alcune funzionalit\u00e0. Se programmi in JavaScript, utilizza strumenti di build come Webpack per ottimizzare la build includendo solo ci\u00f2 di cui hai realmente bisogno. In .NET Core 3.0 ci sono QuickJit e Tiered Compilation, che migliorano le prestazioni e aiutano notevolmente nei cold start.<\/p>\n<p>La dipendenza delle funzioni serverless dagli eventi pu\u00f2 inizialmente complicare il coordinamento della logica di business. Per questo motivo, le code di messaggi e gli automi a stati finiti possono risultare estremamente utili. Le funzioni Lambda possono invocarsi a vicenda, ma fallo solo se non ti aspetti una risposta ('sparato e dimenticato') \u2014 non desideri ricevere una fattura per l'attesa di completamento di un'altra funzione. Le code di messaggi sono utili per isolare le parti della logica di business, gestire i colli di bottiglia e trattare le transazioni (utilizzando le code FIFO). Le funzioni AWS Lambda possono essere associate a code SQS come code di messaggi 'in sospeso', che monitorano i messaggi falliti per ulteriori analisi. Le funzioni AWS Step Functions (automi a stati finiti) sono molto utili per gestire processi complessi che richiedono la creazione di catene di funzioni. Invece di far invocare una funzione Lambda da un'altra, le Step Functions possono coordinare le transizioni di stato, trasferire dati tra funzioni e gestire lo stato globale delle funzioni. Questo consente di specificare le condizioni per i tentativi di ripetizione o cosa fare in caso di errori specifici \u2014 uno strumento molto potente in determinate situazioni.<\/p>\n<h2>Conclusione<\/h2>\n<p>\nNegli ultimi anni, le tecnologie serverless si sono sviluppate a ritmi senza precedenti. Questa cambiamento di paradigma \u00e8 associata a certi fraintendimenti. Grazie all'astrazione dell'infrastruttura e della gestione della scalabilit\u00e0, le soluzioni serverless offrono notevoli vantaggi: dalla semplificazione dello sviluppo e dei processi DevOps, a una significativa riduzione dei costi operativi.<br \/>\nSebbene l'approccio serverless abbia i suoi svantaggi, esistono metodologie affidabili e schemi di design che permettono di creare applicazioni serverless robuste o di integrare elementi serverless nelle 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.0.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.0.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\udd47Suggerimenti e fonti di informazione per la creazione di applicazioni serverless | ProHoster","description":"Anche se senza server.","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}]}}