{"id":38075,"date":"2019-10-31T22:21:32","date_gmt":"2019-10-31T19:21:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa\/"},"modified":"2019-10-31T22:21:32","modified_gmt":"2019-10-31T19:21:32","slug":"kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa","title":{"rendered":"How to migrate to the cloud in two hours thanks to Kubernetes and automation","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"How to migrate to the cloud in two hours thanks to Kubernetes and automation\" src=\"\/wp-content\/uploads\/2019\/09\/6edfac2ac5fcb7e20c6d44067fdfca20.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThe company 'URUS' has experimented with Kubernetes in various forms: standalone deployment on bare metal, in Google Cloud, and then migrated its platform to Mail.ru Cloud Solutions (MCS). Igor Shishkin,<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/t3ran\/\" class=\"user_link\">t3ran<\/a><\/noindex>, a senior system administrator at 'URUS', explains how they chose a new cloud provider and managed to migrate to it in a record two hours.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>What does 'URUS' do <\/h2>\n<p>\nThere are many ways to improve the urban environment, and one of them is to make it environmentally safe. This is exactly what the company 'URUS \u2013 Smart Digital Services' is working on. Here, solutions are implemented that help businesses monitor important environmental metrics and reduce negative impacts on the environment. Sensors collect data on air composition, noise levels, and other parameters, sending it to the unified platform 'URUS \u2013 Ecomon' for analysis and recommendations. <\/p>\n<h2>How 'URUS' operates internally<\/h2>\n<p>\nA typical 'URUS' client is a company located in or near a residential area. This can be a factory, port, railway depot, or any other facility. If our client has already received a warning, been fined for environmental pollution, or wants to produce less noise and reduce harmful emissions, they come to us, and we offer them a ready-made solution for environmental monitoring.<\/p>\n<p><img decoding=\"async\" alt=\"How to migrate to the cloud in two hours thanks to Kubernetes and automation\" src=\"\/wp-content\/uploads\/2019\/09\/d319d36cbe6030c82c5e9d24d7987fa1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>The monitoring graph for H2S concentration shows regular nighttime emissions from a nearby facility.<\/i><\/p>\n<p>The devices we use at 'URUS' contain several sensors that collect information on the content of certain gases, noise levels, and other data for assessing the environmental situation. The exact number of sensors is always determined by the specific task.<\/p>\n<p><img decoding=\"async\" alt=\"How to migrate to the cloud in two hours thanks to Kubernetes and automation\" src=\"\/wp-content\/uploads\/2019\/09\/b0ce05ce245b6b905aeae26fd2463841.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDepending on the measurement specifics, sensor devices can be placed on building walls, poles, and other arbitrary locations. Each device collects information, aggregates it, and sends it to a data reception gateway. There, we store the data for long-term storage and process it for subsequent analysis. A simple example of what we get after analysis is the air quality index, also known as AQI.<\/p>\n<p>Many other services operate simultaneously on our platform, primarily serving support functions. For example, the notification service sends alerts to clients if any monitored parameter (say, CO2 levels) exceeds acceptable limits.<\/p>\n<h2>How We Store Data. The Story of Kubernetes on Bare Metal<\/h2>\n<p>\nThe eco-monitoring project \"URUS\" has several data repositories. One holds the \"raw\" data \u2014 that which we collect directly from the devices. This repository resembles a \"magnetic\" tape like the old cassettes, documenting all metrics over time. The second type of repository is used for pre-processed data \u2014 device data enriched with metadata regarding sensor relationships and the readings from the devices, their affiliations to organizations, locations, etc. This information allows us to dynamically evaluate how a specific metric has changed over a given period. We also utilize the \"raw\" data repository as a backup for restoring pre-processed data, should the need arise.<\/p>\n<p>Several years ago, when we were looking for solutions to our storage problem, we had two options for choosing a platform: Kubernetes and OpenStack. However, since the latter appears rather monstrous (just look at its architecture to see for yourself), we chose Kubernetes. Another argument in its favor was the relatively simple programmable management, allowing for more flexible allocation of even physical nodes based on resources. <\/p>\n<p>Alongside mastering Kubernetes itself, we explored data storage solutions. While we kept all our repositories in Kubernetes on our hardware, we gained excellent expertise. Everything we had lived on Kubernetes: stateful storage, monitoring systems, CI\/CD. Kubernetes became our all-in-one platform. <\/p>\n<p>But we wanted to work with Kubernetes as a service, rather than dealing with its support and development. Plus, we were not pleased with the costs of maintaining it on bare metal, especially since we constantly required development! For instance, one of the first tasks was to integrate Kubernetes Ingress controllers into our organization\u2019s network infrastructure. This is a cumbersome task, especially considering that at the time, nothing was ready for programmatic resource management like DNS records or allocations. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/en\/lir\/ipv4\/\"   title=\"(the key to connect to is specified, and iroh finds the associated host and establishes an encrypted connection using the QUIC protocol). Direct P2P connections are established whenever possible, but if not, it falls back to using relays, which are also employed for host discovery by keys. You can run your own relay or connect to public relays supported by the community.\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"804\">(the key to connect to is specified, and iroh finds the associated host and establishes an encrypted connection using the QUIC protocol). Direct P2P connections are established whenever possible, but if not, it falls back to using relays, which are also employed for host discovery by keys. You can run your own relay or connect to public relays supported by the community.<\/a>Later, we started experimenting with external data storage. We didn't manage to implement the PVC controller, but it was already clear that this was a significant undertaking that required dedicating specialists.<\/p>\n<h2>Transitioning to Google Cloud Platform was a temporary solution.<\/h2>\n<p>\nWe realized that we couldn't continue like this, and we migrated our data from bare metal to Google Cloud Platform. At that time, there weren't many interesting options for Russian companies: besides Google Cloud Platform, Amazon was the only similar service available, but we ultimately chose Google's solution. It seemed to us to be more cost-effective and closer to Upstream, not to mention that Google itself is somewhat of a PoC for Kubernetes in Production.<\/p>\n<p>The first serious problem arose concurrently with the growth of our client base. When we needed to store personal data, we faced a dilemma: either we work with Google and violate Russian laws, or we search for an alternative within Russia. The choice was, in general, predictable. \ud83d\ude42<\/p>\n<h2>What we envisioned as the ideal cloud service<\/h2>\n<p>\nBy the time we started searching, we already knew what we wanted from our future cloud provider. What service were we looking for:<\/p>\n<ul>\n<li><b>Fast and flexible<\/b>. One that would allow us to quickly add a new node or deploy something at any moment. \n<\/li>\n<li><b>Inexpensive<\/b>. Financial concerns were a significant worry for us since we were limited in resources. We already knew that we wanted to work with Kubernetes, and now the task was to minimize its costs to increase or at least maintain the efficiency of this solution.\n<\/li>\n<li><b>Automated<\/b>We planned to work with the service through the API, without managers and phone calls or situations where we had to manually spin up dozens of nodes in emergency mode. Since most of our processes are automated, we expected the same from the cloud service. \n<\/li>\n<li><b>With servers in the RF<\/b>Of course, we planned to comply with Russian legislation and that very 152-FZ.\n<\/li>\n<\/ul>\n<p>\nAt that time, there were few aaS model Kubernetes providers in Russia, and when choosing a provider, it was crucial for us not to compromise our priorities. The Mail.ru Cloud Solutions team, with whom we started working and continue to collaborate, provided us with a fully automated service, supported by an API and a user-friendly control panel that includes Horizon \u2014 this allowed us to quickly spin up any number of nodes.<\/p>\n<h2>How we managed to migrate to MCS in two hours<\/h2>\n<p>\nIn such migrations, many companies face challenges and failures, but in our case, there weren't any. We were lucky: since we were already running on Kubernetes before the migration, we simply adjusted three files and launched our services on the new cloud platform, in MCS. I remind you that by that time, we had completely moved away from bare metal and were operating on Google Cloud Platform. Therefore, the migration itself took no more than two hours, plus a little extra time (about an hour) was spent copying data from our devices. At that time, we were already using Spinnaker (a multi-cloud CD service for ensuring Continuous Delivery). We quickly added it to the new cluster and continued to work as usual. <\/p>\n<p>Thanks to the automation of development processes and CI\/CD, Kubernetes at 'URUS' is handled by one specialist (and that\u2019s me). At some point, I worked with another system administrator, but it turned out that we had already automated most of the routine tasks, and the workloads from our main product were increasing, so it made sense to direct resources there. <\/p>\n<p>We received from the cloud provider what we expected, as we started our collaboration without illusions. If there were any incidents, they were mainly technical and easily explained by the relative novelty of the service. The main thing is that the MCS team promptly addresses shortcomings and quickly responds to inquiries in messengers. <\/p>\n<p>When comparing the experience of working with Google Cloud Platform, I didn't even know where the feedback button was, as there was simply no need for it. If any issues arose, Google would independently send notifications. However, a significant advantage of MCS is that they are as close as possible to Russian clients, both geographically and mentally.<\/p>\n<h2>How we envision cloud work in the future<\/h2>\n<p>\nCurrently, our work is closely tied to Kubernetes, and it fully satisfies our infrastructure needs. Therefore, we do not plan to migrate away from it, although we continuously introduce new practices and services to simplify routine tasks, automate new ones, and enhance the stability and reliability of services. We are currently launching the Chaos Monkey service (specifically, we use chaoskube, but the concept remains unchanged :), which was originally created at Netflix. Chaos Monkey does one simple thing: it randomly deletes a pod in Kubernetes at arbitrary times. This is necessary so that our service can operate with n\u20131 instances, training ourselves to be ready for any malfunctions. <\/p>\n<p>Right now, I see the use of third-party solutions \u2014 the same cloud platforms \u2014 as the only correct choice for young companies. Usually, at the beginning of their journey, they are limited in resources, both personnel and financial, and building and maintaining their own cloud or data center is too expensive and labor-intensive. Cloud providers help minimize these costs, allowing for the quick acquisition of resources necessary for services right here and now, with payment based on actual usage. As for the \"URUS\" company, we will remain loyal to Kubernetes in the cloud for now. But who knows, we may need to expand geographically or implement solutions based on some specific hardware. Or perhaps the amount of resources consumed will justify having our own Kubernetes on bare-metal, as in the old days. \ud83d\ude42<\/p>\n<h2>What we learned from our experience with cloud services<\/h2>\n<p>\nWe started using Kubernetes on bare metal, and it was quite impressive in its own way. However, its strengths were truly revealed as an aaS component in the cloud. If you set a goal and automate everything as much as possible, you can avoid vendor lock-in, and migrating between cloud providers will only take a couple of hours, leaving your nerves intact. We recommend to other companies: if you want to launch your (cloud) service with limited resources and maximum velocity for development, start renting cloud resources right now, and build your data center after Forbes writes about you.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/467163\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u00ab\u0423\u0420\u0423\u0421\u00bb \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0430 Kubernetes \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0432\u0438\u0434\u0430\u0445: \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u043f\u043b\u043e\u0439\u043c\u0435\u043d\u0442 \u043d\u0430 bare metal, \u0432 Google Cloud, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u043b\u0430 \u0441\u0432\u043e\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e Mail.ru Cloud Solutions (MCS). \u041a\u0430\u043a \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0438 \u043a\u0430\u043a \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0437\u0430 \u0440\u0435\u043a\u043e\u0440\u0434\u043d\u044b\u0435 \u0434\u0432\u0430 \u0447\u0430\u0441\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0418\u0433\u043e\u0440\u044c \u0428\u0438\u0448\u043a\u0438\u043d (t3ran), \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u00ab\u0423\u0420\u0423\u0421\u00bb. \u0427\u0435\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u00ab\u0423\u0420\u0423\u0421\u00bb \u0415\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28582,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38075","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u00ab\u0423\u0420\u0423\u0421\u00bb.\" \/>\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\/en\/blog\/administrirovanie\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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\u041a\u0430\u043a \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Kubernetes \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e \u0437\u0430 \u0434\u0432\u0430 \u0447\u0430\u0441\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u00ab\u0423\u0420\u0423\u0421\u00bb.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa\" \/>\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:21:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:21:32+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\udd47How to Migrate to the Cloud in Two Hours Thanks to Kubernetes and Automation | ProHoster","description":"Company \"URUS\".","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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\u041a\u0430\u043a \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f Kubernetes \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0438\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u0431\u043b\u0430\u043a\u043e \u0437\u0430 \u0434\u0432\u0430 \u0447\u0430\u0441\u0430 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u00ab\u0423\u0420\u0423\u0421\u00bb.","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/kak-blagodarya-kubernetes-i-avtomatizatsii-migrirovat-v-oblako-za-dva-chasa","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:21:32+00:00","article:modified_time":"2019-10-31T19:21:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38075","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-02-08 20:44:57","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:15:23","updated":"2026-02-08 20:44:57","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/38075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=38075"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/38075\/revisions"}],"predecessor-version":[{"id":157995,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/38075\/revisions\/157995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/28582"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=38075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=38075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=38075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}