{"id":31839,"date":"2021-01-14T11:59:53","date_gmt":"2021-01-14T11:59:53","guid":{"rendered":"https:\/\/www.testpreptraining.com\/tutorial\/?page_id=31839"},"modified":"2021-01-14T11:59:53","modified_gmt":"2021-01-14T11:59:53","slug":"testing-and-proof-of-concept","status":"publish","type":"page","link":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/","title":{"rendered":"Testing and proof of concept"},"content":{"rendered":"\n<p><strong><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/google-certified-professional-cloud-architect\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to GCP Tutorials<\/a><\/strong><\/p>\n\n\n\n<p>In this tutorial we will learn and understand about running a proof of concept (PoC) to build a hybrid render farm on Google Cloud. This is a companion to the solution Building a hybrid render farm and is designed to facilitate testing and benchmarking rendering for animation, film, commercials, or video games on Google Cloud.<\/p>\n\n\n\n<p>However, you can run a PoC for your hybrid render farm on Google Cloud if you narrow the scope of your tests to only the essential components. In contrast to architecting an entire end-to-end solution, consider the following purposes of a PoC:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, determine how to reproduce your on-premises rendering environment on the cloud.<\/li><li>Secondly, measure differences in rendering and networking performance between on-premises render workers and cloud instances.<\/li><li>Thirdly, determine cost differences between on-premises and cloud workloads.<\/li><\/ul>\n\n\n\n<p><em>Of lesser importance are the following tasks that you can postpone or even eliminate from a PoC:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, determine how assets are synchronized (if at all) between your facility and the cloud.<\/li><li>Secondly, determine how to deploy jobs to cloud render workers by using queue management software.<\/li><li>Then, determine the best way to connect to Google Cloud.<\/li><li>Lastly, measure latency between your facility and Google data centers.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Deploying an instance<\/strong><\/h4>\n\n\n\n<p>For your PoC, you might want to recreate your on-premises render worker hardware. While Google Cloud offers a number of CPU platforms that might match your own hardware. But, the architecture of a cloud-based virtual machine is different from a bare-metal render blade in an on-premises render farm.<\/p>\n\n\n\n<p>However, on Google Cloud, resources are virtualized and independent of other resources. Virtual machines (instances) are composed of the following major components:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, Virtual CPUs (vCPUs)<\/li><li>Secondly, Memory (RAM)<\/li><li>Then, Disks<ul><li>Boot disk and guest OS<\/li><li>Additional storage disks<\/li><\/ul><\/li><li>Lastly, NVIDIA Tesla GPUs (optional)<\/li><\/ul>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Create an instance<\/strong><\/h6>\n\n\n\n<p>Firstly, in Cloud Shell, create your prototype render worker instance:<\/p>\n\n\n\n<p><em>gcloud compute instances create [INSTANCE_NAME] \\<br>&#8211;machine-type [MACHINE_TYPE] \\<br>&#8211;image-project [IMAGE_PROJECT] \\<br>&#8211;image-family [IMAGE_FAMILY] \\<br>&#8211;boot-disk-size [SIZE]<\/em><\/p>\n\n\n\n<p><strong>Where:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, [INSTANCE_NAME] is a name of your instance.<\/li><li>Secondly, [MACHINE_TYPE] is either a predefined machine type or a custom machine type using the format custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB] where you define the number of vCPUs and amount of memory for the machine type.<\/li><li>Thirdly, [IMAGE_PROJECT] is the image project of that image family.<\/li><li>Next, [IMAGE_FAMILY] is an optional flag that specifies which image family this image belongs to.<\/li><li>Lastly, [SIZE] is the size of the boot disk in GB.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Building your default image<\/strong><\/h4>\n\n\n\n<p>Unless you have custom software to test that requires things like a custom Linux kernel or older OS versions. Here, we recommend you start with one of our public disk images and add the software you&#8217;re going to use. However, if you choose to import your own image, you need to configure this image by installing additional libraries to enable your guest OS to communicate with Google Cloud.<\/p>\n\n\n\n<p><strong>Set up your render worker<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, in Cloud Shell, on the instance you created earlier, set up your render worker as you would your on-premises worker by installing your software and libraries.<\/li><li>Secondly, stop the instance:<\/li><\/ul>\n\n\n\n<p><em>gcloud compute instances stop [INSTANCE_NAME]<\/em><\/p>\n\n\n\n<p><strong>Create a custom image<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, in Cloud Shell, determine the name of your VM&#8217;s boot disk:<\/li><\/ul>\n\n\n\n<p><em>gcloud compute instances describe [INSTANCE_NAME]<\/em><\/p>\n\n\n\n<p>However, the output contains the name of your instance&#8217;s boot disk:<\/p>\n\n\n\n<p><em>mode: READ_WRITE<br>source:https:\/\/www.googleapis.com\/compute\/v1\/projects\/[PROJECT]\/zones\/[ZONE]\/disks\/[DISK_NAME]<\/em><\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Where:<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, [PROJECT] is the name of your Google Cloud project.<\/li><li>Secondly, [ZONE] is the zone where the disk is located.<\/li><li>Thirdly, [DISK_NAME] is the name of the boot disk attached to your instance. The disk name is typically the same (or similar) to your instance name.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Secondly, create an image from your instance:<\/li><\/ul>\n\n\n\n<p><em>gcloud compute images create [IMAGE_NAME] \\<br>&#8211;source-disk [DISK_NAME] \\<br>&#8211;source-disk-zone [ZONE]<\/em><\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Where:<\/strong><\/h6>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, [IMAGE_NAME] is a name for the new image.<\/li><li>Secondly, [DISK_NAME] is the disk from which you want to create the new image.<\/li><li>Lastly, [ZONE] is the zone where the disk is located.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Storing assets<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, render pipelines can differ vastly, even within a single company. However, to implement your PoC quickly and with minimal configuration, you can use the boot disk of your render worker instance to store assets. Your PoC shouldn&#8217;t yet evaluate data synchronization or more advanced storage solutions. <\/li><li>Secondly, there are a number of storage options available on Google Cloud, but we recommend testing a scalable shared storage solution in a separate PoC.<\/li><li>Further, if you&#8217;re testing multiple render worker configurations and need a shared file system. Then, you can create a Filestore volume and mount it by using NFS to your render workers. Filestore is a managed file storage service that can be mounted to read\/write across many instances, acting as a file server.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.testpreptraining.ai\/google-cloud-certified-professional-cloud-architect-free-practice-test\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"117\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-prac-tests-750x117.png\" alt=\"gcp cloud architect practice tests\" class=\"wp-image-31460\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-prac-tests-750x117.png 750w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-prac-tests.png 961w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Getting data to Google Cloud<\/strong><\/h4>\n\n\n\n<p>To run a render PoC, you need to get your scene files, caches, and assets to your render workers. However, for larger (>10 GB) datasets, you can use gsutil to copy your data to Cloud Storage and then onto your render workers. And, for smaller (&lt;10 GB) datasets, you can use the gcloud tool to copy data directly to a path on your render workers (Linux only).<\/p>\n\n\n\n<p><strong>Create a destination directory on your render worker<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, in Cloud Shell, connect to your render worker by using SSH:<\/li><\/ul>\n\n\n\n<p><em>gcloud compute ssh [WORKER_NAME]<\/em><\/p>\n\n\n\n<p>Where [WORKER_NAME] is the name of your render worker.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Secondly, create a destination directory for your data:<\/li><\/ul>\n\n\n\n<p><em>mkdir [ASSET_DIR]<\/em><\/p>\n\n\n\n<p>Where [ASSET_DIR] is a local directory anywhere on your render worker.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>Use gsutil to copy large amounts of data<\/strong><\/h6>\n\n\n\n<p>If you&#8217;re transferring large datasets to your render worker, use gsutil with Cloud Storage as an intermediate step. However, if you&#8217;re transferring smaller datasets, you can skip to the next section and use the gcloud tool to transfer smaller amounts of data.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Firstly, on your local workstation, create a Cloud Storage bucket:<\/li><\/ul>\n\n\n\n<p><em>gsutil mb gs:\/\/[BUCKET_NAME_ASSETS]<\/em><br>Where [BUCKET_NAME_ASSETS] represents the name of the Cloud Storage bucket for your files or directories that you want to copy.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Secondly, copy data from your local directory to the bucket:<\/li><\/ul>\n\n\n\n<p><em>gsutil -m cp -r [ASSETS] gs:\/\/[BUCKET_NAME_ASSETS]<\/em><br>Where [ASSETS] is a list of files or directories to copy to your bucket.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Thirdly, connect to your render worker by using SSH:<\/li><\/ul>\n\n\n\n<p><em>gcloud compute ssh [WORKER_NAME]<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Lastly, copy the contents of your bucket to your render worker:<\/li><\/ul>\n\n\n\n<p><em>gsutil -m cp -r gs:\/\/[BUCKET_NAME_ASSETS]\/* [ASSET_DIR]<\/em><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.testpreptraining.ai\/google-cloud-certified-professional-cloud-architect-practice-exam\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"117\" src=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-online-course-750x117.png\" alt=\"Testing and proof of concept GCP cloud architect  online course\" class=\"wp-image-31461\" srcset=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-online-course-750x117.png 750w, https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-online-course.png 961w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/a><\/figure><\/div>\n\n\n\n<p><strong>Reference:<\/strong> <a href=\"https:\/\/cloud.google.com\/solutions\/running-hybrid-render-farm-poc\" target=\"_blank\" rel=\"noreferrer noopener\">Google Documentation<\/a><\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.testpreptraining.ai\/tutorial\/google-certified-professional-cloud-architect\/\" target=\"_blank\" rel=\"noreferrer noopener\">Go back to GCP Tutorials<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go back to GCP Tutorials In this tutorial we will learn and understand about running a proof of concept (PoC) to build a hybrid render farm on Google Cloud. This is a companion to the solution Building a hybrid render farm and is designed to facilitate testing and benchmarking rendering for animation, film, commercials, or&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-31839","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testing and proof of concept - Testprep Training Tutorials<\/title>\n<meta name=\"description\" content=\"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testing and proof of concept - Testprep Training Tutorials\" \/>\n<meta property=\"og:description\" content=\"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/\" \/>\n<meta property=\"og:site_name\" content=\"Testprep Training Tutorials\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-prac-tests-750x117.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/\",\"name\":\"Testing and proof of concept - Testprep Training Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\"},\"datePublished\":\"2021-01-14T11:59:53+00:00\",\"dateModified\":\"2021-01-14T11:59:53+00:00\",\"description\":\"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing and proof of concept\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#website\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"name\":\"Testprep Training Tutorials\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#organization\",\"name\":\"Testprep Training\",\"url\":\"https:\/\/www.testpreptraining.ai\/tutorial\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"contentUrl\":\"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png\",\"width\":583,\"height\":153,\"caption\":\"Testprep Training\"},\"image\":{\"@id\":\"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testing and proof of concept - Testprep Training Tutorials","description":"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/","og_locale":"en_US","og_type":"article","og_title":"Testing and proof of concept - Testprep Training Tutorials","og_description":"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!","og_url":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/","og_site_name":"Testprep Training Tutorials","og_image":[{"url":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-content\/uploads\/2021\/01\/Google-Certified-Professional-Cloud-Architect-prac-tests-750x117.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/","url":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/","name":"Testing and proof of concept - Testprep Training Tutorials","isPartOf":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website"},"datePublished":"2021-01-14T11:59:53+00:00","dateModified":"2021-01-14T11:59:53+00:00","description":"Enhance your skills by learning about Testing and proof of concept using the Google Certified Professional Cloud Architect Course Now!","breadcrumb":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/testing-and-proof-of-concept\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.testpreptraining.ai\/tutorial\/"},{"@type":"ListItem","position":2,"name":"Testing and proof of concept"}]},{"@type":"WebSite","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#website","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","name":"Testprep Training Tutorials","description":"","publisher":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.testpreptraining.ai\/tutorial\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#organization","name":"Testprep Training","url":"https:\/\/www.testpreptraining.ai\/tutorial\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/","url":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","contentUrl":"https:\/\/www.testpreptraining.com\/tutorial\/wp-content\/uploads\/2020\/07\/tpt-logo-6.png","width":583,"height":153,"caption":"Testprep Training"},"image":{"@id":"https:\/\/www.testpreptraining.ai\/tutorial\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/31839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/comments?post=31839"}],"version-history":[{"count":7,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/31839\/revisions"}],"predecessor-version":[{"id":32015,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/pages\/31839\/revisions\/32015"}],"wp:attachment":[{"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/media?parent=31839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/categories?post=31839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.testpreptraining.ai\/tutorial\/wp-json\/wp\/v2\/tags?post=31839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}