{"id":42843,"date":"2024-01-27T10:33:25","date_gmt":"2024-01-27T10:33:25","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=42843"},"modified":"2024-01-27T10:34:12","modified_gmt":"2024-01-27T10:34:12","slug":"what-is-chaos-toolkit-and-use-cases-of-chaos-toolkit","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-chaos-toolkit-and-use-cases-of-chaos-toolkit\/","title":{"rendered":"What is Chaos Toolkit and use cases of Chaos Toolkit?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is Chaos Toolkit?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"256\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-411.png\" alt=\"\" class=\"wp-image-42849\" style=\"width:518px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-411.png 512w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-411-300x150.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><figcaption class=\"wp-element-caption\"><strong><em>What is Chaos Toolkit<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>The Chaos Toolkit, often abbreviated as &#8220;ctk,&#8221; is an open-source toolkit for <strong>chaos engineering<\/strong>. This means it helps engineers <strong>deliberately inject controlled failures<\/strong> into their systems to <strong>proactively discover and address weaknesses<\/strong> before they manifest in real-world scenarios.<\/p>\n\n\n\n<p><strong>Think of it like a stress test for your systems, but on steroids!<\/strong> ctk allows you to simulate various failure scenarios like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Network outages:<\/strong> Simulate internet or cloud connectivity disruptions.<\/li>\n\n\n\n<li><strong>Hardware failures:<\/strong> Simulate disk crashes, memory leaks, or CPU overload.<\/li>\n\n\n\n<li><strong>Software bugs:<\/strong> Inject specific errors or exceptions into your application code.<\/li>\n\n\n\n<li><strong>Resource constraints:<\/strong> Simulate limited disk space, memory, or network bandwidth.<\/li>\n<\/ul>\n\n\n\n<p>By observing how your system reacts to these simulated failures, ctk helps you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Identify single points of failure:<\/strong> Find critical components that can bring down the entire system.<\/li>\n\n\n\n<li><strong>Validate resilience measures:<\/strong> Test the effectiveness of your redundancy and recovery mechanisms.<\/li>\n\n\n\n<li><strong>Improve fault tolerance:<\/strong> Build systems that can gracefully handle disruptions and maintain service.<\/li>\n\n\n\n<li><strong>Increase confidence in production:<\/strong> Minimize the risk of outages and unexpected breakdowns.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Top 10 use cases of Chaos Toolkit?<\/h2>\n\n\n\n<p>Top 10 Use Cases of Chaos Toolkit:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Testing Microservices:<\/strong> Inject failures into individual microservices to assess their isolation and impact on the overall system.<\/li>\n\n\n\n<li><strong>Validating Disaster Recovery Plans:<\/strong> Simulate disaster scenarios like server crashes or data loss to test recovery procedures and failover mechanisms.<\/li>\n\n\n\n<li><strong>Strengthening CI\/CD Pipelines:<\/strong> Introduce chaos experiments into your CI\/CD pipeline to catch potential issues before deployment.<\/li>\n\n\n\n<li><strong>Improving Monitoring and Alerting:<\/strong> Analyze how monitoring systems and alerts respond to simulated failures, ensuring timely notifications and incident response.<\/li>\n\n\n\n<li><strong>Stress Testing Cloud Infrastructure:<\/strong> Simulate resource scarcity or scaling challenges in cloud environments to optimize resource allocation and resilience.<\/li>\n\n\n\n<li><strong>Boosting Developer Confidence:<\/strong> Encourage engineers to experiment with controlled failures, fostering deeper understanding of system behavior and building trust in its robustness.<\/li>\n\n\n\n<li><strong>Uncovering Hidden Dependencies:<\/strong> Identify implicit dependencies between components that might not be documented, leading to better system design and maintainability.<\/li>\n\n\n\n<li><strong>Evaluating Third-Party Services:<\/strong> Simulate outages or errors in external services your system relies on to assess their impact and potential mitigation strategies.<\/li>\n\n\n\n<li><strong>Continuously Improving System Design:<\/strong> Integrate chaos experiments into your development process to continuously identify and address weaknesses, leading to a more resilient and adaptive system.<\/li>\n\n\n\n<li><strong>Promoting a Culture of Resilience:<\/strong> Foster a proactive approach to system failures within your organization, encouraging engineers to prioritize reliability and robustness in their work.<\/li>\n<\/ol>\n\n\n\n<p>Always remember, Chaos Toolkit is just one tool in a broader chaos engineering approach. It&#8217;s crucial to have well-defined objectives and metrics for your experiments to gain meaningful insights and drive continuous improvement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are the feature of Chaos Toolkit?<\/h2>\n\n\n\n<p>Chaos Toolkit boasts a powerful feature set built for effective chaos engineering:<\/p>\n\n\n\n<p><strong>Experiment Design:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Declarative experiments:<\/strong> Define experiments using YAML files, making them human-readable and shareable.<\/li>\n\n\n\n<li><strong>Modular actions and probes:<\/strong> Combine reusable actions (e.g., process kill, network outage) and probes (e.g., HTTP ping, service health check) to build complex failure scenarios.<\/li>\n\n\n\n<li><strong>Steady-state hypothesis:<\/strong> Define expected system behavior under normal conditions for comparison with post-experiment results.<\/li>\n\n\n\n<li><strong>Randomization and scheduling:<\/strong> Randomize experiment execution and schedule runs for recurring stress testing.<\/li>\n<\/ul>\n\n\n\n<p><strong>Experiment Execution:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local and remote execution:<\/strong> Run experiments on your local machine or target remote systems.<\/li>\n\n\n\n<li><strong>Cloud platform integrations:<\/strong> Integrates with major cloud providers (AWS, GCP, Azure) for managing infrastructure and experiments.<\/li>\n\n\n\n<li><strong>Journal and reporting:<\/strong> Tracks experiment runs, logs outputs, and generates reports for analysis and sharing.<\/li>\n<\/ul>\n\n\n\n<p><strong>Analysis and Feedback:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Metrics and dashboards:<\/strong> Monitor key metrics during experiments and visualize results in interactive dashboards.<\/li>\n\n\n\n<li><strong>Alerting and notification:<\/strong> Set up alerts for critical failures or unexpected behavior during experiments.<\/li>\n\n\n\n<li><strong>Integration with CI\/CD pipelines:<\/strong> Integrate chaos experiments into your CI\/CD pipeline for continuous validation of system resilience.<\/li>\n<\/ul>\n\n\n\n<p><strong>Extensibility and Community:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Open-source and modular:<\/strong> Contribute to the codebase and extend functionality with custom actions and probes.<\/li>\n\n\n\n<li><strong>Extensive documentation and tutorials:<\/strong> Access comprehensive documentation and learning resources to get started quickly.<\/li>\n\n\n\n<li><strong>Active community and support:<\/strong> Join the vibrant Chaos Toolkit community for discussions, collaboration, and troubleshooting.<\/li>\n<\/ul>\n\n\n\n<p>These are just some of the key features that make Chaos Toolkit a valuable tool for building robust and resilient systems. Its flexibility, power, and community support make it a popular choice for organizations of all sizes across various industries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Chaos Toolkit works and Architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"470\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-413.png\" alt=\"\" class=\"wp-image-42851\" style=\"width:582px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-413.png 863w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-413-300x163.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-413-768x418.png 768w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Chaos Toolkit works and Architecture<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Chaos Toolkit works in a well-defined, modular manner to inject controlled failures and analyze their impact on your system. Here&#8217;s a breakdown of its key elements and workflow:<\/p>\n\n\n\n<p><strong>1. Experiment Definition:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>YAML files:<\/strong> You define your chaos experiments using YAML files. These files specify the:\n<ul class=\"wp-block-list\">\n<li><strong>Target system:<\/strong> Where to run the experiment (local machine, remote server, etc.).<\/li>\n\n\n\n<li><strong>Steady-state hypothesis:<\/strong> Expected behavior of the system in normal conditions.<\/li>\n\n\n\n<li><strong>Method:<\/strong> Sequence of actions and probes to execute during the experiment.\n<ul class=\"wp-block-list\">\n<li><strong>Actions:<\/strong> Represent the simulated failures (e.g., process kill, network outage).<\/li>\n\n\n\n<li><strong>Probes:<\/strong> Monitor system health and behavior during and after the experiment (e.g., HTTP ping, service health check).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Experiment Execution:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Command-line interface (CLI):<\/strong> You trigger experiment execution using the Chaos Toolkit CLI.<\/li>\n\n\n\n<li><strong>Modular execution:<\/strong> Each action and probe runs independently, allowing for flexible experiment design and reuse.<\/li>\n\n\n\n<li><strong>Randomization and scheduling:<\/strong> Experiments can be randomized for comprehensive testing and scheduled for recurring stress checks.<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Data Collection and Analysis:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Journal:<\/strong> Chaos Toolkit keeps a detailed log of each experiment run, including timestamps, actions, probe results, and system outputs.<\/li>\n\n\n\n<li><strong>Metrics and dashboards:<\/strong> Key metrics during the experiment (e.g., response times, error rates) are collected and visualized in interactive dashboards.<\/li>\n\n\n\n<li><strong>Comparison with steady-state hypothesis:<\/strong> Post-experiment results are compared against the initial hypothesis to identify deviations and analyze system behavior under stress.<\/li>\n<\/ul>\n\n\n\n<p><strong>4. Reporting and Feedback:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reports:<\/strong> Chaos Toolkit generates detailed reports summarizing the experiment&#8217;s execution, results, and insights.<\/li>\n\n\n\n<li><strong>Alerting and notification:<\/strong> You can configure alerts for critical failures or unexpected behavior during the experiment.<\/li>\n\n\n\n<li><strong>CI\/CD integration:<\/strong> Chaos experiments can be integrated into your CI\/CD pipeline to perform automated resilience testing at each stage.<\/li>\n<\/ul>\n\n\n\n<p><strong>Architecture:<\/strong><\/p>\n\n\n\n<p>Chaos Toolkit follows a <strong>modular architecture<\/strong> consisting of:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Core:<\/strong> Provides the foundation for experiment execution, management, and reporting.<\/li>\n\n\n\n<li><strong>Extensions:<\/strong> Offer additional functionalities like cloud integrations, custom actions and probes, and advanced reporting capabilities.<\/li>\n\n\n\n<li><strong>Plugins:<\/strong> Allow further customization and integration with external tools and platforms.<\/li>\n<\/ul>\n\n\n\n<p>This modular design makes Chaos Toolkit <strong>flexible and extensible<\/strong>, allowing you to tailor it to your specific needs and environment.<\/p>\n\n\n\n<p><strong>Benefits of Chaos Toolkit Architecture:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Simplicity and clarity:<\/strong> The modular structure makes it easy to understand and use, even for beginners.<\/li>\n\n\n\n<li><strong>Extendability and customization:<\/strong> You can easily add new features and integrations through extensions and plugins.<\/li>\n\n\n\n<li><strong>Community contributions:<\/strong> The open-source nature encourages code contributions and continuous improvement.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Chaos Toolkit it?<\/h2>\n\n\n\n<p>Installing Chaos Toolkit is straightforward and can be done in two main ways:<\/p>\n\n\n\n<p><strong>1. Using pip:<\/strong><\/p>\n\n\n\n<p>This is the recommended method for most users and requires Python 3.5 or later.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open a terminal or command prompt.<\/li>\n\n\n\n<li>Run the following command:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">pip install chaostoolkit\n<\/code><\/span><\/pre>\n\n\n<p>This will install the core functionalities of Chaos Toolkit.<\/p>\n\n\n\n<p><strong>2. Using Docker:<\/strong><\/p>\n\n\n\n<p>This method is convenient for isolating the environment and can be useful for containerized setups.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensure you have Docker installed and running.<\/li>\n\n\n\n<li>Run the following command to pull the latest stable image:<\/li>\n<\/ul>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker pull chaostoolkit\/chaostoolkit:latest\n<\/code><\/span><\/pre>\n\n\n<p>You can then run Chaos Toolkit commands by referencing the Docker image:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">docker run chaostoolkit\/chaostoolkit:latest chaos run experiment.json\n<\/code><\/span><\/pre>\n\n\n<p><strong>Additional Options:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Virtual environment:<\/strong> Consider creating a virtual environment for isolation, especially if you have multiple Python versions.<\/li>\n\n\n\n<li><strong>Upgrade:<\/strong> Use <code class=\"\">pip install -U chaostoolkit<\/code> to update your existing installation.<\/li>\n\n\n\n<li><strong>Extensions:<\/strong> If you need additional functionalities, install specific extensions using <code class=\"\">pip install chaostoolkit-&lt;extension_name&gt;<\/code>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Tutorials of Chaos Toolkit: 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=\"577\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415-1024x577.png\" alt=\"\" class=\"wp-image-42853\" style=\"width:591px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415-1024x577.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415-300x169.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415-768x433.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415-355x199.png 355w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/01\/image-415.png 1277w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Basic Tutorials of Chaos Toolkit<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Let&#8217;s delve into the exciting world of Chaos Engineering with step-by-step basic tutorials for Chaos Toolkit:<\/p>\n\n\n\n<p><strong>1. Setting Up:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Prerequisites:<\/strong> You&#8217;ll need Python 3 and pip installed. Optionally, install a virtual environment for cleaner management.<\/li>\n\n\n\n<li><strong>Install Chaos Toolkit:<\/strong> Open a terminal and run <code class=\"\">pip install chaostoolkit<\/code>.<\/li>\n\n\n\n<li><strong>Verify Installation:<\/strong> Run <code class=\"\">chaos init<\/code> and follow the prompts. This creates a default configuration file and confirms everything is ready.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Your First Experiment:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Target:<\/strong> We&#8217;ll target a simple HTTP service running on your local machine (modify if yours is different).<\/li>\n\n\n\n<li><strong>Chaos Type:<\/strong> Let&#8217;s simulate network delays using the <code class=\"\">network-delay<\/code> experiment.<\/li>\n\n\n\n<li><strong>Steps:<\/strong>\n<ol class=\"wp-block-list\">\n<li>Create a YAML file named <code class=\"\">experiment.yaml<\/code> in your preferred working directory.<\/li>\n\n\n\n<li>Paste the following content, adjusting the <code class=\"\">target<\/code> URL if needed:<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p>YAML<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">experiment:\n  name: basic-network-delay\n  <span class=\"hljs-attr\">hypothesis<\/span>: The service should gracefully handle network delays.\n  actions:\n    - name: delay-network\n      <span class=\"hljs-attr\">chaos<\/span>:\n        type: network-delay\n        <span class=\"hljs-attr\">target<\/span>: http:<span class=\"hljs-comment\">\/\/localhost:8000<\/span>\n        delay: <span class=\"hljs-number\">5<\/span>s\n    - name: measure-response-time\n      <span class=\"hljs-attr\">probe<\/span>:\n        type: ping\n        <span class=\"hljs-attr\">target<\/span>: http:<span class=\"hljs-comment\">\/\/localhost:8000<\/span>\n      analysis:\n        compare:\n          baseline: before.json\n          <span class=\"hljs-attr\">current<\/span>: after.json\n          <span class=\"hljs-attr\">metric<\/span>: response_time\n\n<span class=\"hljs-attr\">jobs<\/span>:\n  - name: run-experiment\n    <span class=\"hljs-attr\">steps<\/span>:\n      - name: run-actions\n        <span class=\"hljs-attr\">action<\/span>: experiment.actions\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-number\">3.<\/span> Run the experiment: <span class=\"hljs-string\">`chaos run experiment.yaml`<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Explanation:<\/strong> This experiment introduces a 5-second network delay for the target service and then measures its response time before and after the chaos. The results are stored in <code class=\"\">.json<\/code> files for comparison.<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Expanding Your Skills:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Advanced Chaos Types:<\/strong> Explore other chaos types like pod-chaos, resource-stress, and more to simulate diverse failures.<\/li>\n\n\n\n<li><strong>Chaostypes and Fault Injection:<\/strong> Chain multiple chaos types for complex stress scenarios or write custom Chaostypes for specific needs.<\/li>\n\n\n\n<li><strong>Chaos Schedules and Automation:<\/strong> Integrate Chaos Toolkit with CI\/CD pipelines for automated testing or schedule experiments at specific times.<\/li>\n\n\n\n<li><strong>Chaos Reports and Analytics:<\/strong> Generate detailed reports analyzing experiment results and system behavior.<\/li>\n<\/ul>\n\n\n\n<p>Happy chaossing!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Chaos Toolkit? The Chaos Toolkit, often abbreviated as &#8220;ctk,&#8221; is an open-source toolkit for chaos engineering. This means it helps engineers deliberately inject controlled failures into their systems&#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-42843","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42843","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=42843"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42843\/revisions"}],"predecessor-version":[{"id":42855,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42843\/revisions\/42855"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=42843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=42843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=42843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}