{"id":81270,"date":"2020-06-25T11:18:12","date_gmt":"2020-06-25T18:18:12","guid":{"rendered":"https:\/\/cloudblogs.microsoft.com\/opensource\/?p=81270"},"modified":"2025-06-24T11:19:09","modified_gmt":"2025-06-24T18:19:09","slug":"announcing-azure-service-operator-kubernetes","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/","title":{"rendered":"Announcing Azure Service Operator for Kubernetes"},"content":{"rendered":"\n<p>Today, we&#8217;re announcing <a href=\"http:\/\/aka.ms\/azure-service-operator\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Service Operator<\/a>\u2015an open source project we\u2019ve been working on in collaboration with a handful of customers to expose several Microsoft Azure services as Kubernetes operators.<\/p>\n\n\n\n<p>As we\u2019ve seen Kubernetes adoption grow exponentially, we\u2019ve also seen an increasing desire from customers to manage their resources exclusively through the Kubernetes control plane. Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.<\/p>\n\n\n\n<p>Azure Service Operator allows users to dynamically provision infrastructure, which enables developers to self-provision infrastructure or include Azure Service Operator in their pipelines. They can run anywhere Kubernetes runs\u2015public, private, hybrid, multi-cloud, and on-premises. And for customers new to Azure or those betting on a multi-cloud strategy, Azure Service Operator abstracts the Azure-specific knowledge, so users can focus on developing with the language they\u2019re familiar with\u2015Kubernetes YAML.<\/p>\n\n\n\n<p>As a part of Azure Service Operator, we\u2019ve built a handful of Kubernetes operators for Azure services, including EventHub, Azure SQL, CosmosDB, Storage Accounts, and more. The project consists of two parts\u2015the custom resource definitions (CRDs) for each of the supported Azure services and the Kubernetes controller that watches for requests to create Custom Resources for each of these CRDs and manages them accordingly.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone attachment-full webp-format\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/06\/ASO-image.png\" alt=\"a screenshot of a cell phone\" \/><figcaption class=\"wp-element-caption\">Deploying Azure Service Operator: How it works<\/figcaption><\/figure>\n\n\n\n<p>In the development of this project, we\u2019ve also created a generic controller that helps develop new operators for Azure services currently not covered by the project.<\/p>\n\n\n\n<p>With the launch of the Azure Service Operators project, we will no longer be maintaining the Open Service Broker for Azure (OSBA). OSBA was an experimental project that similarly enabled customers to provision and bind Azure services to their Kubernetes cluster by leveraging the Open Service Broker API by Cloud Foundry. As we\u2019ve seen momentum shifting from Open Service Broker to operators, we have decided to shift and consolidate our investments to support Azure services through operators instead, to provide more robust support and functionality for users.<\/p>\n\n\n\n<p>Check out more details on how to get started in the project repository <a href=\"http:\/\/aka.ms\/azure-service-operator\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n\n\n\n<p>Other feedback or questions? Let us know in the comments below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we&#8217;re announcing Azure Service Operator\u2015an open source project we\u2019ve been working on in collaboration with a handful of customers to expose several Microsoft Azure services as Kubernetes operators. As we\u2019ve seen Kubernetes adoption grow exponentially, we\u2019ve also seen an increasing desire from customers to manage their resources exclusively through the Kubernetes control plane.<\/p>\n","protected":false},"author":5562,"featured_media":95480,"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":[2272],"content-type":[346],"topic":[2241,2242],"programming-languages":[],"coauthors":[744],"class_list":["post-81270","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-microsoft","content-type-news","topic-cloud","topic-containers","review-flag-anywh-1593580318-567","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>Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.\" \/>\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\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-25T18:18:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T18:19:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sakthi Vetrivel\" \/>\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=\"Sakthi Vetrivel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 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\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/sakthi-vetrivel\/\",\"@type\":\"Person\",\"@name\":\"Sakthi Vetrivel\"}],\"headline\":\"Announcing Azure Service Operator for Kubernetes\",\"datePublished\":\"2020-06-25T18:18:12+00:00\",\"dateModified\":\"2025-06-24T18:19:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\"},\"wordCount\":375,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"keywords\":[\"Microsoft\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\",\"name\":\"Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"datePublished\":\"2020-06-25T18:18:12+00:00\",\"dateModified\":\"2025-06-24T18:19:09+00:00\",\"description\":\"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Azure Service Operator for Kubernetes\"}]},{\"@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":"Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog","description":"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.","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\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/","og_locale":"en_US","og_type":"article","og_title":"Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog","og_description":"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2020-06-25T18:18:12+00:00","article_modified_time":"2025-06-24T18:19:09+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.png","type":"image\/png"}],"author":"Sakthi Vetrivel","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Sakthi Vetrivel","Est. reading time":"1 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/sakthi-vetrivel\/","@type":"Person","@name":"Sakthi Vetrivel"}],"headline":"Announcing Azure Service Operator for Kubernetes","datePublished":"2020-06-25T18:18:12+00:00","dateModified":"2025-06-24T18:19:09+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/"},"wordCount":375,"commentCount":2,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","keywords":["Microsoft"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/","url":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/","name":"Announcing Azure Service Operator for Kubernetes | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","datePublished":"2020-06-25T18:18:12+00:00","dateModified":"2025-06-24T18:19:09+00:00","description":"Kubernetes operators make Azure services easily accessible from Kubernetes clusters in any cloud and allow developers to focus more on their applications and less on their infrastructure.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC21_homeGaming_Surface_002.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/25\/announcing-azure-service-operator-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Announcing Azure Service Operator for Kubernetes"}]},{"@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\/81270","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=81270"}],"version-history":[{"count":1,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/81270\/revisions"}],"predecessor-version":[{"id":97662,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/81270\/revisions\/97662"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95480"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=81270"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=81270"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=81270"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=81270"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=81270"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=81270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}