{"id":7127,"date":"2021-09-17T10:14:03","date_gmt":"2021-09-17T03:14:03","guid":{"rendered":"http:\/\/gcloudvn.wam.vn\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/"},"modified":"2023-09-14T14:52:16","modified_gmt":"2023-09-14T07:52:16","slug":"cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers","status":"publish","type":"post","link":"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/","title":{"rendered":"Cloud Run: what you should know about serverless HTTP containers"},"content":{"rendered":"<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Mindful Containers is a fictional company that is creating packaged microservice applications. They need a <\/span><span style=\"font-weight: 400;\">fully managed compute environment for deploying and scaling serverless containerized microservices<\/span><span style=\"font-weight: 400;\">. So they are looking at Cloud Run.\u00a0<\/span><\/p>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">They are excited about Cloud Run because it eliminates configuration, monitoring, and cluster management so they can focus on building features for their applications.\u00a0<\/span><\/p>\n<p style=\"text-align: justify;\"><strong>\u201cCloud Run is a fully-managed compute environment for deploying and scaling serverless containerized microservices.\u201d<\/strong><\/p>\n<figure id=\"attachment_19726\" aria-describedby=\"caption-attachment-19726\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-19726 size-large\" src=\"https:\/\/gcloudvn.com\/wp-content\/uploads\/2021\/09\/News-15-1024x576.jpg\" alt=\"What is CloudRun?\" width=\"1024\" height=\"576\" \/><figcaption id=\"caption-attachment-19726\" class=\"wp-caption-text\">What is CloudRun?<\/figcaption><\/figure>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Cloud_Run_la_gi\" >What is CloudRun?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Cach_su_dung_Cloud_Run\" >How to use Cloud Run<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Cloud_Run_hoat_dong_nhu_the_nao\" >How does Cloud Run work?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Cloud_Run_khac_voi_Cloud_Function_the_nao\" >How is Cloud Run different from Cloud Function?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Dinh_gia\" >Valuation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/gcloudvn.com\/en\/kienthuc\/cloud-run-dieu-ma-ban-nen-biet-ve-serverless-http-containers\/#Ket_luan\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Cloud_Run_la_gi\"><\/span><strong>What is CloudRun?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Cloud Run is a server management environment for deployment and development on serverless HTTP containers <\/span><span style=\"font-weight: 400;\">without worrying about delivery <\/span><span style=\"font-weight: 400;\">machines,<\/span><span style=\"font-weight: 400;\">, configure the cluster or <\/span><span style=\"font-weight: 400;\">autoscaling<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>No vendor lock-in <\/strong><span style=\"font-weight: 400;\">\u00a0\u2013 Because Cloud Run takes the <\/span><span style=\"font-weight: 400;\">containers<\/span><span style=\"font-weight: 400;\"> Standard OCI and Standard Implementation <\/span><span style=\"font-weight: 400;\">Knative<\/span><span style=\"font-weight: 400;\"> API Serving, you can easily port your applications to <\/span><span style=\"font-weight: 400;\">on-premises<\/span><span style=\"font-weight: 400;\"> or any other cloud environment.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Fast autoscaling<\/b><span style=\"font-weight: 400;\"> Microservices deployed in Cloud Run automatically scale based on incoming requests without you having to configure or manage a full-fledged Kubernetes Cluster. Cloud Run scales to zero \u2013 meaning no resources used \u2013 if there are no requests.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Split traffic<\/b><span style=\"font-weight: 400;\"> \u2013 Cloud Run allows you to split traffic between multiple revisions, so you can do a gradual rollout like canary or rollout <\/span><span style=\"font-weight: 400;\">blue\/green<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Custom domains<\/b><span style=\"font-weight: 400;\"> \u2013 You can set up a custom domain mapping in Cloud Run and it will provide a TLS certificate for your domain.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Automatic redundancy<\/b><span style=\"font-weight: 400;\"> \u2013 Cloud Run provides automatic redundancy so you don&#039;t have to worry about creating multiple instances for high availability<\/span><\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Cach_su_dung_Cloud_Run\"><\/span><strong>How to use Cloud Run<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">With Cloud Run, you code in your favorite language\/or use a binary library of your choice. Then push it to Cloud Build to create a <\/span><span style=\"font-weight: 400;\">container build<\/span><span style=\"font-weight: 400;\">. With a single command\u2014\u201d<\/span><span style=\"font-weight: 400;\">gcloud run deploy<\/span><span style=\"font-weight: 400;\">\u201d \u2014you will change from <\/span><span style=\"font-weight: 400;\">a container image<\/span><span style=\"font-weight: 400;\"> to a fully managed web application that runs on a TLS certificated domain and <\/span><span style=\"font-weight: 400;\">\u00a0auto-scales<\/span><span style=\"font-weight: 400;\"> as required.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Cloud_Run_hoat_dong_nhu_the_nao\"><\/span><strong>How does Cloud Run work?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">The Cloud Run service can be invoked in the following ways:<\/span><\/p>\n<p style=\"text-align: justify;\"><b>HTTPS<\/b><span style=\"font-weight: 400;\">: You can send<\/span><a href=\"https:\/\/cloud.google.com\/run\/docs\/triggering\/https-request\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\"> HTTPS request<\/span><\/a><span style=\"font-weight: 400;\"> to enable the service hosted on Cloud Run. Note that all Cloud Run services have a stable HTTPS URL. Some use cases include:\u00a0<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Custom RESTful web API<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Private microservices<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">HTTP middleware or reverse proxy for your web applications<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Prepackaged web applications<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><b>gRPC<\/b><span style=\"font-weight: 400;\">: You can use<\/span><a href=\"https:\/\/cloud.google.com\/run\/docs\/triggering\/grpc\" rel=\"nofollow noopener\" target=\"_blank\"> <span style=\"font-weight: 400;\">gRPC to connect Cloud Run <\/span><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><span style=\"font-weight: 400;\">services with other services \u2014 for example, to provide simple, high-performance communication between internal microservices. gRPC is a good choice when you:\u00a0<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Want to communicate between internal microservices<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Supports high data loads (gRPC uses protocol buffers, seven times faster than REST calls)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Just a simple service definition that you don&#039;t want to write in full a <\/span><span style=\"font-weight: 400;\">full client library<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Use our <\/span><span style=\"font-weight: 400;\">\u00a0streaming gRPCs<\/span><span style=\"font-weight: 400;\"> in your gRPC server to build more responsive APIs and apps<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><b>WebSockets<\/b><span style=\"font-weight: 400;\">: the <\/span><a href=\"https:\/\/cloud.google.com\/run\/docs\/triggering\/websockets\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\">WebSockets<\/span><\/a> <span style=\"font-weight: 400;\">applications<\/span><span style=\"font-weight: 400;\"> supported on Cloud Run with no additional configuration required. Potential use cases include any application that requires <\/span><span style=\"font-weight: 400;\">streaming service<\/span><span style=\"font-weight: 400;\">, such as a chat application.<\/span><\/p>\n<p style=\"text-align: justify;\"><b>Trigger from Pub\/Sub<\/b><b>: <\/b><span style=\"font-weight: 400;\">You can use <\/span><span style=\"font-weight: 400;\">\u00a0<\/span><a href=\"https:\/\/cloud.google.com\/run\/docs\/triggering\/pubsub-push\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\">Pub\/Sub to push messages<\/span><\/a><span style=\"font-weight: 400;\"> to the Cloud Run service endpoint, where the messages are then sent to the containers as HTTP requests. Possible use cases include:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Convert data after receiving <\/span><span style=\"font-weight: 400;\">event<\/span><span style=\"font-weight: 400;\"> when uploading files to the Cloud Storage bucket.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Process the activity set log <a href=\"https:\/\/gcloudvn.com\/en\/google-cloud-platform\/\">Google Cloud<\/a> with Cloud Run by exporting them to Pub\/Sub<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Publishing and processing of <\/span><span style=\"font-weight: 400;\">event<\/span><span style=\"font-weight: 400;\"> Your own customization from Cloud Run services<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong>Running services on a schedule<\/strong><span style=\"font-weight: 400;\"><strong>:<\/strong> You can use <\/span><a href=\"https:\/\/cloud.google.com\/run\/docs\/triggering\/using-scheduler\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\">Cloud Scheduler to secure trigger a Cloud Run service<\/span><\/a><span style=\"font-weight: 400;\"> on a schedule<\/span><span style=\"font-weight: 400;\"> . This is similar to using cron job. Possible use cases include:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Make regular backups<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Perform repetitive administrative tasks, such as recreating sitemaps or deleting old data, content, configurations, synchronization, or modifications<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Create invoices or other documents<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\"><strong>Perform asynchronous tasks:<\/strong> You can use <\/span><span style=\"font-weight: 400;\">Cloud Tasks<\/span><span style=\"font-weight: 400;\"> to securely queue a task to be processed asynchronously by the Cloud Run service. Typical use cases include:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Handling requests through unexpected production incidents<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Smoothing traffic spikes by delaying work that is not user-facing<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reducing user response time by delegating slow background operations, such as database updates or batch processing, to be handled by another service,\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Limiting the call rate to backend services like databases and third-party APIs<\/span><\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\"><strong>Events from Eventrac:<\/strong> You can <\/span><a href=\"https:\/\/cloud.google.com\/blog\/products\/serverless\/build-event-driven-applications-in-cloud-run\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\">trigger Cloud Run with events from 60+ Google Cloud sources<\/span><\/a><span style=\"font-weight: 400;\">. For example:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Use our <\/span><span style=\"font-weight: 400;\">Cloud Storage events<\/span><span style=\"font-weight: 400;\"> (via Cloud Audit Logs) to enable data processing\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Use our <\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/gcloudvn.com\/en\/bigquery\/\">BigQuery<\/a> event<\/span><span style=\"font-weight: 400;\"> (via Cloud Audit Logs) to get started <\/span><span style=\"font-weight: 400;\">\u00a0downstream processing <\/span><span style=\"font-weight: 400;\">in Cloud Run every time a job is done<\/span><\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Cloud_Run_khac_voi_Cloud_Function_the_nao\"><\/span><strong>How is Cloud Run different from Cloud Function?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Cloud Run and Cloud Functions are both fully managed services that run on top of Google Cloud&#039;s serverless infrastructure, automatically scaling and handling HTTP requests or events. However, they have some important differences:<\/span><\/p>\n<ul style=\"text-align: justify;\">\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Cloud Functions allows you to deploy pieces of code (functions) written in a limited set of programming languages, while Cloud Run allows you to deploy container images in the programming language of your choice.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Cloud Run also supports the use of<\/span><span style=\"font-weight: 400;\"> any tool or system library<\/span><span style=\"font-weight: 400;\"> from your application; Cloud Functions does not allow you to use custom executables.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Cloud Run provides request <\/span><span style=\"font-weight: 400;\">longer standby time up to 60 minutes<\/span><span style=\"font-weight: 400;\">, while with Cloud Functions, the request <\/span><span style=\"font-weight: 400;\">timeout can be set as high as 9 minutes<\/span><span style=\"font-weight: 400;\">.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Cloud Functions sends only one request at a time for each <\/span><span style=\"font-weight: 400;\">function instance<\/span><span style=\"font-weight: 400;\">, while by default Cloud Run is configured to send multiple concurrent requests on each <\/span><span style=\"font-weight: 400;\">container instance<\/span><span style=\"font-weight: 400;\">. This is useful to improve latency and reduce costs if you are expecting large numbers.\u00a0<\/span><\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Dinh_gia\"><\/span><strong>Valuation<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">Cloud Run included <\/span><span style=\"font-weight: 400;\">a generous free tier<\/span><span style=\"font-weight: 400;\"> and pay per use, which means you pay only while the request is being processed on your container instance. If it&#039;s idle and there&#039;s no traffic, then you don&#039;t pay anything.<\/span><\/p>\n<h2 style=\"text-align: justify;\"><span class=\"ez-toc-section\" id=\"Ket_luan\"><\/span><strong>Conclusion<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p style=\"text-align: justify;\"><span style=\"font-weight: 400;\">After learning about Cloud Run&#039;s ease of setup, scalability, and management, the Mindful Containers team is using it to deploy stateless microservices. If you want to learn more, check out <\/span><a href=\"https:\/\/cloud.google.com\/run\" rel=\"nofollow noopener\" target=\"_blank\"><span style=\"font-weight: 400;\">document<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p style=\"text-align: right;\"><strong>Source: Gimasys<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Mindful Containers l\u00e0 m\u1ed9t c\u00f4ng ty h\u01b0 c\u1ea5u \u0111ang t\u1ea1o ra c\u00e1c \u1ee9ng d\u1ee5ng microservice \u0111\u01b0\u1ee3c \u0111\u00f3ng g\u00f3i. H\u1ecd c\u1ea7n m\u1ed9t fully managed compute environment for deploying and scaling serverless containerized microservices. V\u00ec v\u1eady, h\u1ecd \u0111ang xem x\u00e9t Cloud Run.\u00a0&hellip;<\/p>","protected":false},"author":1,"featured_media":7128,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1,135],"tags":[],"class_list":["post-7127","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kienthuc","category-google-cloud-platform","entry","has-media"],"_links":{"self":[{"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/posts\/7127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/comments?post=7127"}],"version-history":[{"count":0,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/posts\/7127\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/media\/7128"}],"wp:attachment":[{"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/media?parent=7127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/categories?post=7127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gcloudvn.com\/en\/wp-json\/wp\/v2\/tags?post=7127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}