{"id":30199,"date":"2019-10-31T21:34:08","date_gmt":"2019-10-31T18:34:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\/"},"modified":"2019-10-31T21:34:08","modified_gmt":"2019-10-31T18:34:08","slug":"vozmozhno-vam-ne-nuzhen-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","title":{"rendered":"Forse non hai bisogno di Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Forse non hai bisogno di Kubernetes\" src=\"\/wp-content\/uploads\/2019\/03\/4cd1c0ed29bf76731aab81ce67144352.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ragazza sulla scooter. Illustrazione <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freepik.com\/free-photos-vectors\/car\">freepik<\/a><\/noindex>, logo di Nomad <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">HashiCorp<\/a><\/noindex><\/i><\/p>\n<p>Kubernetes \u00e8 un gorilla di 300 kg per l'orchestrazione dei container. Funziona in alcuni dei pi\u00f9 grandi sistemi di container al mondo, ma \u00e8 costoso.<\/p>\n<p>Particolarmente costoso per i piccoli team, che dovranno dedicare molto tempo alla manutenzione e affrontare una curva di apprendimento ripida. Per il nostro team di quattro persone, \u00e8 troppo dispendioso. Quindi, abbiamo iniziato a cercare alternative e ci siamo innamorati di <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">Nomad<\/a><\/noindex>.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1>Cosa desideriamo<\/h1>\n<p>\nIl nostro team supporta una serie di servizi tipici per il monitoraggio e l'analisi delle prestazioni: endpoint API per le metriche scritte in Go, esportazione Prometheus, parser di log come Logstash e <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/trivago\/gollum\">Gollum<\/a><\/noindex>, oltre a database come InfluxDB o Elasticsearch. Ognuno di questi servizi funziona in un proprio container. Abbiamo bisogno di un sistema semplice per mantenere tutto in funzione.<\/p>\n<p>Abbiamo iniziato con un elenco di requisiti per l'orchestrazione dei container:<\/p>\n<ul>\n<li>Esecuzione di un insieme di servizi su pi\u00f9 macchine.\n<\/li>\n<li>Panorama dei servizi attivi.\n<\/li>\n<li>Collegamenti tra i servizi.\n<\/li>\n<li>Riavvio automatico se un servizio si arresta.\n<\/li>\n<li>Gestione dell'infrastruttura da parte di un piccolo team.<\/li>\n<\/ul>\n<p>\nInoltre, le seguenti caratteristiche saranno gradevoli ma non obbligatorie:<\/p>\n<ul>\n<li>Etichettatura delle macchine in base alle loro capacit\u00e0 (ad esempio, etichettare le macchine con dischi veloci per servizi pesanti di input\/output).\n<\/li>\n<li>Possibilit\u00e0 di avviare i servizi indipendentemente dall'orchestratore (ad esempio, durante lo sviluppo).\n<\/li>\n<li>Un luogo comune per la condivisione di configurazioni e segreti.\n<\/li>\n<li>Endpoint per metriche e log.<\/li>\n<\/ul>\n<p><\/p>\n<h1>Perch\u00e9 Kubernetes non fa per noi<\/h1>\n<p>\nDurante la creazione di un prototipo con Kubernetes, abbiamo notato che iniziavamo ad aggiungere strati di logica sempre pi\u00f9 complessi, sui quali ci affidavamo incondizionatamente.<\/p>\n<p>Ad esempio, Kubernetes supporta configurazioni di servizio integrate tramite <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">ConfigMaps<\/a><\/noindex>. Puoi facilmente confonderti, specialmente quando unisci pi\u00f9 file di configurazione o aggiungi pi\u00f9 servizi in un pod. Kubernetes (o <noindex><a rel=\"nofollow\" href=\"https:\/\/helm.sh\/\">helm<\/a><\/noindex> In questo caso, consente di implementare dinamicamente configurazioni esterne per separare gli interessi. Tuttavia, ci\u00f2 porta a un legame rigido e nascosto tra il tuo progetto e Kubernetes. Tuttavia, Helm e ConfigMaps sono opzioni aggiuntive, quindi non \u00e8 necessario utilizzarli. Puoi semplicemente copiare la configurazione nell'immagine Docker. Tuttavia, \u00e8 allettante seguire questo percorso e costruire astrazioni inutili, di cui potresti pentirti in seguito.<\/p>\n<p>Inoltre, l'ecosistema Kubernetes si evolve rapidamente. Ci vuole molto tempo ed energia per rimanere aggiornati sulle migliori pratiche e sugli strumenti pi\u00f9 recenti. Kubectl, minikube, kubeadm, helm, tiller, kops, oc - l'elenco continua e continua. Non tutti questi strumenti sono necessari all'inizio, ma non sai di cosa avrai bisogno, quindi \u00e8 importante essere al corrente di tutto. Per questo motivo, la curva di apprendimento \u00e8 abbastanza ripida.<\/p>\n<h1>Quando usare Kubernetes<\/h1>\n<p>\nNella nostra azienda molte persone utilizzano Kubernetes e ne sono abbastanza soddisfatte. Queste istanze sono gestite da Google o Amazon, che hanno risorse sufficienti per il supporto.<\/p>\n<p>Kubernetes viene fornito con <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">funzionalit\u00e0 sorprendenti<\/a><\/noindex>, che rendono pi\u00f9 gestibile l'orchestrazione su larga scala dei contenitori:<\/p>\n<ul>\n<li>Gestione dettagliata <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/authorization\/\">dei diritti<\/a><\/noindex>.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/api-extension\/custom-resources\/#custom-controllers\">Controller personalizzati<\/a><\/noindex> aggiungono logica al cluster. Sono semplicemente programmi che comunicano con l'API di Kubernetes.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/\">Auto-scalabilit\u00e0<\/a><\/noindex>! Kubernetes \u00e8 in grado di scalare i servizi su richiesta, utilizzando metriche di servizio e senza richiedere intervento manuale.<\/li>\n<\/ul>\n<p>\nLa questione \u00e8 se hai davvero bisogno di tutte queste funzionalit\u00e0. Non puoi semplicemente fare affidamento sulle astrazioni; <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">dovrai capire cosa succede sotto il cofano<\/a><\/noindex>.<\/p>\n<p>Il nostro team fornisce la maggior parte dei servizi da remoto (a causa della stretta connessione con l'infrastruttura principale), quindi non volevamo sollevare un nostro cluster Kubernetes. Volevamo semplicemente fornire servizi.<\/p>\n<h1>Batterie non incluse<\/h1>\n<p>\nNomad \u00e8 il 20% dell'orchestrazione che fornisce l'80% di ci\u00f2 che serve. Tutto ci\u00f2 che fa \u00e8 gestire i deployment. Nomad si occupa dei deployment, riavvia i contenitori in caso di errori... e questo \u00e8 tutto.<\/p>\n<p>Il senso di Nomad \u00e8 proprio questo: <i>almeno<\/i>niente gestione dettagliata dei diritti o <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/network-policies\/\">politiche di rete avanzate<\/a><\/noindex>, cos\u00ec \u00e8 progettato appositamente. Questi componenti sono forniti da terzi o non sono forniti affatto.<\/p>\n<p>Penso che Nomad abbia trovato il compromesso ideale tra facilit\u00e0 d'uso e utilit\u00e0. \u00c8 ottimo per servizi piccoli e indipendenti. Se hai bisogno di pi\u00f9 controllo, dovrai gestirli autonomamente o usare un altro approccio. Nomad \u00e8 <i>solo<\/i> un orchestratore.<\/p>\n<p>La cosa migliore di Nomad \u00e8 che \u00e8 facile <i>sostituire<\/i>. Il vendor lock-in \u00e8 praticamente assente, poich\u00e9 le sue funzionalit\u00e0 si integrano facilmente con qualsiasi altro sistema che gestisce i servizi. Funziona semplicemente come un normale binario su ogni macchina nel cluster, tutto qui!<\/p>\n<h1>L'ecosistema di Nomad \u00e8 composto da componenti scarsamente accoppiati<\/h1>\n<p>\nLa vera forza di Nomad risiede nel suo ecosistema. Si integra molto bene con altri prodotti completamente opzionali, come <noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/\">Consul<\/a><\/noindex> (magazzino chiave-valore) o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">Vault<\/a><\/noindex> (gestione dei segreti). All'interno del file di Nomad ci sono sezioni per estrarre dati da questi servizi:<\/p>\n<pre><code class=\"plaintext\">template {\n  data = &lt;&lt;EOH\nLOG_LEVEL=&quot;{{key &quot;service\/geo-api\/log-verbosity&quot;}}&quot;\nAPI_KEY=&quot;{{with secret &quot;secret\/geo-api-key&quot;}}{{.Data.value}}{{end}}&quot;\nEOH\n\n  destination = &quot;secrets\/file.env&quot;\n  env         = true\n}<\/code><\/pre>\n<p>\nQui leggiamo la chiave <code>service\/geo-api\/log-verbosity<\/code> da Consul e durante l'esecuzione la presentiamo come variabile d'ambiente <code>LOG_LEVEL<\/code>. Presentiamo anche la chiave <code>secret\/geo-api-key<\/code> da Vault come <code>API_KEY<\/code>. Semplice ma potente!<\/p>\n<p>Grazie alla sua semplicit\u00e0, Nomad si espande facilmente tramite altri servizi attraverso API. Ad esempio, supporta i tag per i job. Etichettiamo tutti i servizi con metriche con il tag <code>trv-metrics<\/code>. In questo modo, Prometheus trova facilmente questi servizi tramite Consul e controlla periodicamente l'endpoint <code>\/metrics<\/code> per nuovi dati. Lo stesso pu\u00f2 essere fatto, ad esempio, per i log, utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/loki\">Loki<\/a><\/noindex>.<\/p>\n<p>Ci sono molti altri esempi di espandibilit\u00e0:<\/p>\n<ul>\n<li>Eseguire un job Jenkins tramite un hook, e Consul monitora il ridispiegamento del job di Nomad al variare della configurazione del servizio.\n<\/li>\n<li>Ceph aggiunge a Nomad un file system distribuito.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fabiolb\/fabio\">fabio<\/a><\/noindex> per il bilanciamento del carico.<\/li>\n<\/ul>\n<p>\nTutto ci\u00f2 consente di <noindex><a rel=\"nofollow\" href=\"https:\/\/tech.trivago.com\/2019\/01\/25\/nomad-our-experiences-and-best-practices\/\">sviluppare organicamente l'infrastruttura<\/a><\/noindex> senza un forte vincolo verso il vendor.<\/p>\n<h1>Un avviso onesto<\/h1>\n<p>\nNessun sistema \u00e8 perfetto. Non ti consiglio di implementare subito in produzione le funzionalit\u00e0 pi\u00f9 recenti. Certo, ci sono bug e funzionalit\u00e0 mancanti, ma lo stesso vale per Kubernetes.<\/p>\n<p>Rispetto a Kubernetes, la comunit\u00e0 di Nomad non \u00e8 cos\u00ec vasta. Kubernetes ha gi\u00e0 circa 75.000 commit e 2000 contributori, mentre Nomad ne ha circa 14.000 e 300. Sar\u00e0 difficile per Nomad mantenere il passo e non essere superato da Kubernetes, ma forse non \u00e8 nemmeno necessario! Si tratta di un sistema pi\u00f9 specializzato e una comunit\u00e0 pi\u00f9 piccola significa anche che la tua pull request verr\u00e0 probabilmente notata e accettata pi\u00f9 facilmente rispetto a Kubernetes.<\/p>\n<h1>Riepilogo<\/h1>\n<p>\nConclusione: non utilizzare Kubernetes solo perch\u00e9 lo fanno tutti. Valuta attentamente le tue esigenze e verifica quale strumento sia pi\u00f9 vantaggioso.<\/p>\n<p>Se hai intenzione di distribuire molteplici servizi omogenei su un'infrastruttura su larga scala, Kubernetes \u00e8 un'ottima scelta. Tieni presente la complessit\u00e0 aggiuntiva e i costi operativi. Alcuni costi possono essere evitati utilizzando un ambiente Kubernetes gestito, come <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/kubernetes-engine\/\">Google Kubernetes Engine<\/a><\/noindex> o <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon EKS<\/a><\/noindex>.<\/p>\n<p>Se stai semplicemente cercando un orchestratore affidabile, facile da mantenere e scalabile, perch\u00e9 non provare Nomad? Potresti rimanere sorpreso da quanto lontano ti porter\u00e0.<\/p>\n<p>Se confronti Kubernetes con un'auto, Nomad sar\u00e0 uno scooter. A volte hai bisogno di uno, a volte dell'altro. Entrambi hanno diritto di esistere.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/445030\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435. \u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f freepik, \u043b\u043e\u0433\u043e\u0442\u0438\u043f Nomad \u043e\u0442 HashiCorp Kubernetes\u00a0\u2014 \u044d\u0442\u043e 300-\u043a\u0438\u043b\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0432\u0430\u044f \u0433\u043e\u0440\u0438\u043b\u043b\u0430 \u0434\u043b\u044f \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0430\u043c\u044b\u0445 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u0432 \u043c\u0438\u0440\u0435, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u043e\u0431\u0445\u043e\u0434\u0438\u0442\u0441\u044f. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e \u0434\u043b\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0438 \u043a\u0440\u0443\u0442\u0443\u044e \u043a\u0440\u0438\u0432\u0443\u044e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u044d\u0442\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30199","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\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\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\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\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes\" \/>\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-31T18:34:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:08+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\udd47Forse non hai bisogno di Kubernetes | ProHoster","description":"La ragazza sullo scooter.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","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\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u0435\u043d Kubernetes | ProHoster","og:description":"\u0414\u0435\u0432\u0443\u0448\u043a\u0430 \u043d\u0430 \u0441\u043a\u0443\u0442\u0435\u0440\u0435.","og:url":"https:\/\/prohoster.info\/it\/blog\/vozmozhno-vam-ne-nuzhen-kubernetes","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-31T18:34:08+00:00","article:modified_time":"2019-10-31T18:34:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30199","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":"Article","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 00:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:39:24","updated":"2026-01-21 00:06: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\/30199","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=30199"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/30199\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=30199"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=30199"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=30199"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}