{"id":43231,"date":"2024-02-10T12:16:26","date_gmt":"2024-02-10T12:16:26","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=43231"},"modified":"2024-02-10T12:17:03","modified_gmt":"2024-02-10T12:17:03","slug":"what-is-nomad-and-use-cases-of-nomad","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-nomad-and-use-cases-of-nomad\/","title":{"rendered":"What is Nomad and use cases of Nomad?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is Nomad?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"426\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-185-1024x426.png\" alt=\"\" class=\"wp-image-43251\" style=\"width:690px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-185-1024x426.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-185-300x125.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-185-768x320.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-185.png 1400w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>What is Nomad<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Nomad is a <strong>flexible workload orchestrator<\/strong> created by HashiCorp. It enables organizations to easily <strong>deploy, manage, and scale<\/strong> any containerized or legacy application using a <strong>single, unified workflow<\/strong>. Unlike Kubernetes, which is primarily focused on containerized applications, Nomad can handle a wider range of workloads, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Docker containers:<\/strong> Run and manage containerized applications efficiently.<\/li>\n\n\n\n<li><strong>Non-containerized applications:<\/strong> Deploy and manage legacy applications, static binaries, JARs, and simple OS commands.<\/li>\n\n\n\n<li><strong>Microservices:<\/strong> Orchestrate complex microservice architectures across diverse environments.<\/li>\n\n\n\n<li><strong>Batch jobs:<\/strong> Schedule and execute batch jobs with flexible resource allocation.<\/li>\n<\/ul>\n\n\n\n<p>Nomad stands out with its unique features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bin packing:<\/strong> Optimizes resource utilization by efficiently allocating tasks to available resources.<\/li>\n\n\n\n<li><strong>Multi-region and multi-cloud support:<\/strong> Deploys workloads across private data centers, multiple clouds, and edge devices.<\/li>\n\n\n\n<li><strong>Declarative configuration:<\/strong> Simplifies management with infrastructure-as-code (IaC) principles.<\/li>\n\n\n\n<li><strong>Lightweight and highly available:<\/strong> Offers low resource overhead and distributed architecture for high availability.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Top 10 use cases of Nomad?<\/h2>\n\n\n\n<p>Top 10 Use Cases of Nomad:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Modernizing Legacy Applications:<\/strong> Containerize and deploy legacy applications for improved scalability and portability.<\/li>\n\n\n\n<li><strong>Building Cloud-Native Microservices:<\/strong> Develop and deploy microservice architectures with flexible scaling and resilience.<\/li>\n\n\n\n<li><strong>Continuous Integration and Delivery (CI\/CD):<\/strong> Automate application builds, tests, and deployments across environments.<\/li>\n\n\n\n<li><strong>Edge Computing:<\/strong> Deploy resource-efficient applications closer to data sources for faster processing and reduced latency.<\/li>\n\n\n\n<li><strong>Data Science and Machine Learning:<\/strong> Manage data pipelines and machine learning models at scale.<\/li>\n\n\n\n<li><strong>High-Performance Computing (HPC):<\/strong> Schedule and orchestrate demanding scientific and engineering workloads.<\/li>\n\n\n\n<li><strong>Internal Developer Platforms:<\/strong> Create centralized platforms for internal application development within organizations.<\/li>\n\n\n\n<li><strong>Software Supply Chain Management:<\/strong> Securely manage and track software builds and deployments.<\/li>\n\n\n\n<li><strong>Containerized DevOps Environments:<\/strong> Establish consistent and secure environments for development and operations teams.<\/li>\n\n\n\n<li><strong>Managing Diverse Workloads:<\/strong> Handle a wide range of workloads, from traditional applications to cloud-native microservices, in a single platform.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">What are the feature of Nomad?<\/h2>\n\n\n\n<p>Nomad boasts a diverse feature set catered to diverse needs in application deployment and management. Here are some of its key highlights:<\/p>\n\n\n\n<p><strong>Workload Flexibility:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Beyond Containers:<\/strong> Handles containerized applications, legacy apps, microservices, batch jobs, and more.<\/li>\n\n\n\n<li><strong>Cross-Platform Support:<\/strong> Runs on major operating systems (Linux, Windows, macOS) and supports various cloud platforms.<\/li>\n<\/ul>\n\n\n\n<p><strong>Resource Optimization:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Bin Packing Algorithm:<\/strong> Intelligently allocates tasks to available resources for efficient utilization.<\/li>\n\n\n\n<li><strong>Multi-Region and Multi-Cloud Deployment:<\/strong> Scales across diverse environments for better reach and fault tolerance.<\/li>\n<\/ul>\n\n\n\n<p><strong>Simplified Management:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Declarative Configuration:<\/strong> Uses Infrastructure as Code (IaC) principles for easy configuration and updates.<\/li>\n\n\n\n<li><strong>Lightweight and Distributed:<\/strong> Low resource footprint and distributed architecture ensure high availability.<\/li>\n\n\n\n<li><strong>Flexible Scheduling:<\/strong> Supports cron-style scheduling, event-driven triggers, and manual execution for various workload needs.<\/li>\n<\/ul>\n\n\n\n<p><strong>Security and Governance:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fine-Grained Access Control:<\/strong> Role-Based Access Control (RBAC) ensures users only access authorized resources.<\/li>\n\n\n\n<li><strong>Secrets Management:<\/strong> Securely stores and manages sensitive application secrets.<\/li>\n\n\n\n<li><strong>Network Policies:<\/strong> Enforce granular network control for different workloads.<\/li>\n<\/ul>\n\n\n\n<p><strong>Advanced Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stateful Applications:<\/strong> Supports stateful applications with persistent storage options.<\/li>\n\n\n\n<li><strong>Health Checks and Restarting:<\/strong> Monitors application health and restarts failed tasks automatically.<\/li>\n\n\n\n<li><strong>Custom Tasks and Drivers:<\/strong> Extend functionality with custom tasks and drivers for specialized needs.<\/li>\n<\/ul>\n\n\n\n<p><strong>Integration and Community:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>API and CLI:<\/strong> Integrates with various tools and workflows through extensive APIs and CLI commands.<\/li>\n\n\n\n<li><strong>Thriving Community:<\/strong> Backed by a large and active community offering support and resources.<\/li>\n<\/ul>\n\n\n\n<p><strong>Additional Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Zero Downtime Upgrades:<\/strong> Facilitates rolling upgrades without application downtime.<\/li>\n\n\n\n<li><strong>Telegraf Integration:<\/strong> Captures performance metrics and sends them to monitoring systems.<\/li>\n\n\n\n<li><strong>Consul Integration:<\/strong> Leverages Consul for service discovery and configuration management.<\/li>\n<\/ul>\n\n\n\n<p>Beyond these listed features, Nomad offers more granular controls and functionalities depending on your specific needs and chosen version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Nomad works and Architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"454\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186-1024x454.png\" alt=\"\" class=\"wp-image-43252\" style=\"width:771px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186-1024x454.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186-300x133.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186-768x341.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186-1536x682.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-186.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Nomad works and Architecture<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Nomad&#8217;s architecture is designed to be <strong>flexible, resilient, and efficient<\/strong>. Here&#8217;s a breakdown of the key components and how they work together:<\/p>\n\n\n\n<p><strong>Core Components:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Servers:<\/strong> Nodes responsible for scheduling and managing tasks. They communicate with each other to maintain a consistent cluster state.<\/li>\n\n\n\n<li><strong>Clients:<\/strong> Register tasks with the servers and receive allocation information for running them. Clients can be diverse, including containers, VMs, and bare-metal servers.<\/li>\n\n\n\n<li><strong>Consul:<\/strong> An optional component used for service discovery, configuration management, and leader election.<\/li>\n\n\n\n<li><strong>Drivers:<\/strong> Modular plugins that enable interaction with specific resources (e.g., container engines, storage systems).<\/li>\n<\/ul>\n\n\n\n<p><strong>Workflow:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Client registers a task:<\/strong> A client submits a task specification to a server, defining details like resources needed and the task to be executed.<\/li>\n\n\n\n<li><strong>Server schedules the task:<\/strong> The server uses its bin-packing algorithm and cluster state to assign the task to an available client with suitable resources.<\/li>\n\n\n\n<li><strong>Client receives allocation:<\/strong> The server sends the client an allocation containing information about where and how to run the task.<\/li>\n\n\n\n<li><strong>Client executes the task:<\/strong> The client uses the allocation to deploy and run the task on the designated resource.<\/li>\n\n\n\n<li><strong>Health checks and monitoring:<\/strong> Nomad continually monitors task health and restarts them if they fail. Metrics and logs are available for further analysis.<\/li>\n<\/ol>\n\n\n\n<p><strong>Key Architecture Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Distributed and Resilient:<\/strong> No single point of failure ensures high availability even if individual servers fail.<\/li>\n\n\n\n<li><strong>Decentralized Scheduling:<\/strong> Servers work together efficiently with the bin-packing algorithm for optimized resource allocation.<\/li>\n\n\n\n<li><strong>Flexible Communication:<\/strong> Nomad can operate using Consul or directly communicate between servers and clients for flexibility.<\/li>\n\n\n\n<li><strong>Modular Architecture:<\/strong> Drivers allow seamless integration with diverse resources and environments.<\/li>\n\n\n\n<li><strong>API and CLI:<\/strong> Enables automation and integration with various tools and workflows.<\/li>\n<\/ul>\n\n\n\n<p><strong>Additional Points:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nomad employs <strong>optimistic concurrency<\/strong>, meaning servers make scheduling decisions independently but quickly synchronize updates.<\/li>\n\n\n\n<li><strong>Regions and Zones:<\/strong> Nomad can handle geographically distributed deployments across regions and zones for further resilience.<\/li>\n\n\n\n<li><strong>Nomad clients run independently<\/strong> and do not require specific operating systems or container engines.<\/li>\n<\/ul>\n\n\n\n<p>Understanding Nomad&#8217;s architecture empowers you to leverage its strengths effectively for orchestrating diverse workloads in various environments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Nomad it?<\/h2>\n\n\n\n<p>Installing Nomad can be done in various ways, depending on your specific needs and environment. Here&#8217;s a breakdown of different methods:<\/p>\n\n\n\n<p><strong>1. Binary Download:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This is the simplest method for individual servers or testing purposes.<\/li>\n\n\n\n<li>Download the pre-built binary for your operating system from the Nomad official website.<\/li>\n\n\n\n<li>Extract the binary and add its location to your system path for easy access.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Package Managers:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For convenient updates and management, use platform-specific package managers:\n<ul class=\"wp-block-list\">\n<li><strong>Linux:<\/strong> Use distributions like Ubuntu, Debian, and CentOS repositories.<\/li>\n\n\n\n<li><strong>macOS:<\/strong> Use Homebrew.<\/li>\n\n\n\n<li><strong>Windows:<\/strong> Download the official package installer.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Cloud Provider Installations:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Major cloud providers (AWS, Azure, GCP) offer managed Nomad services:\n<ul class=\"wp-block-list\">\n<li><strong>AWS:<\/strong> Use Amazon ECS Anywhere with Nomad driver.<\/li>\n\n\n\n<li><strong>Azure:<\/strong> Use Azure Stack HCI with Nomad.<\/li>\n\n\n\n<li><strong>GCP:<\/strong> Use Google Kubernetes Engine (GKE) with Nomad driver.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>4. Bare Metal Installation:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This method involves manual installation on your own hardware infrastructure.<\/li>\n\n\n\n<li>Requires configuring networking, storage, and security for the cluster.<\/li>\n\n\n\n<li>More complex but offers full control and customization.<\/li>\n<\/ul>\n\n\n\n<p><strong>5. Nomad Local:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For development and testing, use Nomad Local to run a single-node cluster on your local machine.<\/li>\n\n\n\n<li>Requires minimal resources and offers quick setup.<\/li>\n<\/ul>\n\n\n\n<p><strong>Choosing the Right Method:<\/strong><\/p>\n\n\n\n<p>The best installation method depends on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Environment:<\/strong> Cloud, on-premises, or local development?<\/li>\n\n\n\n<li><strong>Technical expertise:<\/strong> Comfortable with system administration?<\/li>\n\n\n\n<li><strong>Needs:<\/strong> Individual server, testing, production cluster?<\/li>\n<\/ul>\n\n\n\n<p>Remember, installing Nomad can vary in complexity. Choose the method that aligns with your skills and environment, and consult the official documentation or community resources for specific steps and troubleshooting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Tutorials of Nomad: Getting Started<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-1024x576.png\" alt=\"\" class=\"wp-image-43253\" style=\"width:667px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-1024x576.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-300x169.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-768x432.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-1536x864.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187-355x199.png 355w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-187.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Basic Tutorials of Nomad<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Now, Let&#8217;s move to the step-by-step tutorial on getting started with Nomad, a popular open-source cluster scheduler and orchestrator developed by HashiCorp:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Installation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Visit the official Nomad website and navigate to the &#8220;Downloads&#8221; section.<\/li>\n\n\n\n<li>Choose the appropriate binary package for your operating system and download it.<\/li>\n\n\n\n<li>Once downloaded, follow the installation instructions provided in the HashiCorp documentation to install Nomad on your machine.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: Configuration<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create a new configuration file for Nomad using a text editor of your choice.<\/li>\n\n\n\n<li>Specify the basic configuration settings such as data directory, log level, and network settings.<\/li>\n\n\n\n<li>Optionally, you can configure advanced settings like ACL (Access Control List), telemetry, and plugins based on your requirements.<\/li>\n\n\n\n<li>Save the configuration file with a &#8220;.hcl&#8221; extension.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Starting Nomad<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open a terminal window and navigate to the directory where you installed Nomad.<\/li>\n\n\n\n<li>Run the following command to start Nomad with the specified configuration file: nomad agent -config<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">\r\n       nomad agent -config <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">path_to_config_file<\/span>&gt;<\/span>\r\n  \r<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li>Nomad will start running and log output will be displayed in the terminal.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: Interacting with Nomad<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nomad provides a command-line interface (CLI) to interact with the cluster.<\/li>\n\n\n\n<li>Open a new terminal window and run the following command to check Nomad&#8217;s status: nomad status<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">   \r    nomad status\r<\/code><\/span><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li>This command will display the status of all running jobs, tasks, and allocations in the Nomad cluster.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: Creating and Running Jobs<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Define a job specification in HCL (HashiCorp Configuration Language) format.<\/li>\n\n\n\n<li>Save the job file with a &#8220;.nomad&#8221; extension.<\/li>\n\n\n\n<li>Run the following command to submit the job to Nomad: nomad job run<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">\r      nomad job run <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">path_to_job_file<\/span>&gt;<\/span>\r\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li>Nomad will schedule the job and start running the tasks defined in the job file.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Monitoring and Troubleshooting<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nomad provides several built-in tools and integrations to monitor and troubleshoot the cluster.<\/li>\n\n\n\n<li>You can use the Nomad web UI or CLI commands like <code>nomad status<\/code>, <code>nomad job status<\/code>, and <code>nomad alloc status<\/code> to monitor the cluster, job, task, and allocation statuses.<\/li>\n<\/ul>\n\n\n\n<p>These steps should give you a basic understanding of how to get started with Nomad.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Nomad? Nomad is a flexible workload orchestrator created by HashiCorp. It enables organizations to easily deploy, manage, and scale any containerized or legacy application using a single, unified&#8230; <\/p>\n","protected":false},"author":41,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-43231","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=43231"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43231\/revisions"}],"predecessor-version":[{"id":43259,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/43231\/revisions\/43259"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=43231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=43231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=43231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}