{"id":808,"date":"2023-07-22T02:28:00","date_gmt":"2023-07-22T02:28:00","guid":{"rendered":"https:\/\/blog.ngocha.biz\/?p=808"},"modified":"2023-07-22T02:28:00","modified_gmt":"2023-07-22T02:28:00","slug":"devops-tools-for-infrastructure-automation","status":"publish","type":"post","link":"https:\/\/blog.ngocha.biz\/?p=808","title":{"rendered":"20 Devops Tools for Infrastructure Automation 2025"},"content":{"rendered":"<p>To achieve faster application delivery, the right <strong>infrastructure automation tools<\/strong> must be used in DevOps environments. Unfortunately, there is no single tool that fits all your needs, such as server provisioning, configuration management, <a href=\"https:\/\/devopscube.com\/list-of-popular-open-source-java-build-tools\/\" rel=\"noreferrer noopener\">automated builds<\/a>, code deployments, and monitoring.<\/p>\n<p>Many factors determine the use of automation tools in an infrastructure.  This article will look into core <strong>infrastructure automation tools<\/strong> that can be used in a typical environment practicing <a href=\"https:\/\/devopscube.com\/what-is-devops-what-does-it-really-mean\/\" rel=\"noreferrer noopener\">DevOps philosophy<\/a>.<\/p>\n<h2 id=\"what-are-the-best-devops-tools-for-infrastructure-automation\">What are the Best DevOps Tools for Infrastructure Automation?<\/h2>\n<p>There are many tools available for<strong> infrastructure automation. <\/strong>Choosing the right tool for infrastructure automation is decided by factors like platform architecture, skillsets, budget, security compliance, and the needs of your infrastructure.<\/p>\n<p>I have listed a few great tools below, which come under various categories like configuration management, orchestration, continuous integration, monitoring, etc.,<\/p>\n<p>We have categorized the toolsets into the following.<\/p>\n<ol>\n<li>Infrastructure Provisioning<\/li>\n<li>Configuration Management<\/li>\n<li>Continuous Integration\/Deployment<\/li>\n<li>Config\/Secret Management<\/li>\n<li>Logging and Monitoring<\/li>\n<\/ol>\n<h2 id=\"infrastructure-provisioning\">Infrastructure Provisioning<\/h2>\n<p>Let&#8217;s get started with the list of infrastructure provisioning tools. Infrastructure provisioning is the process of provisioning or creating infrastructure resources. It is part of infrastructure as code.<\/p>\n<h2 id=\"1-terraform\">1. Terraform<\/h2>\n<p><a href=\"https:\/\/www.terraform.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Terraform<\/a> is a widely used open-source cloud-agnostic infrastructure provisioning tool. It is created by Hashicorp and written in Go. It supports all public and private cloud infrastructure provisioning (Networks, servers, managed services, firewall, etc.).<\/p>\n<p>Unlike other configuration management tools, terraform does a great job of maintaining the state of your infrastructure using a concept called state files.<\/p>\n<p>You can <a href=\"https:\/\/devopscube.com\/setup-google-provider-backend-terraform\/\" rel=\"noreferrer noopener\">get started with Terraform<\/a> in days as it is easy to understand. Terraform has its own domain-specific language (DSL) called HCL (Hashicorp configuration language).<\/p>\n<p>Also, you can write your own terraform plugin using <a href=\"https:\/\/devopscube.com\/programming-languages-devops\/\" rel=\"noreferrer noopener\">Golang<\/a> for custom functionalities.<\/p>\n<p>Terraform has huge community support and most of the modules required for infrastructure provisioning on all the cloud platforms can be found on the <a href=\"https:\/\/registry.terraform.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">terraform registry.<\/a><\/p>\n<h4 id=\"useful-terraform-resources\">Useful Terraform Resources<\/h4>\n<p>You can use the following resources to get started with Terraform.<\/p>\n<ol>\n<li><a href=\"https:\/\/devopscube.com\/recommends\/terraform-beginners\/\" rel=\"noreferrer noopener\">Terraform &#8211; Getting Started<\/a><\/li>\n<li><a href=\"https:\/\/devopscube.com\/recommends\/terraform-aws\/\" rel=\"noreferrer noopener\">Terraform: From Beginner to Master with Examples in AWS<\/a><\/li>\n<li><a href=\"https:\/\/devopscube.com\/recommends\/terraform-courses\/\" rel=\"noreferrer noopener\">Udemy Terraform Courses<\/a><\/li>\n<li><a href=\"https:\/\/devopscube.com\/recommends\/terraform-book\/\" rel=\"noreferrer noopener\">The Terraform Book<\/a><\/li>\n<\/ol>\n<h2 id=\"2-pulumi\">2. Pulumi<\/h2>\n<p><a href=\"https:\/\/www.pulumi.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Pulumi<\/a> is an IAC tool that supports multiple programming languages like <a href=\"https:\/\/devopscube.com\/python-for-devops\/\" rel=\"noreferrer noopener\">Python<\/a>, Go, Javascript, C#, etc.<\/p>\n<p>Unlike other IaaC templating tools, Pulumi aims to provide better flexibility in terms of infrastructure code in your favorite programming language. This makes infra-code testing easy with existing testing frameworks that are native to a programming language.<\/p>\n<p>Pulumi supports all the major cloud platforms like AWS, Google Cloud, and Azure. The best part is, it uses similar concepts to Terraform for state management.<\/p>\n<p>If you are someone who wants to write pure code for your Infrastructure, you will give it a try for Pulumi.<\/p>\n<h2 id=\"configuration-management\">Configuration Management<\/h2>\n<p>Next on our list is configuration management tools. Configuration management is the process of configuring the provisioned infrastructure resources.<\/p>\n<h2 id=\"3-ansible\">3. Ansible<\/h2>\n<p><a href=\"http:\/\/www.ansible.com\/home?ref=devopscube.com\" rel=\"noreferrer noopener\">Ansible<\/a> is agent-less configuration management as well as an orchestration tool. In Ansible, the configuration modules are called &#8220;Playbooks.&#8221;<\/p>\n<p>Playbooks are written in YAML format, and it is relatively easy to write compared to other configuration management tools. Like other tools, Ansible can also be used for cloud provisioning.<\/p>\n<p>Ansible also supports <a href=\"https:\/\/devopscube.com\/setup-ansible-aws-dynamic-inventory\/\" rel=\"noreferrer noopener\">dynamic inventory<\/a> where it can fetch the server details dynamically through API calls.<\/p>\n<p>But it is better to use tools like Terraform and Ansible for infrastructure provision and use Ansible for just configuration management.<\/p>\n<p>You can find all community playbooks from <a href=\"https:\/\/galaxy.ansible.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Ansible Galaxy<\/a><\/p>\n<h2 id=\"4-chef\">4. Chef<\/h2>\n<p><a href=\"https:\/\/www.chef.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Chef<\/a> is a ruby-based configuration management tool. Chef has the concept of cookbooks where you code your infrastructure in DSL (domain-specific language) and with a little bit of programming.<\/p>\n<p>Chef configures virtual machines according to the rules mentioned in the cookbooks.<\/p>\n<p>A chef agent would be running on all the servers which have to be configured. The agent will pull the <a href=\"https:\/\/devopscube.com\/chef-cookbook-testing-tutorial\/\" rel=\"noreferrer noopener\">cookbooks<\/a> from the chef master server and run those configurations on the server to reach their desired state.<\/p>\n<p>You can find all the community cookbooks from <a href=\"https:\/\/supermarket.chef.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Chef Supermarket.<\/a><\/p>\n<h2 id=\"5-puppet\">5. Puppet<\/h2>\n<p><a href=\"http:\/\/puppetlabs.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Puppet<\/a> is also a ruby-based configuration management tool like Chef. The configuration code is written using puppet DSLs and wrapped in modules.<\/p>\n<p>While chef cookbooks are more developer-centric while the puppet is developed by keeping system administrators in mind.<\/p>\n<p>Puppet runs a puppet agent on all servers to be configured and it pulls the compiled module from the puppet server and installs the required software packages specified in the module.<\/p>\n<p>You can find all community Puppet Modules from <a href=\"https:\/\/forge.puppet.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Puppetforge<\/a><\/p>\n<h2 id=\"6-saltstack\">6. Saltstack<\/h2>\n<p><a href=\"http:\/\/www.saltstack.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Saltstack<\/a> is a Python based open source configuration management tool. Unlike Chef and puppet, Saltstack supports the remote execution of commands.<\/p>\n<p>Normally in Chef and Puppet, the code for configuration will be pulled from the server while, in Saltstack, the code can be pushed to many nodes simultaneously. The compilation of code and configuration is very fast in Saltstack.<\/p>\n<div class=\"kg-card kg-callout-card kg-callout-card-grey\">\n<div class=\"kg-callout-text\"><b><strong style=\"white-space: pre-wrap;\">Note:<\/strong><\/b> The tool selection should be based entirely on project requirements and the team&#8217;s ability to learn and use the tool. For example, You can use Ansible to create infrastructure components and to configure VM instances. So if you have a small team and environment, terraform is not required to manage the infrastructure separately. Again it depends on how the existing team can learn and manage the toolsets<\/div>\n<\/div>\n<h2 id=\"7-helm\">7. Helm<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/install-configure-helm-kubernetes\/\" rel=\"noreferrer noopener\">Helm<\/a> is a configuration and package manager for <a href=\"https:\/\/devopscube.com\/kubernetes-tutorials-beginners\/\" rel=\"noreferrer noopener\">Kubernetes<\/a>.  You can deploy any complex application on a <a href=\"https:\/\/devopscube.com\/setup-kubernetes-cluster-kubeadm\/\" rel=\"noreferrer noopener\">Kubernetes cluster<\/a> using Helm Charts.<\/p>\n<p>It has great templating features that support templates for all <a href=\"https:\/\/devopscube.com\/kubernetes-objects-resources\/\">kubernetes objects<\/a> like <a href=\"https:\/\/devopscube.com\/kubernetes-deployment-tutorial\/\" rel=\"noreferrer noopener\">deployments<\/a>, pods, services, config maps, secrets, RBAC, PSP, etc.<\/p>\n<p>You can use a single template to deploy multiple applications.<\/p>\n<p>Also, look at <a href=\"https:\/\/devopscube.com\/kustomize-tutorial\/\">Kustomize<\/a>. It is a native configuration management utility for Kubernetes.<\/p>\n<h2 id=\"continuous-integrationdeployment-tools\">Continuous Integration\/Deployment Tools<\/h2>\n<p>Now let&#8217;s look at the best CI\/CD tools that can be part of infrastructure automation.<\/p>\n<h2 id=\"8-jenkins\">8. Jenkins<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/jenkins-2-tutorials-getting-started-guide\/\" rel=\"noreferrer noopener\">Jenkins<\/a> is a java based continuous integration tool for faster application delivery. . Jenkins has to be associated with a version control system like GitHub or SVN.<\/p>\n<p>Whenever a new code is pushed to a code repository, the Jenkins server will build and test the new code and notify the team of the results and changes.<\/p>\n<p>Jenkins is not just a CI tool anymore. Jenkins is used as an orchestration tool for <a href=\"https:\/\/devopscube.com\/jenkins-build-trigger-github-pull-request\/\" rel=\"noreferrer noopener\">building pipelines<\/a> involving application provisioning and deployment. Its new <a href=\"https:\/\/devopscube.com\/jenkins-pipeline-as-code\/\" rel=\"noreferrer noopener\">pipeline as code <\/a>functionality lets you keep the CI\/CD pipelines as a complete code.<\/p>\n<p>Check out the complete <a href=\"https:\/\/devopscube.com\/jenkins-2-tutorials-getting-started-guide\/\" rel=\"noreferrer noopener\">Jenkins tutorial for beginners<\/a> to learn more about Jenkins<\/p>\n<h2 id=\"9-github-actions\">9. GitHub Actions<\/h2>\n<p>If you are using GitHub, <a href=\"https:\/\/github.com\/features\/actions?ref=devopscube.com\" rel=\"noreferrer noopener\">Github actions<\/a> are a great way to set up your CI pipelines.<\/p>\n<p>GitHub actions provide many integrations and workflows to set up a CI pipeline. In addition, it can be used on public and enterprise Github accounts.<\/p>\n<p>The concept of Github runners helps you to set up a CI execution environment in a self-hosted environment.<\/p>\n<h2 id=\"10-kubernetes-operators\">10. Kubernetes Operators<\/h2>\n<p>Kubernetes is one of the best <a href=\"https:\/\/devopscube.com\/docker-container-clustering-tools\/\" rel=\"noreferrer noopener\">container orchestration tools<\/a>.<\/p>\n<p>If you are using Kubernetes, <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/operator\/?ref=devopscube.com\" rel=\"noreferrer noopener\">operators<\/a> are something you should really look at. It helps in automating and managing the Kubernetes application with custom user-defined logic.<\/p>\n<p>You can use <a href=\"https:\/\/www.weave.works\/technologies\/gitops\/?ref=devopscube.com\" rel=\"noreferrer noopener\">GitOps methodologies<\/a> to have completely automated <a href=\"https:\/\/devopscube.com\/kubernetes-deployment-tutorial\/\" rel=\"noreferrer noopener\">kubernetes deployments <\/a>based on Git changes and verifications.<\/p>\n<p>You can look at the following operator-based CD tools.<\/p>\n<ol>\n<li><a href=\"https:\/\/argoproj.github.io\/argo-cd\/?ref=devopscube.com\" rel=\"noreferrer noopener\">ArgoCD<\/a><\/li>\n<li><a href=\"https:\/\/fluxcd.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">FluxCD<\/a><\/li>\n<\/ol>\n<h2 id=\"image-management-tools\">Image Management Tools<\/h2>\n<p>Image management tools help you automate VM and container images.<\/p>\n<h2 id=\"11-packer\">11. Packer<\/h2>\n<p>If you want to follow an immutable infrastructure pattern using Virtual machines, <a href=\"https:\/\/www.packer.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Packer<\/a> comes in handy to package all dependencies and build deployable VM images.<\/p>\n<p>It supports both private cloud and public cloud VM image management. You can also make Packer a part of your CI pipeline to <a href=\"https:\/\/devopscube.com\/packer-tutorial-for-beginners\/\" rel=\"noreferrer noopener\">build a VM image<\/a> as a deployable artifact.<\/p>\n<h2 id=\"12-docker\">12. Docker<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/what-is-docker\/\" rel=\"noreferrer noopener\">Docker works<\/a> on the concept of process-level virtualization. Docker creates <a href=\"https:\/\/devopscube.com\/jenkins-master-build-slaves-docker-container\/\" rel=\"noreferrer noopener\">isolated environments for application<\/a>s called containers.<\/p>\n<p>These containers can be shipped to any other server without making changes to the application. Docker is considered to be the next step in virtualization.<\/p>\n<p>Docker has a huge developer community and it is gaining huge popularity among DevOps<a href=\"https:\/\/devopscube.com\/skillsets-to-work-in-devops-environment\/\" rel=\"noreferrer noopener\"> practitioners and pioneers <\/a>in cloud computing.<\/p>\n<h2 id=\"13-podman\">13. Podman<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/podman-tutorial-beginners\/\">Podman<\/a> is an open-source container management tool like Docker. It helps you run rootless containers. Also, you can also run containers as pods. The same pod definition can be used to deploy pods on Kubernetes.<\/p>\n<h2 id=\"infrastructure-development-tools\">Infrastructure Development Tools<\/h2>\n<p>You can use the following tools for developing and testing your infrastructure code.<\/p>\n<h2 id=\"14-vagrant\">14. Vagrant<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/vagrant-tutorial-beginners\/\" rel=\"noreferrer noopener\">Vagrant<\/a> is a great tool for configuring virtual machines for a development environment. Vagrant runs on top of VM solutions like VirtualBox, VMware, Hyper-V, etc.<\/p>\n<p>You can follow our <a href=\"https:\/\/devopscube.com\/vagrant-tutorial-beginners\/\" rel=\"noreferrer noopener\">getting started with Vagrant<\/a> guide to learn more about it.<\/p>\n<p><a href=\"https:\/\/www.vagrantup.com\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Vagrant<\/a> uses a configuration file called Vagrantfile, which contains all the configurations needed for the VM.  Once a virtual machine is created and tested using a Vagrantfile, it can be shared with other developers to have identical development environments.<\/p>\n<p>Vagrant also has plugins for cloud provisioning and integration with configuration management tools (chef, puppet, etc.) to configure the VM on run time.<\/p>\n<h2 id=\"15-minikube\">15. Minikube<\/h2>\n<p>Minikube provides a local development setup using Kubernetes. You can use Mikukube for developing and testing Kubernetes. It is lightweight and fast.<\/p>\n<p>If you want a full-fledged Kubernetes setup on your local workstation, you can look at the <a href=\"https:\/\/devopscube.com\/kubernetes-cluster-vagrant\/\" rel=\"noreferrer noopener\">Kubernetes vagrant setup<\/a>.<\/p>\n<h2 id=\"configsecret-management\">Config\/Secret Management<\/h2>\n<h2 id=\"15-hashicorp-consul\">15. Hashicorp Consul<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/setup-consul-cluster-guide\/\" rel=\"noreferrer noopener\">Consul<\/a> is an open-source highly available key-value store. It is mainly used for service discovery purposes. If you have a use case to store and retrieve configurations in real-time, consul is the right fit.<\/p>\n<h2 id=\"16-etcd\">16. etcd<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/setup-etcd-cluster-linux\/\" rel=\"noreferrer noopener\">etcd <\/a>is another open-source key-value store created by the CoreOS team. It is one of the key components that is part of <a href=\"https:\/\/devopscube.com\/kubernetes-architecture-explained\/\" rel=\"noreferrer noopener\">Kubernetes architecture<\/a> for storing the state of cluster operations and configurations.<\/p>\n<h2 id=\"17-hashicorp-vault\">17. Hashicorp Vault<\/h2>\n<p><a href=\"https:\/\/devopscube.com\/setup-hashicorp-vault-beginners-guide\/\" rel=\"noreferrer noopener\">Hashicorp Vault<\/a> is an open-source tool for storing and retrieving secret data. It provides many functionalities to store your secret key in an encrypted way. You can create ACLs, policies, and roles to manage how the secrets will be accessed by end users.<\/p>\n<p>You can also <a href=\"https:\/\/devopscube.com\/vault-in-kubernetes\/\" rel=\"noreferrer noopener\">integrate vault with Kubernetes cluster<\/a> to inject secrets into pods.<\/p>\n<h2 id=\"infrastructure-monitoring-logging\">Infrastructure Monitoring &amp; Logging<\/h2>\n<p>Monitoring is also an important aspect of infrastructure automation. You can use metrics and alerts from monitoring systems to automatically take decisions like scaling, notifications, remediations, etc.<\/p>\n<p>Let&#8217;s look at some of the monitoring tools that can be part of your infrastructure. If you want to know about free tools, look at the list of <a href=\"https:\/\/devopscube.com\/best-opensource-monitoring-tools\/\" rel=\"noreferrer noopener\">open source monitoring tools<\/a>.<\/p>\n<h2 id=\"18-prometheus-alert-manager\">18. Prometheus &amp; Alert Manager<\/h2>\n<p><a href=\"https:\/\/prometheus.io\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Prometheus<\/a> is an open-source monitoring system. It is very lightweight and specifically built for modern application monitoring. It supports <a href=\"https:\/\/devopscube.com\/monitor-linux-servers-prometheus-node-exporter\/\" rel=\"noreferrer noopener\">Linux server<\/a> and <a href=\"https:\/\/devopscube.com\/setup-prometheus-monitoring-on-kubernetes\/\" rel=\"noreferrer noopener\">Kubernetes monitoring.<\/a><\/p>\n<p>It has out-of-the-box support for Kubernetes and Openshift monitoring. The <a href=\"https:\/\/devopscube.com\/alert-manager-kubernetes-guide\/\" rel=\"noreferrer noopener\">alert manager<\/a> manages all the alerting setups for the monitoring metrics.<\/p>\n<p>Also, there are many open-source exporters available for applications. You can use these exporters to push application metrics into Prometheus.<\/p>\n<h2 id=\"20-sensu\">20. Sensu<\/h2>\n<p><a href=\"http:\/\/sensuapp.org\/?ref=devopscube.com\" rel=\"noreferrer noopener\">Sensu<\/a> is an open-source monitoring framework written in Ruby. Sensu is a monitoring tool specifically built for cloud environments. It can be easily deployed using tools like chef and puppet. It also has an enterprise edition for monitoring.<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Infrastructure automation is a requirement for every DevOps team. Usage and selection of a tool depend on factors like cost, skillset, functionality, etc.<\/p>\n<p>Again one tool will not definitely fit your needs. The selection of toolsets should be based on the organization&#8217;s\/team requirements rather than the functionality of the tool.<\/p>\n<p>Also, if you want to look at a comprehensive list of tools that can be used in the DevOps toolchain, check out the <a href=\"https:\/\/devopscube.com\/best-devops-tools\/\">devops tools<\/a> list where I have covered 90+ best tools in different categories.<\/p>\n<p>So what tools are you using for infrastructure automation?<\/p>\n<p>Also, if you\u2019re looking for a good container orchestration tool, read my reviews of the <a href=\"https:\/\/devopscube.com\/docker-container-clustering-tools\/\" rel=\"noreferrer noopener\">best container orchestration tools<\/a>.<\/p>\n<hr>\n<p><strong>Ngu\u1ed3n:<\/strong> <a href=\"https:\/\/devopscube.com\/devops-tools-for-infrastructure-automation\/\" target=\"_blank\" rel=\"noopener noreferrer\">20 Devops Tools for Infrastructure Automation 2025 \u2014 DevOpsCube<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Source: https:\/\/devopscube.com\/devops-tools-for-infrastructure-automation\/<\/p>\n","protected":false},"author":1,"featured_media":809,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-808","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/808","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=808"}],"version-history":[{"count":0,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/posts\/808\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=\/wp\/v2\/media\/809"}],"wp:attachment":[{"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ngocha.biz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}