{"id":105106,"date":"2022-03-17T08:58:29","date_gmt":"2022-03-17T15:58:29","guid":{"rendered":"https:\/\/www.backblaze.com\/blog\/?p=105106"},"modified":"2023-07-11T10:03:01","modified_gmt":"2023-07-11T17:03:01","slug":"media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute","status":"publish","type":"post","link":"https:\/\/www.backblaze.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/","title":{"rendered":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-105109\" src=\"https:\/\/www.backblaze.com\/blog\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png\" alt=\"\" width=\"1440\" height=\"820\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png 1440w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header-300x171.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header-1024x583.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header-768x437.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header-560x319.png 560w\" sizes=\"auto, (max-width: 1440px) 100vw, 1440px\" \/><\/p>\n<p id=\"bzdropcap\">Since <a href=\"\/blog\/developers-get-ec2-alternative-with-vultr-cloud-compute-and-bare-metal\/\" target=\"_blank\" rel=\"noopener\">announcing the Backblaze + Vultr partnership last year<\/a>, we\u2019ve seen our mutual customers build a wide variety of applications combining Vultr\u2019s Infrastructure Cloud with Backblaze B2 Cloud Storage, taking advantage of zero-cost data transfer between Vultr and Backblaze. This week, Vultr announced <a href=\"https:\/\/www.vultr.com\/news\/High-Performance-and-Truly-EPYC-Vultrs-New-VMs-Are-Ready-for-Anything\/\" target=\"_blank\" rel=\"noopener\">Optimized Cloud Compute instances<\/a>, virtual machines pairing dedicated best-in-class AMD CPUs with just the right amount of RAM and NVMe SSDs.<\/p>\n<p>To mark the occasion, I built a demonstration that both showcases this new capability and gives you an example application to adapt to your own use cases.<\/p>\n<p>Imagine you\u2019re creating the next big video sharing site\u2014CatTube\u2014a spin-off of <a href=\"https:\/\/www.backblaze.com\/catblaze.html\" target=\"_blank\" rel=\"noopener\">Catblaze<\/a>, your feline-friendly backup service. You\u2019re planning all sorts of amazing features, but the core of the user experience is very familiar:<\/p>\n<ul>\n<li>A user uploads a video from their mobile or desktop device.<\/li>\n<li>The user\u2019s video is available for viewing on a wide variety of devices, from anywhere in the world.<\/li>\n<\/ul>\n<p>Let\u2019s take a high-level look at how this might work&#8230;<\/p>\n<h2><strong>Transcoding Explained: How Video Sharing Sites Make Videos Shareable<\/strong><\/h2>\n<p>The user will upload their video to a web application from their browser or a mobile app. The web application must store the uploaded user videos in a highly scalable, highly available service\u2014enter <a href=\"https:\/\/www.backblaze.com\/cloud-storage\" target=\"_blank\" rel=\"noopener\">Backblaze B2 Cloud Storage<\/a>. Our customers store, in the aggregate, petabytes of media data including video, audio, and still images.<\/p>\n<p>But, those videos may be too large for efficient sharing and streaming. Today\u2019s mobile devices can record video with stunning quality at 4K resolution, typically 3840\u2009\u00d7\u20092160 pixels. While 4K video looks great, the issue is that even with compression, it\u2019s a lot of data\u2014about 1MB per second. Not all of your viewers will have that kind of bandwidth available, particularly if they\u2019re on the move.<\/p>\n<p>So, CatTube, in common with other popular video sharing sites, will need to convert raw uploaded video to one or more standard, lower-resolution formats, a process known as transcoding.<\/p>\n<p>Transcoding is a very different workload from running a web application\u2019s backend. Where an application server requires high I\/O capability, but relatively little CPU power, transcoding is extremely CPU-intensive. You decide that you\u2019ll need two sets of machines for CatTube\u2014application servers and workers. The worker machines can be optimized for the transcoding task, taking advantage of the fastest available CPUs.<\/p>\n<p>For these tasks, you need appropriate cloud compute instances. I\u2019ll walk you through how I implemented CatTube as a very simple video sharing site with Backblaze B2 and Vultr\u2019s Infrastructure Cloud using Vultr\u2019s Cloud Compute instances for the application servers and their new Optimized Cloud Compute instances for the transcoding workers.<\/p>\n<h2><strong>Building a Video Sharing Site With Backblaze B2 + Vultr<\/strong><\/h2>\n<p>The video sharing example comprises a web application, written in Python using the <a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\">Django web framework<\/a>, and a worker application, also written in Python, but using the <a href=\"https:\/\/flask.palletsprojects.com\/\" target=\"_blank\" rel=\"noopener\">Flask framework<\/a>.<\/p>\n<p>Here\u2019s how the pieces fit together:<\/p>\n<ol>\n<li>The user uploads a video from their browser to the web app.<\/li>\n<li>The web app uploads the raw video to a private bucket on Backblaze B2.<\/li>\n<li>The web app sends a message to the worker instructing it to transcode the video.<\/li>\n<li>The worker downloads the raw video to local storage and transcodes it, also creating a thumbnail image.<\/li>\n<li>The worker uploads the transcoded video and thumbnail to Backblaze B2.<\/li>\n<li>The worker sends a message to the web app with the addresses of the input and output files in Backblaze B2.<\/li>\n<li>Viewers around the world can enjoy the video.<\/li>\n<\/ol>\n<p>These steps are illustrated in the diagram below.<\/p>\n<figure id=\"attachment_105112\" aria-describedby=\"caption-attachment-105112\" style=\"width: 1024px\" class=\"wp-caption aligncenter\"><a href=\"\/blog\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body.png\" data-rel=\"lightbox-gallery-nzkfl7uW\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-105112\" src=\"https:\/\/www.backblaze.com\/blog\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-1024x583.png\" alt=\"\" width=\"1024\" height=\"583\" srcset=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-1024x583.png 1024w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-300x171.png 300w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-768x437.png 768w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-1536x875.png 1536w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-2048x1166.png 2048w, https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Body-560x319.png 560w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-105112\" class=\"wp-caption-text\">Click to enlarge.<\/figcaption><\/figure>\n<p>There\u2019s a more detailed description in the <a href=\"https:\/\/github.com\/Backblaze-B2-Samples\/b2-video-sharing-example\" target=\"_blank\" rel=\"noopener\">Backblaze B2 Video Sharing Example GitHub repository<\/a>, as well as all of the code for the web application and the worker. Feel free to fork the repository and use the code as a starting point for your own projects.<\/p>\n<p>Here\u2019s a short video of the system in action:<\/p>\n<p><iframe loading=\"lazy\" title=\"Media Transcoding with Backblaze B2 and Vultr Optimized Cloud Compute\" width=\"750\" height=\"422\" src=\"https:\/\/www.youtube.com\/embed\/h6xwFL93xWk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<div class=\"abstract\" style=\"line-height: 1.8; margin: 24px 12px; padding: 24px 12px 10px 12px;\">\n<p><strong>Some Caveats:<\/strong><\/p>\n<p>Note that this is very much a sample implementation. The web app and the worker communicate via HTTP\u2014this works just fine for a demo, but doesn\u2019t account for the worker being too busy to receive the message. Nor does it scale to multiple workers. In a production implementation, these issues would be addressed by the components communicating via an asynchronous messaging system such as Kafka. Similarly, this sample transcodes to a single target format: 720p. A real video sharing site would transcode the raw video to a range of formats and resolutions.<\/p>\n<\/div>\n<h2><strong>Want to Try It for Yourself?<\/strong><\/h2>\n<p>Vultr\u2019s new Cloud Compute Optimized instances are a perfect match for CPU-intensive tasks such as media transcoding. Zero-cost ingress and egress between Backblaze B2 and Vultr\u2019s Infrastructure Cloud allow you to build high performance, scalable applications to satisfy a global audience. <a href=\"https:\/\/www.backblaze.com\/b2\/sign-up.html?referrer=nopref\" target=\"_blank\" rel=\"noopener\">Sign up for Backblaze B2<\/a> and <a href=\"https:\/\/www.vultr.com\" target=\"_blank\" rel=\"noopener\">Vultr\u2019s Infrastructure Cloud<\/a> today, and get to work!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Take advantage of Vultr&#8217;s new Optimized Cloud Compute instances with zero-cost data transfer between Vultr and Backblaze, and see an example of how to build a video sharing site with Backblaze B2 and Vultr.<\/p>\n","protected":false},"author":174,"featured_media":105109,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[7,483,479],"tags":[468],"class_list":["post-105106","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-storage","category-tech-lab","category-technology","tag-b2cloud","entry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute<\/title>\n<meta name=\"description\" content=\"Combining Backblaze B2 and Vultr allows you to do even more with your data transferring. Learn how you can effectively do media transcoding with these two.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.backblaze.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute\" \/>\n<meta property=\"og:description\" content=\"Combining Backblaze B2 and Vultr allows you to do even more with your data transferring. Learn how you can effectively do media transcoding with these two.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/\" \/>\n<meta property=\"og:site_name\" content=\"Backblaze Blog | Cloud Storage &amp; Cloud Backup\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/backblaze\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-17T15:58:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-11T17:03:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"820\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Pat Patterson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@backblaze\" \/>\n<meta name=\"twitter:site\" content=\"@backblaze\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pat Patterson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute","description":"Combining Backblaze B2 and Vultr allows you to do even more with your data transferring. Learn how you can effectively do media transcoding with these two.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.backblaze.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/","og_locale":"en_US","og_type":"article","og_title":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute","og_description":"Combining Backblaze B2 and Vultr allows you to do even more with your data transferring. Learn how you can effectively do media transcoding with these two.","og_url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/","og_site_name":"Backblaze Blog | Cloud Storage &amp; Cloud Backup","article_publisher":"https:\/\/www.facebook.com\/backblaze","article_published_time":"2022-03-17T15:58:29+00:00","article_modified_time":"2023-07-11T17:03:01+00:00","og_image":[{"width":1440,"height":820,"url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","type":"image\/png"}],"author":"Pat Patterson","twitter_card":"summary_large_image","twitter_creator":"@backblaze","twitter_site":"@backblaze","twitter_misc":{"Written by":"Pat Patterson","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#article","isPartOf":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/"},"author":{"name":"Pat Patterson","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/a724a8aee97b6451107442747cd101a4"},"headline":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute","datePublished":"2022-03-17T15:58:29+00:00","dateModified":"2023-07-11T17:03:01+00:00","mainEntityOfPage":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/"},"wordCount":847,"commentCount":1,"publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","keywords":["B2Cloud"],"articleSection":["Cloud Storage","Tech Lab","Technology"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/","name":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute","isPartOf":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#primaryimage"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#primaryimage"},"thumbnailUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","datePublished":"2022-03-17T15:58:29+00:00","dateModified":"2023-07-11T17:03:01+00:00","description":"Combining Backblaze B2 and Vultr allows you to do even more with your data transferring. Learn how you can effectively do media transcoding with these two.","breadcrumb":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#primaryimage","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","width":1440,"height":820},{"@type":"BreadcrumbList","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/media-transcoding-with-backblaze-b2-and-vultr-optimized-cloud-compute\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Media Transcoding With Backblaze B2 and Vultr Optimized Cloud Compute"}]},{"@type":"WebSite","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#website","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","name":"Backblaze Cloud Solutions Blog","description":"Cloud Storage &amp; Cloud Backup","publisher":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#organization","name":"Backblaze","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.backblaze.com\/blog\/wp-content\/uploads\/2017\/12\/backblaze_icon_transparent.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Backblaze"},"image":{"@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/backblaze","https:\/\/x.com\/backblaze","https:\/\/www.youtube.com\/user\/Backblaze","https:\/\/en.wikipedia.org\/wiki\/Backblaze"]},{"@type":"Person","@id":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/#\/schema\/person\/a724a8aee97b6451107442747cd101a4","name":"Pat Patterson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/01\/PatPatterson1920px-150x150.png","url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/01\/PatPatterson1920px-150x150.png","contentUrl":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/01\/PatPatterson1920px-150x150.png","caption":"Pat Patterson"},"description":"Pat Patterson is the former chief technical evangelist at Backblaze. Over his three decades in the industry, Pat has built software and communities at Sun Microsystems, Salesforce, StreamSets, and Citrix. In his role at Backblaze, he creates and delivers content tailored to the needs of the hands-on technical professional, acts as the \u201cvoice of the developer\u201d on the Product team, and actively participates in the wider technical community. Outside the office, Pat runs far, having completed ultramarathons up to the 50 mile distance. Catch up with Pat via Bluesky or LinkedIn.","url":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/author\/pat\/"}]}},"jetpack_featured_media_url":"https:\/\/backblazeprod.wpenginepowered.com\/wp-content\/uploads\/2022\/03\/bb-bh-Vultr-Backblaze-B2-Demo-Header.png","_links":{"self":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/105106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/users\/174"}],"replies":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/comments?post=105106"}],"version-history":[{"count":0,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/posts\/105106\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media\/105109"}],"wp:attachment":[{"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/media?parent=105106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/categories?post=105106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backblazeprod.wpenginepowered.com\/blog\/wp-json\/wp\/v2\/tags?post=105106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}