{"id":32318,"date":"2019-10-31T21:46:20","date_gmt":"2019-10-31T18:46:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/flexiant-cloud-orchestrator-s-chem-ego-edyat\/"},"modified":"2019-10-31T21:46:20","modified_gmt":"2019-10-31T18:46:20","slug":"flexiant-cloud-orchestrator-s-chem-ego-edyat","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/news\/flexiant-cloud-orchestrator-s-chem-ego-edyat","title":{"rendered":"Flexiant Cloud Orchestrator: hva er det?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Flexiant Cloud Orchestrator: hva er det?\" src=\"\/wp-content\/uploads\/2019\/04\/0a0325fe5c71eaac391afdcabee225b7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFor providing the IaaS (Virtual Data Center) service, we at <noindex><a rel=\"nofollow\" href=\"https:\/\/www.rusonyx.ru\/\">Rusonyx<\/a><\/noindex> use a commercial orchestrator <noindex><a rel=\"nofollow\" href=\"https:\/\/www.flexiant.com\/flexiant-cloud-orchestrator\/\">Flexiant Cloud Orchestrator<\/a><\/noindex> (FCO). This solution has a fairly unique architecture that distinguishes it from the widely known Openstack and CloudStack.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<p>As hypervisors for compute nodes, KVM, VmWare, Xen, Virtuozzo6\/7, as well as containers from the same Virtuozzo are supported. Supported storage includes local, NFS, Ceph, and Virtuozzo Storage.<\/p>\n<p>FCO supports the creation of multiple clusters and managing them from a single interface. That is, it is possible to manage a Virtuozzo cluster and a KVM + Ceph cluster by switching between them with a mouse click.<\/p>\n<p>Essentially, FCO is a comprehensive solution for cloud providers that, besides orchestration, also includes billing, with all the settings, payment plugins, invoices, notifications, resellers, tariffs, and so on. However, the billing part is not able to cover all the nuances in Russia, so we opted out of using it in favor of another solution.<\/p>\n<p>We are pleased with the flexible system for distributing rights to all cloud resources: images, disks, products, servers, firewalls \u2013 all of this can be 'shared' and rights can be issued among users, even between users of different clients. Each client can create several independent data centers in their cloud and manage them from a single control panel.<\/p>\n<p><img decoding=\"async\" alt=\"Flexiant Cloud Orchestrator: hva er det?\" src=\"\/wp-content\/uploads\/2019\/04\/11e93aef20dcd4a1bffb9ee988950658.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArchitecturally, FCO consists of several parts, each with its own independent code, and some even have their own database.<\/p>\n<p><b>Skyline<\/b> \u2013 admin and user interface<br \/>\n<b>Jade<\/b> \u2013 business logic, billing, task management<br \/>\n<b>Tigerlily<\/b> \u2013 service coordinator, manages and coordinates the exchange of information between business logic and clusters.<br \/>\n<b>XVPManager<\/b> \u2013 management of cluster elements: nodes, storage, networks, and virtual machines.<br \/>\n<b>XVPAgent <\/b>\u2013 agent installed on nodes to interact with XVPManager<\/p>\n<p><img decoding=\"async\" alt=\"Flexiant Cloud Orchestrator: hva er det?\" src=\"\/wp-content\/uploads\/2019\/04\/f810d1624b8bcdc53144dc05e86b2e59.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWe plan to include a detailed account of the architecture of each component in a series of articles, if, of course, the topic generates interest.<\/p>\n<p>Den st\u00f8rste fordelen med FCO kommer fra dens \"kasseformat\". Du f\u00e5r enkelhet og minimalisme. For styringsnodene allokeres en virtuell maskin p\u00e5 Ubuntu, der alle n\u00f8dvendige pakker installeres. Alle innstillinger lagres i konfigurasjonsfiler som en variabel-verdi:<\/p>\n<pre><code class=\"plaintext\"># cat \/etc\/extility\/config\/vars\n\u2026\nexport LIMIT_MAX_LIST_ADMIN_DEFAULT=\"30000\"\nexport LIMIT_MAX_LIST_USER_DEFAULT=\"200\"\nexport LOGDIR=\"\/var\/log\/extility\"\nexport LOG_FILE=\"misc.log\"\nexport LOG_FILE_LOG4JHOSTBILLMODULE=\"hostbillmodule.log\"\nexport LOG_FILE_LOG4JJADE=\"jade.log\"\nexport LOG_FILE_LOG4JTL=\"tigerlily.log\"\nexport LOG_FILE_LOG4JXVP=\"xvpmanager.log\"\nexport LOG_FILE_VARS=\"misc.log\"\n\u2026\n<\/code><\/pre>\n<p>Hele konfigurasjonen blir opprinnelig redigert i maler, deretter starter generatoren.<br \/>\n#build-config \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0444\u0430\u0439\u043b vars \u0438 \u0434\u0430\u0441\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c \u043f\u0435\u0440\u0435\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u0437\u0430\u0431\u0440\u0435\u043d\u0434\u0438\u0440\u043e\u0432\u0430\u043d.<\/p>\n<p><img decoding=\"async\" alt=\"Flexiant Cloud Orchestrator: hva er det?\" src=\"\/wp-content\/uploads\/2019\/04\/bb9bd922497394f0fdbe9345fe67ee62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSom du kan se, best\u00e5r grensesnittet av widgets, som brukeren har tilgang til \u00e5 administrere. Han kan enkelt legge til eller fjerne widgets fra siden, og dermed forme sin \u00f8nskede dashboard.<\/p>\n<p>Til tross for sin lukkede natur, er FCO et sv\u00e6rt tilpassbart system. Det har et stort antall innstillinger og inngangspunkter for \u00e5 endre arbeidsflyten:<\/p>\n<ol>\n<li>Egne plugins st\u00f8ttes, for eksempel kan du skrive din egen betalingsmetode eller egen ekstern ressurs for \u00e5 tilby brukeren.<\/li>\n<li>Egne triggere st\u00f8ttes for spesifikke hendelser, for eksempel ved \u00e5 legge til den f\u00f8rste virtuelle maskinen til kunden ved opprettelsen.<\/li>\n<li>Egnet tilpassede widgets i grensesnittet, for eksempel \u00e5 integrere videoer fra YouTube direkte i brukergrensesnittet.<\/li>\n<\/ol>\n<p>\nAll tilpasning skrives p\u00e5 FDL-spr\u00e5ket, som er basert p\u00e5 Lua. Hvis du kjenner Lua, vil det ikke v\u00e6re noen problemer med FDL.<\/p>\n<p>Her er et eksempel p\u00e5 en av de enkleste triggerne vi bruker. Denne triggeren forhindrer brukere fra \u00e5 dele sine egne avbildninger med andre kunder. Vi gj\u00f8r dette for \u00e5 hindre at en bruker kan lage skadelige avbilder for andre.<\/p>\n<pre><code class=\"plaintext\">function register()\n    return {\"pre_user_api_publish\"}\nend\n   \nfunction pre_user_api_publish(p)  \n    if(p==nil) then\n        return{\n            ref = \"cancelPublishImage\",\n            name = \"Cancel publishing\",\n            description = \"Cancel all user\u2019s images publishing\",\n            triggerType = \"PRE_USER_API_CALL\",\n            triggerOptions = {\"publishResource\", \"publishImage\"},\n            api = \"TRIGGER\",\n            version = 1,\n        }\n    end\n\n    -- Turn publishing off\n    return {exitState = \"CANCEL\"}\n   \nend\n<\/code><\/pre>\n<p>Register-funksjonen vil bli kalt av FCO-kjernen. Den vil returnere navnet p\u00e5 funksjonen som m\u00e5 kalles. Parameteren \"p\" for denne funksjonen lagrer konteksten for anropet, og ved f\u00f8rste anrop vil den v\u00e6re tom (nil). Dette lar oss registrere v\u00e5r trigger. I triggerType viser vi at triggeren kalles F\u00d8R publiseringsoperasjonen, og det gjelder kun for brukere. Systemadministratorer f\u00e5r selvsagt lov til \u00e5 publisere alt. I triggerOptions detaljert vi operasjonene som triggeren skal aktiveres for.<\/p>\n<p>Og viktigst av alt \u2013 return {exitState = \"CANCEL\"}, som triggeren ble utviklet for. Den vil returnere en feil n\u00e5r brukeren pr\u00f8ver \u00e5 dele sin avbildning i kontrollpanelet.<\/p>\n<p>I FCO-arkitekturen blir ethvert objekt (disk, server, bilde, nettverk, nettverksadapter osv.) representert som en enhet kalt Resource, som har felles parametere:<\/p>\n<ul>\n<li>UUID for ressursen<\/li>\n<li>navn p\u00e5 ressursen<\/li>\n<li>type ressurs<\/li>\n<li>UUID for eieren av ressursen<\/li>\n<li>status for ressursen (aktiv, inaktiv)<\/li>\n<li>metadata for ressursen<\/li>\n<li>n\u00f8klene til ressursen <\/li>\n<li>UUID for produktet som ressursen tilh\u00f8rer<\/li>\n<li>VDC for ressursen<\/li>\n<\/ul>\n<p>\nDette er veldig praktisk n\u00e5r man jobber med API, n\u00e5r all interaksjon med ressursene f\u00f8lger det samme prinsippet. Produktene settes opp av leverand\u00f8ren, mens kunden bestiller dem. Siden v\u00e5r abonnering er adskilt, kan kunden fritt og kostnadsfritt bestille hvilket som helst produkt fra panelet. Det vil bli regnet ut senere i faktureringen. Et produkt kan v\u00e6re \u2013 IP-adresse per time, ekstra GB disk per time eller bare en server.<\/p>\n<p>N\u00f8klene kan brukes til \u00e5 merke spesifikke ressurser for \u00e5 endre logikken i hvordan man arbeider med dem. For eksempel kan vi merke tre fysiske noder med n\u00f8kkelen Weight, og merke noen kunder med den samme n\u00f8kkelen, og dermed tildele disse nodene spesifikt til disse kundene. En slik mekanisme bruker vi for VIP-kunder som ikke liker \u00e5 ha naboer ved siden av sine VM-er. Den samme funksjonaliteten kan brukes mye mer bredt. <\/p>\n<p>Lisensieringsmodellen inneb\u00e6rer betaling for hver kjern prosessor i den fysiske noden. Antallet typer klynger p\u00e5virker ogs\u00e5 kostnaden. Hvis man planlegger \u00e5 bruke KVM og VMware sammen, vil prisen for lisenser \u00f8ke.<\/p>\n<p>FCO er et fullt produkt, og funksjonaliteten er sv\u00e6rt rik, derfor planlegger vi \u00e5 forberede flere artikler med detaljert beskrivelse av nettverksdelen.<\/p>\n<p>Etter \u00e5 ha jobbet med denne orkestratoren i flere \u00e5r, kan vi si at den er av meget god kvalitet. Dessverre er ikke produktet uten feil:<\/p>\n<ul>\n<li>vi har m\u00e5ttet optimalisere databasen, ettersom foresp\u00f8rslene begynte \u00e5 bremse opp n\u00e5r mengden data i dem \u00f8kte;<\/li>\n<li>etter en krasj p\u00e5 grunn av en feil, fungerte ikke gjenopprettingsmekanismen, og vi m\u00e5tte sette opp maskinene til de uheldige kundene med v\u00e5rt eget sett av skript;<\/li>\n<li>mekanismen for \u00e5 oppdage utilgjengeligheten til en node er innebygd i koden og kan ikke tilpasses. Det vil si at vi ikke kan lage v\u00e5re egne retningslinjer for \u00e5 bestemme utilgjengeligheten til en node.<\/li>\n<li>Logging is not always detailed. Sometimes, when you need to dive down to a very low level to resolve a specific issue, the source code of certain components is lacking to understand the causes;<\/li>\n<\/ul>\n<p>\n<b>TOTAL: <\/b>Overall, the impressions of the product are good. We are in constant contact with the orchestrator developers. The guys are open to constructive collaboration.<\/p>\n<p>Despite its simplicity, FCO has a wide range of functionality. In future articles, we plan to delve into the following topics:<\/p>\n<ul>\n<li>network organization in FCO<\/li>\n<li>ensuring live recovery and FQP protocol<\/li>\n<li>writing custom plugins and widgets<\/li>\n<li>connecting additional services such as Load Balancer and Acronis<\/li>\n<li>backup<\/li>\n<li>a unified mechanism for configuring and setting up nodes<\/li>\n<li>processing metadata of virtual machines<\/li>\n<\/ul>\n<p>\n<b>P.S. <\/b>Feel free to comment if you are interested in other aspects. Stay tuned!<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rusonyx\/blog\/449196\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433\u0438 IaaS (\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440) \u043c\u044b \u0432 Rusonyx \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0442\u043e\u0440 Flexiant Cloud Orchestrator (FCO). \u042d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u043c\u0435\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0447\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442 \u0435\u0433\u043e \u043e\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0448\u0438\u0440\u043e\u043a\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0435 Openstack \u0438 CloudStack. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u0432 compute \u043d\u043e\u0434 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f KVM, VmWare, Xen, Virtuozzo6\/7, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u043e\u0442 \u0442\u043e\u0433\u043e \u0436\u0435 Virtuozzo. \u0418\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449 \u2013 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435, NFS, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24135,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-32318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433\u0438 IaaS (\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439.\" \/>\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\/no\/blog\/news\/flexiant-cloud-orchestrator-s-chem-ego-edyat\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\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\udd47Flexiant Cloud Orchestrator: \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433\u0438 IaaS (\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/news\/flexiant-cloud-orchestrator-s-chem-ego-edyat\" \/>\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:46:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:20+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\udd47Flexiant Cloud Orchestrator: what is it used for | ProHoster","description":"To provide the IaaS service (Virtual.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/flexiant-cloud-orchestrator-s-chem-ego-edyat","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","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\udd47Flexiant Cloud Orchestrator: \u0441 \u0447\u0435\u043c \u0435\u0433\u043e \u0435\u0434\u044f\u0442 | ProHoster","og:description":"\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043b\u0443\u0433\u0438 IaaS (\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439.","og:url":"https:\/\/prohoster.info\/no\/blog\/news\/flexiant-cloud-orchestrator-s-chem-ego-edyat","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:46:20+00:00","article:modified_time":"2019-10-31T18:46:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32318","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 10:19:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:00:23","updated":"2026-01-21 10:19:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/32318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=32318"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/32318\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/24135"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=32318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=32318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=32318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}