{"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":"Potresti non avere bisogno di Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Potresti non avere bisogno di Kubernetes\" src=\"\/wp-content\/uploads\/2019\/03\/4cd1c0ed29bf76731aab81ce67144352.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ragazza su uno scooter. Illustrazione <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freepik.com\/free-photos-vectors\/car\">freepik<\/a><\/noindex>, logo di Nomad di <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nomadproject.io\/\">HashiCorp<\/a><\/noindex><\/i><\/p>\n<p>Kubernetes \u00e8 un gorilla da 300 chilogrammi per l'orchestrazione dei container. Funziona in alcuni dei pi\u00f9 grandi sistemi di container al mondo, ma ha un costo elevato.<\/p>\n<p>Particolarmente costoso per 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 alto il sovraccarico. Cos\u00ec 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 ci serve<\/h1>\n<p>\nIl nostro team supporta una serie di servizi tipici per il monitoraggio e l'analisi delle performance: endpoint API per 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 opera 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>Panoramica dei servizi in esecuzione.\n<\/li>\n<li>Collegamenti tra i servizi.\n<\/li>\n<li>Riavvio automatico in caso di crash del servizio.\n<\/li>\n<li>Manutenzione dell'infrastruttura da parte di un piccolo team.<\/li>\n<\/ul>\n<p>\nInoltre, le seguenti funzionalit\u00e0 sarebbero piacevoli, ma non essenziali:<\/p>\n<ul>\n<li>Marcatura delle macchine in base alle loro capacit\u00e0 (ad esempio, marcatura delle macchine con dischi veloci per servizi intensivi in input\/output).\n<\/li>\n<li>Possibilit\u00e0 di eseguire 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>\nQuando abbiamo creato un prototipo con Kubernetes, abbiamo notato che aggiungevamo strati sempre pi\u00f9 complessi di logica su cui ci siamo affidati incondizionatamente.<\/p>\n<p>Ad esempio, Kubernetes supporta configurazioni di servizio incorporate 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 ulteriori servizi a un pod. Kubernetes (o <noindex><a rel=\"nofollow\" href=\"https:\/\/helm.sh\/\">helm<\/a><\/noindex> in questo caso) consente di introdurre dinamicamente configurazioni esterne per separare le preoccupazioni. Tuttavia, questo porta a un legame rigido e nascosto tra il tuo progetto e Kubernetes. Tuttavia, Helm e ConfigMaps sono opzioni aggiuntive, quindi non \u00e8 necessario usarle. Puoi semplicemente copiare la configurazione nell'immagine Docker. Nonostante ci\u00f2, \u00e8 allettante seguire questa strada e costruire astrattamenti non necessari, 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 - la lista continua e continua. Non \u00e8 necessario avere tutti questi strumenti all'inizio, ma non sai cosa ti servir\u00e0, quindi devi essere informato su tutto. A causa di ci\u00f2, la curva di apprendimento \u00e8 piuttosto ripida.<\/p>\n<h1>Quando usare Kubernetes<\/h1>\n<p>\nNella nostra azienda, molti usano Kubernetes e sono soddisfatti. Questi istanze sono gestite da Google o Amazon, che hanno le risorse per supportarle.<\/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 la scalabilit\u00e0 dell'orchestrazione dei container pi\u00f9 gestibile:<\/p>\n<ul>\n<li>Gestione dei diritti <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/access-authn-authz\/authorization\/\">dettagliata.<\/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 dialogano con l'API di Kubernetes.\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/\">Autoscalamento<\/a><\/noindex>! Kubernetes pu\u00f2 scalare i servizi su richiesta, utilizzando metriche di servizio e senza necessit\u00e0 di intervento manuale.<\/li>\n<\/ul>\n<p>\nLa domanda \u00e8: hai davvero bisogno di tutte queste funzionalit\u00e0? Non puoi solo fare affidamento sulle astrattazioni; <noindex><a rel=\"nofollow\" href=\"https:\/\/jvns.ca\/blog\/2017\/08\/05\/how-kubernetes-certificates-work\/\">dovrai scoprire cosa accade sotto il cofano.<\/a><\/noindex>.<\/p>\n<p>Il nostro team fornisce la maggior parte dei servizi da remoto (a causa della stretta integrazione con l'infrastruttura principale), per cui non volevamo avviare 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 quanto necessario. Tutto ci\u00f2 che fa \u00e8 gestire le distribuzioni. Nomad si occupa delle distribuzioni, riavvia i container in caso di errori\u2026 e questo \u00e8 tutto.<\/p>\n<p>Il punto di Nomad \u00e8 che fa <i>un minimo di<\/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. Questi componenti sono forniti da terze parti 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 buono per servizi piccoli e indipendenti. Se hai bisogno di pi\u00f9 controllo, dovrai sollevarli da solo o utilizzare un altro approccio. Nomad \u00e8 un <i>solo<\/i> orchestratore.<\/p>\n<p>La cosa migliore di Nomad \u00e8 che \u00e8 facile <i>sostituire<\/i>. Il legame con il vendor \u00e8 praticamente assente, poich\u00e9 le sue funzioni si integrano facilmente in qualsiasi altro sistema di gestione dei 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 debolmente connessi<\/h1>\n<p>\nLa vera forza di Nomad sta nel suo ecosistema. Si integra molto bene con altri prodotti \u2013 completamente opzionali \u2013 come <noindex><a rel=\"nofollow\" href=\"https:\/\/www.consul.io\/\">Consul<\/a><\/noindex> (memoria chiave-valore) o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.vaultproject.io\/\">Vault<\/a><\/noindex> (gestione dei segreti). All'interno del file 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 pu\u00f2 essere facilmente esteso con altri servizi tramite API. Ad esempio, supporta i tag per i job. Etichettiamo tutti i servizi con metriche utilizzando il tag <code>trv-metrics<\/code>. In questo modo, Prometheus pu\u00f2 facilmente trovare questi servizi attraverso Consul e controllare periodicamente l'endpoint <code>\/metrics<\/code> per nuovi dati. Lo stesso si pu\u00f2 fare, 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 estensibilit\u00e0:<\/p>\n<ul>\n<li>Esecuzione di un job Jenkins con un hook, e Consul monitora il ri-deploy del job Nomad in caso di modifiche alla 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 particolare legame con il vendor.<\/p>\n<h1>Avvertenza onesta<\/h1>\n<p>\nNessun sistema \u00e8 perfetto. Non consiglio di implementare immediatamente le funzioni pi\u00f9 recenti in produzione. Certo, ci sono bug e funzioni mancanti, ma lo stesso vale per Kubernetes.<\/p>\n<p>Rispetto a Kubernetes, la comunit\u00e0 di Nomad non \u00e8 cos\u00ec grande. Kubernetes ha gi\u00e0 circa 75.000 commit e 2.000 contributori, mentre Nomad ha circa 14.000 commit e 300 contributori. Sar\u00e0 difficile per Nomad tenere il passo con la velocit\u00e0 di Kubernetes, ma forse non \u00e8 necessario! \u00c8 un sistema pi\u00f9 specializzato, e una comunit\u00e0 pi\u00f9 piccola significa anche che la tua pull request verr\u00e0 notata e accettata pi\u00f9 facilmente rispetto a Kubernetes.<\/p>\n<h1>Riepilogo<\/h1>\n<p>\nIn sintesi: non usare Kubernetes solo perch\u00e9 lo fanno tutti. Valuta attentamente le tue esigenze e verifica quale strumento \u00e8 pi\u00f9 vantaggioso.<\/p>\n<p>Se prevedi di distribuire un gran numero di servizi omogenei su un'infrastruttura su larga scala, Kubernetes \u00e8 una buona scelta. Tieni solo 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 ed estendibile, perch\u00e9 non provare Nomad? Potresti rimanere sorpreso da quanto ti porter\u00e0 lontano.<\/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 il loro posto.<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.0.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.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\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\udd47Potresti non aver bisogno di Kubernetes | ProHoster","description":"Ragazza in 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}]}}