{"id":18216,"date":"2021-11-25T14:04:26","date_gmt":"2021-11-25T13:04:26","guid":{"rendered":"https:\/\/stage-fp.webenv.pl\/blog\/?p=18216"},"modified":"2024-01-31T15:27:28","modified_gmt":"2024-01-31T14:27:28","slug":"observability-in-devops-what-you-need-to-know","status":"publish","type":"post","link":"https:\/\/www.future-processing.com\/blog\/observability-in-devops-what-you-need-to-know\/","title":{"rendered":"Observability in DevOps &#8211; what we need to know?"},"content":{"rendered":"\n<p>In this article we look at it in more detail \u2013\u202fdo read on to see what it is and why it is so important.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Why is observability so important?<\/h2>\n\n\n\n<p>As stated by the 2019 Accelerate State of DevOps Report, \u201cdelivering software quickly, reliably, and safely is at the heart of technology transformation and organisational performance. We see continued evidence that software speed, stability, and availability contribute to organisational performance (including profitability, productivity, and customer satisfaction). <\/p>\n\n\n\n<p><strong>Our highest performers are twice as likely to meet or exceed their organisational performance goals<\/strong>\u201d.<\/p>\n\n\n\n<p>But to develop software quickly and effectively one needs reliabale solutions not only to build it, but also to understand its current health. The latter can only be achieved by examining data the system generates: logs, traces, and metrics. In one word, by observability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Observability in Kubernetes \u2013\u202fa few facts<\/h2>\n\n\n\n<p>So, what is observability? Its main goal is to allow you to understand what exactly is happening across all the environments within your software to find and address any issues which may prevent the system from becoming efficient and reliable.<\/p>\n\n\n\n<p>It helps you to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>understand what services a request went through, and where were the performance bottlenecks,<\/li>\n\n\n\n<li>see how the execution of the request was different from the expected system behaviour,<\/li>\n\n\n\n<li>establish why the request failed,<\/li>\n\n\n\n<li>check how each microservice processed the request.<\/li>\n<\/ul>\n\n\n\n<p>In the last few years, since <a href=\"https:\/\/www.future-processing.com\/blog\/how-can-devops-practices-improve-your-cloud-based-system\/\">cloud-native environments <\/a>become more complex and widely used, observability became more critical then ever.<\/p>\n\n\n\n<p><br><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/www.future-processing.com\/case-studies\/actificent\/?utm_source=internal&amp;utm_medium=banner&amp;utm_campaign=baner25\"><img fetchpriority=\"high\" decoding=\"async\" width=\"780\" height=\"238\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2024\/01\/11_Actificent-gray.jpg\" alt=\"\" class=\"wp-image-27855\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2024\/01\/11_Actificent-gray.jpg 780w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2024\/01\/11_Actificent-gray-300x92.jpg 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2024\/01\/11_Actificent-gray-768x234.jpg 768w\" sizes=\"(max-width: 780px) 100vw, 780px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Observability, monitoring and analysis<\/h2>\n\n\n\n<p>Despite the fact observability has recently become so important, there is still a lot to be said about it, and about how it differs from monitoring. The two terms are sometimes used interchangeably, which is not correct, as observability and monitoring are two different concepts. <\/p>\n\n\n\n<p>Let\u2019s investigate why.<\/p>\n\n\n    <div class=\"o-icon-box__wrapper\">\n        <div class=\"o-icon-box o-icon-box--big o-icon-box--italics m-cool-gray-light\">\n            <div class=\"o-icon-box__text f-headline-extra-big\">\n                In DevOps, observability means making data from the system you want to monitor available. Monitoring, on the other hand, means collecting and displaying that data.            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n<p>As stated by the\u202f<strong>SRE book\u202fby Google, <\/strong>your monitoring system needs to answer two simple questions: what is broken, and why is it broken. <\/p>\n\n\n\n<p>Simply put, it informs you that something is wrong, while observability enables you to understand the reason for why it is wrong. Monitoring is impossible without some level of observability.<\/p>\n\n\n\n<p>Another component of an effective observability is analysis \u2013\u202fwhen you\u2019ve made your system observable and you collected data via monitoring, <strong>you need to conduct analysis<\/strong>, which will answer some of the most important questions about the system you are working on and its health.<\/p>\n\n\n    <div class=\"b-image js-lightbox\">\n        <figure class=\"b-image__figure\">\n            <a\n                href=\"piramid_of_power-01.jpg\"\n                class=\"js-lightbox__trigger\"\n                aria-haspopup=\"dialog\"\n                data-elementor-open-lightbox=\"no\"\n            >\n                <img decoding=\"async\" width=\"1392\" height=\"929\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01.jpg 1392w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-300x200.jpg 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-1024x683.jpg 1024w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-768x513.jpg 768w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-599x400.jpg 599w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/>            <\/a>\n                            <figcaption class=\"b-image__caption f-paragraph\">The Pyramid of Power<\/figcaption>\n                    <\/figure>\n        <div\n    class=\"js-lightbox__dialog o-lightbox\"\n    role=\"dialog\"\n    aria-modal=\"true\"\n    aria-hidden=\"true\"\n    tabindex=\"-1\"\n>\n    <div class=\"o-lightbox__dialog\">\n        <div class=\"o-lightbox__content js-lightbox__content\" role=\"document\">\n            <button\n                class=\"o-button o-button--xs o-button--dark o-button--icon-right o-button--tertiary o-lightbox__close js-lightbox__close m-gradient-brand\"\n            >\n                Close picture                <svg class='o-icon o-icon--16 o-icon--timescircle '>\n            <use xlink:href='#icon-16_times-circle'><\/use>\n          <\/svg>            <\/button>\n                                            <figure class=\"o-lightbox__image is-active\">\n                    <img decoding=\"async\" width=\"1392\" height=\"929\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01.jpg 1392w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-300x200.jpg 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-1024x683.jpg 1024w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-768x513.jpg 768w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-01-599x400.jpg 599w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/>                                            <figcaption\n                            class=\"o-lightbox__caption f-paragraph\">The Pyramid of Power<\/figcaption>\n                                    <\/figure>\n                    <\/div>\n    <\/div>\n<\/div>\n    <\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Building a Continuously Observable System in DevOps:\u202fpillars of observability<\/h2>\n\n\n    <div class=\"b-image js-lightbox\">\n        <figure class=\"b-image__figure\">\n            <a\n                href=\"piramid_of_power-02.jpg\"\n                class=\"js-lightbox__trigger\"\n                aria-haspopup=\"dialog\"\n                data-elementor-open-lightbox=\"no\"\n            >\n                <img decoding=\"async\" width=\"1392\" height=\"698\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02.jpg 1392w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-300x150.jpg 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-1024x513.jpg 1024w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-768x385.jpg 768w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-798x400.jpg 798w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/>            <\/a>\n                            <figcaption class=\"b-image__caption f-paragraph\">Three pillars of observability<\/figcaption>\n                    <\/figure>\n        <div\n    class=\"js-lightbox__dialog o-lightbox\"\n    role=\"dialog\"\n    aria-modal=\"true\"\n    aria-hidden=\"true\"\n    tabindex=\"-1\"\n>\n    <div class=\"o-lightbox__dialog\">\n        <div class=\"o-lightbox__content js-lightbox__content\" role=\"document\">\n            <button\n                class=\"o-button o-button--xs o-button--dark o-button--icon-right o-button--tertiary o-lightbox__close js-lightbox__close m-gradient-brand\"\n            >\n                Close picture                <svg class='o-icon o-icon--16 o-icon--timescircle '>\n            <use xlink:href='#icon-16_times-circle'><\/use>\n          <\/svg>            <\/button>\n                                            <figure class=\"o-lightbox__image is-active\">\n                    <img decoding=\"async\" width=\"1392\" height=\"698\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02.jpg\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02.jpg 1392w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-300x150.jpg 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-1024x513.jpg 1024w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-768x385.jpg 768w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/11\/piramid_of_power-02-798x400.jpg 798w\" sizes=\"(max-width: 1392px) 100vw, 1392px\" \/>                                            <figcaption\n                            class=\"o-lightbox__caption f-paragraph\">Three pillars of observability<\/figcaption>\n                                    <\/figure>\n                    <\/div>\n    <\/div>\n<\/div>\n    <\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>It may sound complicated but achieving observability doesn\u2019t have to be difficult. To start with, concentrate on three key pillars that contribute to observability\u2019s success:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Metrics<\/h3>\n\n\n\n<p>Metrics mean any data that can be <strong>aggregated over a period of time<\/strong>. It can come from many different sources such as cloud platforms, hosts or infrastructure. Metrics tell you for example\u202fhow much of the total amount of memory is used by a method, or how many requests a service handles per second. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A good example of a tool used for collecting metrics is Prometheus.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Tracing<\/h3>\n\n\n\n<p>Tracing shows activity of a <strong>transaction or a request inside applications<\/strong>. Capturing traces of requests and determining what is happening throughout the request chain allows you to find issues within the system and determine which components are responsible for errors. <\/p>\n\n\n\n<p><strong>Tracing is considered the most important part of observability implementation as it allows you to understand the actual reason of each issue. <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A popular tool used for tracing is Jaeger.\u202f<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Logs<\/h3>\n\n\n\n<p>Logs are text records of discreet events that happened within a certain timeframe; they allow you to identify unpredictable behaviour in a system. For complex ecosystems with many components, such as Kubernetes, structured logging becomes very important.<\/p>\n\n\n\n<p><strong>It\u2019s recommended to ingest logs in a structured way, for example using JSON format, so that logs become easily queryable.<\/strong><\/p>\n\n\n\n<p>The number of logs grow quickly, which make them difficult to manage and store. Fortunately, there are some tools which help to increase the <strong>effectiveness of logging<\/strong>. One of such tools is called\u202fOpenTelemetry \u2013\u202fit can be used not only for logging, but also for metric collation and tracing. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenTelemetry integrates with popular frameworks and libraries, such as Spring,\u202fASP.NET\u202fCore, and Express. Other good tools used for logs analysis are Elastic and Loki.<\/li>\n<\/ul>\n\n\n    <div class=\"o-icon-box__wrapper\">\n        <div class=\"o-icon-box o-icon-box--big o-icon-box--italics m-cool-gray-light\">\n            <div class=\"o-icon-box__text f-headline-extra-big\">\n                Remember that continuous automated observability lets you stay on top of any risks or problems throughout the whole software development lifecycle. It gives you insights into your infrastructure and systems, while providing you with valuable information on their health at any time.            <\/div>\n        <\/div>\n    <\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Monitoring Kubernetes<\/h2>\n\n\n\n<p>Today, <a href=\"https:\/\/www.future-processing.com\/blog\/kubernetes-as-a-platform-for-containerised-apps-why-is-it-becoming-so-popular\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kubernetes is the dominant platform<\/a> for deploying and maintaining containers. But, as stated by Kelsey Hightower, Principal Engineer at Google working on Google\u2019s Cloud Platform, \u201cit is only as good as the IaaS layer it runs on top of. Like Linux, Kubernetes has entered the distro era\u201d.<\/p>\n\n\n\n<p>Even if your Kubernetes system does not show any errors, you may still encounter some issues outside of Kubernetes that can pose certain risk. Let\u2019s see where else you can run into some problems while using Kubernetes:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Cloud provider\/infrastructure layer<\/h3>\n\n\n\n<p>Some problems can be linked to the infrastructure of your cloud provider or to your on-premise environment. The remedy is planning your resources: you don\u2019t want to use them all up before your Kubernetes cluster starts to scale. To do so, you must keep track of the quotas configured on the cloud provider and monitor the usage and costs of the resources. <\/p>\n\n\n\n<p>If you are running your Kubernetes environment on-premise, monitoring all infrastructure components is also of key importance. A good solution for both cases is doing log file analysis which will allow you detect problems before they occur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Operating system \/ Instance\u202flayer<\/h3>\n\n\n\n<p>Remember that you always need to keep your operating system up-to-dated. Always make sure you check the status of your Kubernetes services and automatically install all security updates as soon as they become available. A great source of information on the health check of your system are log entries.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Cloud platform\u202flayer<\/h3>\n\n\n\n<p>A lot of issues within Kubernetes environment are due to the growing number of applications while the infrastructure remains the same. A solution here is checking whether all nodes, pods, and deployments are schedulable and that you always plan for a reserve in case one of the nodes fail.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Application layer<\/h3>\n\n\n\n<p>Your Kubernetes may display no errors, but that doesn\u2019t mean you don\u2019t have any <a href=\"https:\/\/www.future-processing.com\/blog\/kubernetes-challenges-and-opportunities-for-devops\/\" target=\"_blank\" rel=\"noreferrer noopener\">issues on the application layer<\/a>. Fortunately, you can use real user monitoring (RUM) to check the behaviour and experience your users have when using your application. <\/p>\n\n\n\n<p>This allows you to identify errors which you haven\u2019t seen before, and which makes your clients abort certain actions when using your software.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><br>Business layer<\/h3>\n\n\n\n<p>Technical things apart, even the best software cannot be successful if the customer doesn\u2019t like it or cannot use it. This is why it is so important to link changes and new features within your application to business-related metrics such as revenue or conversion rate. <\/p>\n\n\n\n<p>When releasing an updated version of your application, compare the metrics such as orders per hour to those from the previous version. If it looks the update has any negative effect, you may consider going back to the previous version, which was more successful.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Observability in DevOps and beyond<\/h2>\n\n\n\n<p>When creating new software, there are many things to take into account, <strong>observability being just one of them. <\/strong>By using right solutions, you can simplify the whole process, which will allow you to achieve better results in shorter time!<\/p>\n\n\n\n<p>At Future Processing we focus on <strong>delivering the best solution<\/strong> for your particular business. Visit our website to see how we can take care of your software development process by helping you at every stage of it, its effective observability included.<\/p>\n\n\n<div class=\"b-cta-banner m-gradient-light\">\n            <a\n            href=\"https:\/\/www.future-processing.com\/services\/software-development-services\/software-development\/\"\n            class=\"b-cta-banner__image-container\"\n            data-elementclick=\"article-banner\"\n            data-elementname=\"Deliver high quality software solutions \"\n        >\n            <img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"450\" src=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development.png\" class=\"attachment-full size-full\" alt=\"\" srcset=\"https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development.png 450w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-300x300.png 300w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-150x150.png 150w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-400x400.png 400w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-24x24.png 24w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-48x48.png 48w, https:\/\/www.future-processing.com\/blog\/wp-content\/uploads\/2021\/08\/Software-Development-96x96.png 96w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/>        <\/a>\n    \n        <a\n        href=\"https:\/\/www.future-processing.com\/services\/software-development-services\/software-development\/\"\n        class=\"b-cta-banner__url b-cta-banner__text-container\"\n        data-elementclick=\"article-banner\"\n        data-elementname=\"Deliver high quality software solutions \"\n    >\n                    <div class=\"b-cta-banner__text\">\n                                                    <h3 class=\"f-headline-extra-big b-cta-banner__header\">\n                        Deliver high quality software solutions                     <\/h3>\n                \n                                    <div class=\"f-paragraph\">\n                        <p><span class=\"TextRun SCXW173800745 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW173800745 BCX0\">Work with us and\u202f<\/span><\/span><span class=\"TextRun SCXW173800745 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW173800745 BCX0\" data-ccp-charstyle=\"Strong\">turn your idea into a\u00a0<\/span><\/span><span class=\"TextRun SCXW173800745 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW173800745 BCX0\" data-ccp-charstyle=\"Strong\">great <strong>software solution<\/strong><\/span><\/span><span class=\"TextRun SCXW173800745 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW173800745 BCX0\">\u00a0for your company\u2019s needs.<\/span><\/span><\/p>\n                    <\/div>\n                \n                                    <div class=\"o-button o-button--primary o-button--s o-button--icon-right o-button--arrow\">\n                        <span>Explore our potential!<\/span>\n                        <svg class='o-icon o-icon--16 o-icon--arrow '>\n            <use xlink:href='#icon-16_arrow'><\/use>\n          <\/svg>                    <\/div>\n                            <\/div>\n                <\/a>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Some time ago people didn\u2019t talk a lot about observability. Today, it is considered one of the central components of the microservices landscape.<\/p>\n","protected":false},"author":155,"featured_media":18242,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[980],"tags":[2004],"coauthors":[1969],"class_list":["post-18216","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development","tag-devops"],"acf":{"reading-time":"7 min","show-toc-sublists":false,"image":null,"logo":null,"button1":{"button1_type":"","button":null},"button2":{"button2_type":"","button":null},"person":{"person_photo":null,"person_name":"","person_position":""}},"_links":{"self":[{"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/posts\/18216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/users\/155"}],"replies":[{"embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/comments?post=18216"}],"version-history":[{"count":0,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/posts\/18216\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/media\/18242"}],"wp:attachment":[{"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/media?parent=18216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/categories?post=18216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/tags?post=18216"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.future-processing.com\/blog\/wp-json\/wp\/v2\/coauthors?post=18216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}