{"id":73469,"date":"2018-05-08T09:54:15","date_gmt":"2018-05-08T16:54:15","guid":{"rendered":"https:\/\/open.microsoft.com\/?p=73469"},"modified":"2025-01-29T15:46:18","modified_gmt":"2025-01-29T23:46:18","slug":"labs-create-containerized-distributed-apps-azure-kubernetes-service","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/","title":{"rendered":"New hands-on labs: Create containerized apps with Kubernetes in Azure"},"content":{"rendered":"\n<p>We are excited to offer <a href=\"https:\/\/github.com\/brendandburns\/designing-distributed-systems-labs\">new hands-on labs<\/a> based on the book <a href=\"https:\/\/azure.microsoft.com\/en-us\/resources\/designing-distributed-systems\/en-us\/\">Designing Distributed Systems<\/a>, by Kubernetes project cofounder, Brendan Burns.&nbsp;The labs in this&nbsp;<a href=\"https:\/\/github.com\/brendandburns\/designing-distributed-systems\">GitHub&nbsp;repository<\/a> will help you build&nbsp;practical experience&nbsp;with the reusable patterns and components covered&nbsp;in the book. Follow step-by-step examples to create&nbsp;containerized and distributed apps in Kubernetes and&nbsp;Kubeless, using <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/container-service\/\">Azure Container Services (AKS)<\/a> and other services to put them into production.<\/p>\n\n\n\n<p>Below is a summary of what to expect in each lab. Prefer a walk through first? Check out <a href=\"https:\/\/info.microsoft.com\/ww-live-designing-distributed-systems.html\">this webinar<\/a> with Brendan Burns.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"part-i\">PART I:<\/h2>\n\n\n\n<p>Try&nbsp;the single node Ambassador&nbsp;Pattern, the&nbsp;first step in creating and extending a containerized application.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lab-1-1-request-splitting\">Lab 1.1. Request Splitting<\/h3>\n\n\n\n<p>In this lab we show how to implement the ambassador pattern in Azure Container Services (AKS) by deploying a request splitting ambassador with NGINX in Kubernetes that splits 10% of traffic to an experimental server.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lab-1-2-circuit-breaker\">Lab 1.2. Circuit Breaker<\/h3>\n\n\n\n<p>In this lab we show how to implement a circuit breaker pattern with Kubernetes in AKS to prevent, mitigate and manage failures by allowing failing services to recover, re-route traffic to alternative services and perform rate limiting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"part-ii\">PART II:<\/h2>\n\n\n\n<p>Get experience with&nbsp;patterns for replicating containerized applications and augmenting functions in a serverless environment<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lab-2-1-replicated-load-balancing-services\">Lab 2.1. Replicated Load Balancing Services<\/h3>\n\n\n\n<p>In this lab we show how easy it is to deploy a Docker image and implement a replicated load balancing server around it in Kubernetes with Azure Container Services (AKS).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lab-2-2-decorator-function\">Lab 2.2. Decorator Function<\/h3>\n\n\n\n<p>We show how the Decorator Pattern can be useful to perform transformations when calling Functions as a Service, in a serverless environment with Kubeless.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"part-iii\">PART III:<\/h2>\n\n\n\n<p>Get hands-on with&nbsp;event-driven and distributed patterns by creating a containerized batch processing workflow<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"lab-3-batch-computational-pattern\">Lab 3. Batch Computational Pattern<\/h3>\n\n\n\n<p>We demonstrate how the Copier, Filter, Split and Join patterns can be used to route events through an event-driven containerized batch processing thumbnail generator. Blobs are stored in Azure Blob Storage and different Kubernetes pods in AKS are responsible for processing input media into different output formats. This is all tied together with events streaming through Azure Event Hub.<\/p>\n\n\n\n<p><strong>Access all the labs <a href=\"https:\/\/github.com\/brendandburns\/designing-distributed-systems-labs\">here<\/a> and let us know what you think in the comments.<\/strong><\/p>\n\n\n\n<p><strong>Check out the <a href=\"https:\/\/www.microsoft.com\/handsonlabs\/SelfPacedLabs?storyGuid=376e79b3-e5cf-4a4b-90bf-951a7fd123ec\">webinar<\/a> with Brendan Burns: In the webinar you\u2019ll further your learning on how to use the concepts, patterns, and practices outlined in the e-book.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are excited to offer new hands-on labs based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burns.&nbsp;The labs in this&nbsp;GitHub&nbsp;repository will help you build&nbsp;practical experience&nbsp;with the reusable patterns and components covered&nbsp;in the book.<\/p>\n","protected":false},"author":5562,"featured_media":73472,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[158,2272,166],"content-type":[340],"topic":[2241,2242],"programming-languages":[],"coauthors":[2316],"class_list":["post-73469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-kubernetes","tag-microsoft","tag-azure","content-type-tutorials-and-demos","topic-cloud","topic-containers","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-3-1593580442-169","review-flag-new-1593580248-669"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hands-on labs: learn to create containerized and distributed apps<\/title>\n<meta name=\"description\" content=\"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hands-on labs: learn to create containerized and distributed apps\" \/>\n<meta property=\"og:description\" content=\"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-08T16:54:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-29T23:46:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anand Chandramohan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anand Chandramohan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/anand-chandramohan\/\",\"@type\":\"Person\",\"@name\":\"Anand Chandramohan\"}],\"headline\":\"New hands-on labs: Create containerized apps with Kubernetes in Azure\",\"datePublished\":\"2018-05-08T16:54:15+00:00\",\"dateModified\":\"2025-01-29T23:46:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\"},\"wordCount\":411,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg\",\"keywords\":[\"Kubernetes\",\"Microsoft\",\"Microsoft Azure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\",\"name\":\"Hands-on labs: learn to create containerized and distributed apps\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg\",\"datePublished\":\"2018-05-08T16:54:15+00:00\",\"dateModified\":\"2025-01-29T23:46:18+00:00\",\"description\":\"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg\",\"width\":1800,\"height\":683,\"caption\":\"a screenshot of a cell phone\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New hands-on labs: Create containerized apps with Kubernetes in Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hands-on labs: learn to create containerized and distributed apps","description":"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.","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:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/","og_locale":"en_US","og_type":"article","og_title":"Hands-on labs: learn to create containerized and distributed apps","og_description":"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2018-05-08T16:54:15+00:00","article_modified_time":"2025-01-29T23:46:18+00:00","og_image":[{"width":1800,"height":683,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg","type":"image\/jpeg"}],"author":"Anand Chandramohan","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Anand Chandramohan","Est. reading time":"2 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/anand-chandramohan\/","@type":"Person","@name":"Anand Chandramohan"}],"headline":"New hands-on labs: Create containerized apps with Kubernetes in Azure","datePublished":"2018-05-08T16:54:15+00:00","dateModified":"2025-01-29T23:46:18+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/"},"wordCount":411,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg","keywords":["Kubernetes","Microsoft","Microsoft Azure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/","url":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/","name":"Hands-on labs: learn to create containerized and distributed apps","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg","datePublished":"2018-05-08T16:54:15+00:00","dateModified":"2025-01-29T23:46:18+00:00","description":"New hands-on labs, based on the book Designing Distributed Systems, by Kubernetes project cofounder, Brendan Burn, are now available on GitHub. Follow step-by-step examples to create containerized and distributed apps in Kubernetes and Kubeless.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2018\/05\/AzureBlobStorageGeneratedFilesForVideo_blog-banner.jpg","width":1800,"height":683,"caption":"a screenshot of a cell phone"},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2018\/05\/08\/labs-create-containerized-distributed-apps-azure-kubernetes-service\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"New hands-on labs: Create containerized apps with Kubernetes in Azure"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=73469"}],"version-history":[{"count":2,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73469\/revisions"}],"predecessor-version":[{"id":97090,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/73469\/revisions\/97090"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/73472"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=73469"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=73469"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=73469"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=73469"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=73469"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=73469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}