{"id":581476,"date":"2019-04-25T14:45:02","date_gmt":"2019-04-25T21:45:02","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&p=581476"},"modified":"2019-07-16T09:02:02","modified_gmt":"2019-07-16T16:02:02","slug":"ambrosia-robust-distributed-programming-made-easy-and-efficient","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/ambrosia-robust-distributed-programming-made-easy-and-efficient\/","title":{"rendered":"Ambrosia: Robust Distributed Programming Made Easy and Efficient"},"content":{"rendered":"
Ambrosia is a programming language independent approach for authoring and deploying highly robust distributed applications. Ambrosia dramatically lowers development and deployment costs and time to market by automatically providing recovery and high availability.<\/p>\n
Today\u2019s datacenter oriented applications, which include most popular services running in the cloud today, are composed of highly complex, distributed software stacks. For instance, they typically incorporate Event Hub or Kafka to robustly journal input and interactions for recoverability, log important information to stores like Azure blobs for debuggability, and use extremely expensive mechanisms like distributed transactions, and stateless functions with distributed persistent back-ends, in order to ensure exactly once execution of service code.<\/p>\n
In contrast, Ambrosia automatically gives programmers recoverability, high availability, debuggability, upgradability, and exactly once execution, without requiring developers to weave together such complex systems, or use overly expensive mechanisms.<\/p>\n
To learn more about Ambrosia\u2019s implementation and performance you can read our\u00a0whitepaper (opens in new tab)<\/span><\/a>.<\/p>\n We invite developers wishing to build on or contribute to AMBROSIA to see us on GitHub (opens in new tab)<\/span><\/a> or to join our\u00a0gitter community (opens in new tab)<\/span><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":" Ambrosia is a programming language independent approach for authoring and deploying highly robust distributed applications. Ambrosia dramatically lowers development and deployment costs and time to market by automatically providing recovery and high availability. Today\u2019s datacenter oriented applications, which include most popular services running in the cloud today, are composed of highly complex, distributed software stacks. […]<\/p>\n","protected":false},"featured_media":597340,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13547],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-581476","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-systems-and-networking","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"2019-01-11","related-publications":[555795],"related-downloads":[],"related-videos":[],"related-groups":[475626],"related-events":[],"related-opportunities":[],"related-posts":[],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Darren Gehring","user_id":31548,"people_section":"Section name 1","alias":"darrenge"},{"type":"user_nicename","display_name":"Badrish Chandramouli","user_id":31166,"people_section":"Section name 1","alias":"badrishc"},{"type":"user_nicename","display_name":"Tal Zaccai","user_id":37956,"people_section":"Section name 1","alias":"talzacc"},{"type":"user_nicename","display_name":"Rahee Ghosh Peshawaria","user_id":36864,"people_section":"Section name 1","alias":"raghosh"},{"type":"user_nicename","display_name":"Sebastian Burckhardt","user_id":33544,"people_section":"Section name 1","alias":"sburckha"},{"type":"user_nicename","display_name":"Irene Zhang","user_id":37032,"people_section":"Section name 1","alias":"irzha"}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/581476"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":9,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/581476\/revisions"}],"predecessor-version":[{"id":597343,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/581476\/revisions\/597343"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/597340"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=581476"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=581476"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=581476"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=581476"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=581476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}