Robust Distributed Programming Made Easy and Efficient
Перейти к файлу
Ryan Newton c2dfc69d37 Update wire protocol doc (still unfinished) + tweak how runAmbrosia script traps errors 2018-12-10 19:05:36 -08:00
AKS-scripts Major improvements in runAmbrosiaService.sh script. Add health monitoring and fix logging redirection bugs. 2018-12-08 10:36:02 -08:00
Ambrosia Initial state for moving over to github.com 2018-12-05 16:15:09 -08:00
AmbrosiaTest Updated Async tests to work. The Job.csproj in PerformanceTest needed Newtonsoft 2018-12-10 14:48:15 -08:00
CONTRIBUTING Update wire protocol doc (still unfinished) + tweak how runAmbrosia script traps errors 2018-12-10 19:05:36 -08:00
Clients Update wire protocol doc (still unfinished) + tweak how runAmbrosia script traps errors 2018-12-10 19:05:36 -08:00
DevTools Trying to make all used versions of dlls the same 2018-12-09 14:16:15 -08:00
DustBin Several things: 2018-12-09 10:46:35 -08:00
ImmortalCoordinator Initial state for moving over to github.com 2018-12-05 16:15:09 -08:00
InternalImmortals Update wire protocol doc (still unfinished) + tweak how runAmbrosia script traps errors 2018-12-10 19:05:36 -08:00
Samples Merge branch 'master' of https://github.com/Microsoft/AMBROSIA 2018-12-09 13:48:57 -08:00
Scripts Update wire protocol doc (still unfinished) + tweak how runAmbrosia script traps errors 2018-12-10 19:05:36 -08:00
docs Create SecuringComms.md 2018-12-10 15:39:03 -08:00
.dockerignore Script changes: set OS, and use squish mode on macos for now (needs realpath). Change runAmbrosiaService so that the immortal coordinator lines can be tagged differently 2018-12-09 00:48:25 -08:00
.gitattributes Initial state for moving over to github.com 2018-12-05 16:15:09 -08:00
.gitignore Script changes: set OS, and use squish mode on macos for now (needs realpath). Change runAmbrosiaService so that the immortal coordinator lines can be tagged differently 2018-12-09 00:48:25 -08:00
.set_env.sh Several things: 2018-12-09 01:31:39 -05:00
.travis.yml Pull .travis.yml file from wip/travis branch 2018-12-06 15:12:57 -08:00
Ambrosia.nuspec Experiment over 2018-12-10 15:27:41 -08:00
BuildCore.cmd Several things: 2018-12-09 01:31:39 -05:00
Dockerfile Several things: 2018-12-09 10:46:35 -08:00
Dockerfile.release Install the rest of the dotnet runtime prereqs on ubuntu for Dockerfile.release 2018-12-06 23:04:57 -08:00
LICENSE License 2018-12-06 12:04:28 -08:00
README.md Move wire protocol to CONTRIBUTING and write README there. Put some info in top-level README too, but AmbrosiaDocs.md still needs to be finished and migrated there it looks like. Add FINISHME markers that can be grepped for. Cleanup dead Validate powershell script. 2018-12-08 20:42:46 -08:00
build_docker_images.sh Native client cleanup 2018-12-09 18:49:57 -08:00
build_dotnetcore_bindist.sh Allow Mac OS to use symlink-based dedup. Hack to use python to emulate gnu coreutils realpath on Mac OS. 2018-12-10 15:29:53 -08:00

README.md

Ambrosia: Highly Robust Distributed Programming Made Easy and Efficient

  • Windows Build (net46/netcore) Windows Build Status

  • Linux Build (netcore) Linux Build Status

  • Linux Docker Build: Linux Docker Build status

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's datacenter oriented applications, which include most popular services running in Azure 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.

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. Check out the overview deck linked to the left to learn more or email us.

Quick Start: Fetch a binary distribution

FINISHME -

Quick Start: Build from Source

Build the Ambrosia Immortal coordinator and C# client code generator with this Bash script:

./build_dotnetcore_bindist.sh

Given a .NET Core SDK, this will work on Windows, Mac OS, or Linux. After that, you have an AMBROSIA binary distribution built inside the ./bin directory within your working copy.

Running a Sample

FINISHME - AmbrosiaDocs.md content will move here!!