{"id":35006,"date":"2019-10-31T22:01:47","date_gmt":"2019-10-31T19:01:47","guid":{"rendered":"https:\/\/prohoster.info\/blog\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps\/"},"modified":"2019-10-31T22:01:47","modified_gmt":"2019-10-31T19:01:47","slug":"5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps","title":{"rendered":"5 principi di buonsenso per creare app cloud-native","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Le applicazioni \"cloud native\" o semplicemente \"cloud\" sono progettate specificamente per funzionare nelle infrastrutture cloud. Di solito, esse sono costruite come un insieme di microservizi debolmente accoppiati, impacchettati in container, che a loro volta sono gestiti da una piattaforma cloud. Queste applicazioni, per definizione, sono pronte a fronteggiare guasti, il che significa che funzionano in modo affidabile e scalano anche in caso di gravi malfunzionamenti a livello infrastrutturale. Tuttavia, ci sono anche set di vincoli (contratti) che la piattaforma cloud impone sulle applicazioni containerizzate per poterle gestire in modo automatico.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/1f4af6f356ed36d3fbd8adef333501fa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPur comprendere l'importanza del passaggio alle applicazioni cloud, molte organizzazioni non sanno ancora da dove iniziare. In questo post, esamineremo una serie di principi che, se seguiti nello sviluppo di applicazioni containerizzate, consentiranno di sfruttare il potenziale delle piattaforme cloud e garantire un funzionamento e una scalabilit\u00e0 affidabili delle applicazioni, anche in caso di gravi guasti nell'infrastruttura IT. L'obiettivo finale di questi principi \u00e8 imparare a creare applicazioni che possano essere gestite automaticamente da piattaforme cloud come Kubernetes.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Principi di progettazione del software<\/h3>\n<p>\nNel mondo della programmazione, i principi si riferiscono a regole abbastanza generali che devono essere seguite nello sviluppo di software. Possono essere applicati con qualsiasi linguaggio di programmazione. Ogni principio ha i propri obiettivi, i cui strumenti vengono solitamente realizzati tramite modelli e pratiche. Esistono anche alcuni principi fondamentali per la creazione di software di alta qualit\u00e0, da cui derivano tutti gli altri. Ecco alcuni esempi di principi fondamentali:<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/KISS_(%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF)\">KISS<\/a><\/noindex> (Keep it simple, stupid) \u2013 non complicare le cose;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Don%E2%80%99t_repeat_yourself\">DRY<\/a><\/noindex> (Don\u2019t repeat yourself) \u2013 non ripeterti;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/YAGNI\">YAGNI<\/a><\/noindex> (You aren\u2019t gonna need it) \u2013 non creare ci\u00f2 di cui non hai bisogno immediato;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8\">SoC<\/a><\/noindex> (Separation of concerns) \u2013 separare le responsabilit\u00e0.<\/li>\n<\/ul>\n<p>\nCome si pu\u00f2 vedere, questi principi non stabiliscono regole concrete, ma appartengono alla categoria di considerazioni di buon senso basate sull'esperienza pratica, condivise da molti sviluppatori e a cui essi fanno riferimento regolarmente.<br \/>\nInoltre, esiste <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SOLID_(%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)\">SOLID<\/a><\/noindex> \u2013 un insieme dei primi cinque principi di programmazione e progettazione orientata agli oggetti, formulati da Robert Martin. SOLID include principi generali e aperti a interpretazioni complementari, che - se applicati in modo congiunto - aiutano a creare sistemi software di maggiore qualit\u00e0 e a mantenerli meglio nel lungo periodo.<\/p>\n<p>I principi SOLID si applicano all'ambito della programmazione orientata agli oggetti e si formulano in termini di concetti come classi, interfacce e ereditariet\u00e0. Allo stesso modo, per le applicazioni cloud \u00e8 possibile definire principi di sviluppo, dove l'elemento fondamentale non \u00e8 una classe, ma un contenitore. Seguendo questi principi, \u00e8 possibile creare applicazioni containerizzate che rispondono meglio agli obiettivi e alle esigenze delle piattaforme cloud come Kubernetes.<\/p>\n<h3>Container orientati al cloud: l'approccio di Red Hat<\/h3>\n<p>\nOggi \u00e8 relativamente semplice imballare praticamente qualsiasi applicazione in un contenitore. Tuttavia, affinch\u00e9 le applicazioni possano essere automatizzate e orchestrate in modo efficace all'interno di una piattaforma cloud come Kubernetes, \u00e8 necessario fare uno sforzo aggiuntivo.<br \/>\nLa base delle idee qui riportate \u00e8 stata fornita dalla metodologia <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SOLID_(%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)\">The Twelve-Factor App<\/a><\/noindex> e molti altri lavori su vari aspetti della creazione di applicazioni web, dalla gestione del codice sorgente ai modelli di scalabilit\u00e0. I principi descritti si applicano esclusivamente allo sviluppo di applicazioni containerizzate, costruite su microservizi e destinate a piattaforme cloud come Kubernetes. L'elemento di base nelle nostre considerazioni \u00e8 l'immagine del container, e per ambiente di esecuzione dei container si intende la piattaforma di orchestrazione dei container. L'obiettivo dei principi proposti \u00e8 di creare container per i quali sulla maggior parte delle piattaforme di orchestrazione possono essere automatizzati compiti di scheduling (scelta dell'host per l'esecuzione di un'istanza del container), scalabilit\u00e0 e monitoraggio. I principi sono esposti in ordine arbitrario.<\/p>\n<h3>Principio della singola preoccupazione (Single Concern Principle, SCP)<\/h3>\n<p>\nQuesto principio \u00e8 molto simile al principio di singola responsabilit\u00e0 (Single Responsibility Principle, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF_%D0%B5%D0%B4%D0%B8%D0%BD%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8\">SRP<\/a><\/noindex>), che fa parte del set SOLID e afferma che ogni oggetto deve avere una sola responsabilit\u00e0, e questa responsabilit\u00e0 deve essere completamente incapsulata nella classe. L'essenza del SRP \u00e8 che ogni responsabilit\u00e0 \u00e8 una causa di cambiamento, e la classe deve avere una e una sola causa di cambiamento.<\/p>\n<p>Nel SCP, invece della parola \u00abresponsabilit\u00e0\u00bb (responsibility), utilizziamo la parola \u00abcompito\u00bb (concern) per indicare un livello di astrazione pi\u00f9 elevato e un uso pi\u00f9 ampio del contenitore rispetto alla classe OOP. E se l'obiettivo del SRP \u00e8 avere solo una causa di cambiamenti, SCP si basa sul desiderio di ampliare le capacit\u00e0 di riutilizzo e sostituzione dei contenitori. Seguendo il SRP e creando un contenitore che affronta un'unica, specifica questione e lo fa in modo funzionale e completo, aumenti le possibilit\u00e0 di riutilizzo di quel contenitore in vari contesti applicativi.<\/p>\n<p>Il principio SCP afferma che ogni contenitore deve svolgere un'unica funzione e farlo bene. Inoltre, nel mondo dei contenitori, l'SCP \u00e8 pi\u00f9 facile da raggiungere rispetto all'SRP nel mondo OOP, poich\u00e9 i contenitori generalmente eseguono un solo processo, e per gran parte del tempo quel processo risolve un'unica attivit\u00e0.<\/p>\n<p>Se un microservizio contenitore deve affrontare pi\u00f9 compiti contemporaneamente, pu\u00f2 essere suddiviso in contenitori monofunzionali e combinato all'interno di un'unica pod (unit\u00e0 di distribuzione della piattaforma dei contenitori) utilizzando modelli sidecar e init-container. Inoltre, l'SCP facilita la sostituzione di un contenitore obsoleto (ad esempio, un server web o un broker di messaggi) con uno nuovo che svolge la stessa funzione, ma offre funzionalit\u00e0 migliorate o una scalabilit\u00e0 superiore.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/a029e1ca36ace66550c94087e4aecc8e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Il principio dell'alta osservabilit\u00e0 (High Observability Principle, HOP)<\/h3>\n<p>\nQuando si utilizzano i container come metodo unificato per imballare e avviare applicazioni, queste ultime sono considerate come una \"scatola nera\". Tuttavia, se si tratta di container cloud, devono fornire API specifiche all'ambiente di esecuzione per controllare la salute dei container e adottare le misure necessarie. Senza questo, non sar\u00e0 possibile unificare l'automazione dell'aggiornamento dei container e gestire il loro ciclo di vita, il che a sua volta comprometter\u00e0 la resilienza e l'usabilit\u00e0 del sistema software.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/7df1320108d9b635c10c6cf41d5dfef6.jpg\" style=\"display:block;margin: 0 auto;\" \/> <br \/>\nNella pratica, un'applicazione containerizzata deve, almeno, avere API per diversi tipi di controlli della salute: test di attivit\u00e0 (liveness) e test di prontezza (readiness). Se l'applicazione mira a di pi\u00f9, deve fornire anche altri mezzi di controllo del proprio stato. Ad esempio, la registrazione di eventi importanti tramite STDERR e STDOUT per l'aggregazione dei log con strumenti come Fluentd, Logstash e altri strumenti simili. E anche l'integrazione con librerie di tracciamento e raccolta di metriche, come OpenTracing, Prometheus, ecc.<\/p>\n<p>In generale, l'applicazione pu\u00f2 comunque essere considerata come un \u00abblack box\u00bb, ma deve essere dotata di tutte le API necessarie alla piattaforma per monitorarla e gestirla nel modo migliore.<\/p>\n<h3>Principio di Conformit\u00e0 al Ciclo di Vita (Life-cycle Conformance Principle, LCP)<\/h3>\n<p>\nLCP \u00e8 l'antitesi dell'HOP. Se l'HOP afferma che il contenitore deve fornire API alla piattaforma per la lettura, l'LCP richiede all'applicazione di ricevere informazioni dalla piattaforma. Inoltre, il contenitore non deve solo ricevere eventi, ma anche adattarsi, in altre parole, reagire a essi. Da qui il nome del principio, che pu\u00f2 essere visto come un requisito di fornire API di scrittura alla piattaforma.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/f32f5d133597ae3905206badc6677f92.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLe piattaforme hanno diversi tipi di eventi che aiutano a gestire il ciclo di vita del contenitore. Tuttavia, spetta all'applicazione decidere quali eventi percepire e come reagire.<\/p>\n<p>\u00c8 chiaro che alcuni eventi sono pi\u00f9 importanti di altri. Ad esempio, se un'applicazione gestisce male il termine anomalo, deve accettare i messaggi signal: terminate (SIGTERM) e avviare il proprio processo di terminazione il pi\u00f9 velocemente possibile, per poterlo fare prima che venga ricevuto il signal: kill (SIGKILL), che arriva dopo il SIGTERM.<\/p>\n<p>Inoltre, eventi come PostStart e PreStop possono essere cruciali per il ciclo di vita di un'applicazione. Ad esempio, dopo l'avvio, l'applicazione potrebbe avere bisogno di un certo tempo per il 'riscaldamento' prima di poter rispondere alle richieste. Oppure l'applicazione deve liberare risorse in un modo particolare durante la sua chiusura.<\/p>\n<h3>Il principio di immutabilit\u00e0 dell'immagine del container (Image Immutability Principle, IIP)<\/h3>\n<p>\n\u00c8 comune ritenere che le applicazioni containerizzate debbano rimanere immutabili dopo la build, anche quando vengono eseguite in ambienti diversi. Da questo deriva la necessit\u00e0 di esternalizzare lo storage dei dati durante l'esecuzione (in altre parole, utilizzare strumenti esterni per questo) e di affidarsi a configurazioni esterne, specifiche per l'ambiente di esecuzione, invece di modificare o creare container unici per ogni ambiente. Dopo qualsiasi modifica all'applicazione, l'immagine del container deve essere ricostruita e distribuita in tutti gli ambienti utilizzati. A proposito, nella gestione dei sistemi IT viene utilizzato un principio simile, noto come principio dell'immutabilit\u00e0 dei server e dell'infrastruttura. <\/p>\n<p>L'obiettivo dell'IIP \u00e8 quello di evitare di creare immagini di container separate per diversi ambienti di esecuzione e utilizzare lo stesso image ovunque con la configurazione appropriata per l'ambiente specifico. Seguire questo principio consente di implementare pratiche fondamentali per l'automazione dei sistemi cloud, come il rollback e il roll-forward degli aggiornamenti dell'applicazione.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/86b93724830b37f82bf289b797407480.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Il principio della transitoriet\u00e0 dei processi (Process Disposability Principle, PDP)<\/h3>\n<p>\nUna delle caratteristiche fondamentali di un container \u00e8 la sua efemerit\u00e0: un'istanza di container pu\u00f2 essere facilmente creata e distrutta, rendendola sostituibile in qualsiasi momento. Ci sono molte ragioni per cui questa sostituzione pu\u00f2 avvenire: un fallimento nel test di integrit\u00e0, il ridimensionamento dell'applicazione, il trasferimento su un altro host, l'esaurimento delle risorse della piattaforma o altre situazioni. <\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/858287b23c276363313e35cf18b81190.jpg\" style=\"display:block;margin: 0 auto;\" \/> <br \/>\nDi conseguenza, le applicazioni containerizzate devono mantenere il proprio stato utilizzando strumenti esterni, oppure adottare schemi distribuiti interni con ridondanza. Inoltre, l'applicazione deve avviarsi rapidamente e terminare altrettanto velocemente, e deve essere pronta a subire un'improvvisa e fatale avaria dell'hardware.<\/p>\n<p>Una delle pratiche che aiutano a realizzare questo principio \u00e8 quella di creare container di dimensioni contenute. Gli ambienti cloud possono automaticamente selezionare un host per avviare un'istanza di container, quindi pi\u00f9 piccola \u00e8 la dimensione del container, pi\u00f9 velocemente verr\u00e0 avviata: si copier\u00e0 semplicemente pi\u00f9 rapidamente sull'host di destinazione tramite rete.<\/p>\n<h3>Principio di auto-sufficienza (Self-containment Principle, S-CP)<\/h3>\n<p>\nSecondo questo principio, durante la fase di assemblaggio tutti i componenti necessari vengono inclusi nel contenitore. Il contenitore deve essere progettato tenendo conto che nel sistema c'\u00e8 solo un nucleo Linux pulito, quindi tutte le librerie necessarie devono essere collocate all'interno dello stesso contenitore. Qui devono essere presenti anche elementi come l'ambiente di esecuzione per il linguaggio di programmazione pertinente, la piattaforma applicativa (se necessario) e altre dipendenze richieste durante l'esecuzione dell'applicazione contenitore. <\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/ecc7425510d63e4914c0c9a7e90b02a6.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Le eccezioni vengono fatte solo per le configurazioni che variano da ambiente a ambiente e devono essere fornite durante l'esecuzione, ad esempio tramite Kubernetes ConfigMap.<\/p>\n<p>L'applicazione pu\u00f2 includere diversi componenti containerizzati, ad esempio un contenitore separato per il database all'interno di un'applicazione web containerizzata. Secondo il principio S-CP, questi contenitori non devono essere uniti in uno solo, ma devono essere progettati in modo tale che il contenitore del database contenga tutto il necessario per il funzionamento del database, mentre il contenitore dell'applicazione web contenga tutto il necessario per l'esecuzione dell'applicazione web, incluso il server web. Di conseguenza, durante l'esecuzione, il contenitore dell'applicazione web dipender\u00e0 dal contenitore del database e si connetter\u00e0 ad esso secondo necessit\u00e0.<\/p>\n<h3>Principio di restrizione in tempo di esecuzione (Runtime Confinement Principle, RCP)<\/h3>\n<p>\nIl principio S-CP definisce come deve essere assemblato un contenitore e cosa deve contenere il file binario dell'immagine. Ma un contenitore non \u00e8 solo un \"black box\" con una sola caratteristica - la dimensione del file. Durante l'esecuzione, un contenitore acquisisce altre dimensioni: la quantit\u00e0 di memoria utilizzata, il tempo di CPU e altre risorse di sistema.<\/p>\n<p><img decoding=\"async\" alt=\"5 principi di buonsenso per creare app cloud-native\" src=\"\/wp-content\/uploads\/2019\/06\/a52e6a656892e57479ac014a3e6f4316.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nE qui entra in gioco il principio RCP, secondo cui un container deve decapitare le proprie richieste di risorse di sistema e trasmetterle alla piattaforma. Avendo i profili delle risorse di ogni container (quante risorse CPU, memoria, rete e storage necessitano), la piattaforma pu\u00f2 gestire in modo ottimale il dispatching e l'auto-scalabilit\u00e0, gestire le capacit\u00e0 IT e mantenere i livelli SLA per i container.<\/p>\n<p>Oltre a soddisfare le richieste di risorse del container, \u00e8 fondamentale che l'applicazione non superi i limiti stabiliti dallo stesso. Altrimenti, in caso di carenza di risorse, la piattaforma avr\u00e0 maggiore probabilit\u00e0 di includerla nell'elenco delle applicazioni da interrompere o migrare.<\/p>\n<p>Parlando di cloud-oriented, intendiamo principalmente il modo di operare. <br \/>\nAbbiamo delineato sopra una serie di principi generali che stabiliscono le basi metodologiche per costruire applicazioni container di qualit\u00e0 per ambienti cloud.<\/p>\n<p>\u00c8 importante notare che, oltre a questi principi generali, avrete bisogno di metodi e tecniche avanzate specifiche per lavorare con i contenitori. Inoltre, abbiamo alcune raccomandazioni brevi, pi\u00f9 specifiche, che devono essere applicate (o meno) a seconda della situazione:<\/p>\n<ul>\n<li>Cercate di ridurre la dimensione delle immagini: eliminate i file temporanei e non installate pacchetti non necessari. Minore \u00e8 la dimensione del contenitore, pi\u00f9 rapido sar\u00e0 il suo assemblaggio e la sua copia sulla destinazione attraverso la rete.<\/li>\n<li>Utilizzate identificatori utente arbitrari: evitate di usare il comando sudo o identificatori utente privilegiati per eseguire i vostri contenitori.<\/li>\n<li>Etichettate le porte importanti: i numeri delle porte possono essere definiti anche durante l'esecuzione, ma \u00e8 meglio specificarli usando il comando EXPOSE \u2013 sar\u00e0 pi\u00f9 facile per altri utenti e programmi utilizzare le vostre immagini. <\/li>\n<li>Conservate i dati permanenti sui volumi: i dati che devono rimanere dopo la rimozione del contenitore devono essere registrati sui volumi.<\/li>\n<li>Annotate i metadati dell'immagine: tag, etichette e annotazioni facilitano l'uso delle immagini \u2013 altri sviluppatori vi saranno grati.<\/li>\n<li>Sincronizza host e immagini: alcune applicazioni container richiedono la sincronizzazione del contenitore con l'host in base ad attributi specifici, come l'ora o l'identificativo della macchina.<\/li>\n<li>In conclusione, condividiamo modelli e best practice che aiuteranno a implementare in modo pi\u00f9 efficace i principi sopra elencati:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/luebken\/container-patterns\">www.slideshare.net\/luebken\/container-patterns<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/userguide\/eng-image\/dockerfile_best-practices\">docs.docker.com\/engine\/userguide\/eng-image\/dockerfile_best-practices<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/docs.projectatomic.io\/container-best-practices\">docs.projectatomic.io\/container-best-practices<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.openshift.com\/enterprise\/3.0\/creating_images\/guidelines.html\">docs.openshift.com\/enterprise\/3.0\/creating_images\/guidelines.html<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.usenix.org\/system\/files\/conference\/hotcloud16\/hotcloud16_burns.pdf\">www.usenix.org\/system\/files\/conference\/hotcloud16\/hotcloud16_burns.pdf<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/leanpub.com\/k8spatterns\/\">leanpub.com\/k8spatterns<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/12factor.net\/\">12factor.net<\/a><\/noindex><\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/events.redhat.com\/profile\/form\/index.cfm?intcmp=701f20000012s47AAA&amp;PKFormID=0x5789474c4\"><b>Webinar sulla nuova versione di OpenShift Container Platform \u2013 4<\/b><\/a><\/noindex><br \/>\n11 giugno alle 11.00<\/p>\n<p>Cosa imparerai:<\/p>\n<ul>\n<li>Immutable Red Hat Enterprise Linux CoreOS<\/li>\n<li>OpenShift service mesh<\/li>\n<li>Operator framework<\/li>\n<li>Knative framework<\/li>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/455024\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\u00bb (cloud native) \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0441\u043b\u0430\u0431\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0422\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0441\u0431\u043e\u044f\u043c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u0430\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0435\u0434\u0430\u043b\u0438 \u2013 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26340,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-35006","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\u00bb (cloud native) \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0441\u043b\u0430\u0431\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0422\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0441\u0431\u043e\u044f\u043c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u0430\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0435\u0434\u0430\u043b\u0438 \u2013\" \/>\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\/novosti-interneta\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps\" \/>\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\udd475 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0437\u0434\u0440\u0430\u0432\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f cloud-native apps | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\u00bb (cloud native) \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0441\u043b\u0430\u0431\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0422\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0441\u0431\u043e\u044f\u043c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u0430\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0435\u0434\u0430\u043b\u0438 \u2013\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps\" \/>\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=\"2019-10-31T19:01:47+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:01:47+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\udd475 principi di buon senso per creare app cloud-native | ProHoster","description":"Le applicazioni \u00abcloud native\u00bb o semplicemente \u00abin cloud\u00bb sono progettate specificamente per funzionare all'interno delle infrastrutture cloud. Di solito, vengono costruite come un insieme di microservizi debolmente accoppiati, confezionati in contenitori, gestiti a loro volta da una piattaforma cloud. Tali applicazioni sono pronte per i guasti per definizione, il che significa che funzionano in modo affidabile e scalano anche in caso di gravi malfunzionamenti a livello infrastrutturale. Tuttavia,","canonical_url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps","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\udd475 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0437\u0434\u0440\u0430\u0432\u043e\u0433\u043e \u0441\u043c\u044b\u0441\u043b\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f cloud-native apps | ProHoster","og:description":"\u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435\u00bb (cloud native) \u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u00ab\u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435\u00bb \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u0445. \u041e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0431\u043e\u0440 \u0441\u043b\u0430\u0431\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439. \u0422\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0441\u0431\u043e\u044f\u043c, \u0430 \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u044b\u0445 \u043e\u0442\u043a\u0430\u0437\u0430\u0445 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u0430 \u043c\u0435\u0434\u0430\u043b\u0438 \u2013","og:url":"https:\/\/prohoster.info\/it\/blog\/novosti-interneta\/5-printsipov-zdravogo-smysla-dlya-sozdaniya-cloud-native-apps","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":"2019-10-31T19:01:47+00:00","article:modified_time":"2019-10-31T19:01:47+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35006","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":"2026-01-21 21:27:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:11:30","updated":"2026-01-21 21:27:19","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\/35006","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=35006"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35006\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26340"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=35006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=35006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=35006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}