Dasein Cloud is an Open Source cloud abstraction library for Java under the Apache Software License v2.0. The dasein-cloud Github project is a shell with references to submodules that define the API (dasein-cloud-core), tests (dasein-cloud-test), a mock implementation (dasein-cloud-mock), and implementations for numerous clouds.
Switch branches/tags
Nothing to show
Pull request Compare This branch is 11 commits behind greese:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
dasein-cloud-asm @ 959974b
dasein-cloud-atmos @ 4b38b8b
dasein-cloud-aws @ 0c7f789
dasein-cloud-azure @ 4bd3d6c
dasein-cloud-cloudsigma @ 9fd832a
dasein-cloud-cloudstack @ af4b1c2
dasein-cloud-core @ a112255
dasein-cloud-gogrid @ dec7b4b
dasein-cloud-ibm @ a018b95
dasein-cloud-joyent @ de4ed78
dasein-cloud-mock @ 5b715b3
dasein-cloud-nimbula @ 22c3a87
dasein-cloud-openstack @ 96a3507
dasein-cloud-opsource @ f3655c1
dasein-cloud-rackspace @ 8cdf226
dasein-cloud-skeleton @ 19324c4
dasein-cloud-softlayer @ a69ced9
dasein-cloud-terremark @ 2dd5988
dasein-cloud-test @ 2629c09
dasein-cloud-tier3 @ dbc3eda
dasein-cloud-vcloud @ b5bcbf0
dasein-cloud-vsphere @ cfd4af2
dasein-cloud-zimory @ 4dc01b4
.gitignore
.gitmodules
Dasein Cloud Overview.pdf
LICENSE-APACHE.txt
README.md

README.md

For the latest information, details on how to contrib and branching, and other information, see: https://github.com/greese/dasein-cloud/wiki

For online collaboration and questions, join the HipChat at: https://www.hipchat.com/gLjcZbGFl

For discussion, join the Dasein Cloud Google Groups group: https://groups.google.com/forum/#!forum/dasein-cloud

Dasein Cloud (pronounced "da z-eye-n") is a Java-based cloud abstraction layer that enables programmers to build applications under a "write-once, run against any cloud" philosophy. It provides an abstract model under which most IaaS and some PaaS services can be modeled. You write your application to the Dasein Cloud model and it is then translated into the underlying cloud provider model.

It's not a least-common denominator approach, however. Dasein Cloud serves up a meta-data layer that enables an application to dynamically discover the capabilities of the cloud with which it is operating. You therefore create conditional logic based solely on the Dasein model and successfully deal with the nuances and unique capabilities of each cloud.

"Dasein" comes from the philosophical concept called Dasein (http://en.wikipedia.org/wiki/Dasein).

The main Dasein Cloud project is a shell that contains many different Git sub-modules. The most important sub-module is dasein-cloud-core. The core contains the Dasein Cloud object model against which you write your applications. You should not have any compile-time dependencies on any other Dasein sub-modules. All other sub-modules except dasein-cloud-test, dasein-cloud-mock, dasein-cloud-cli, and dasein-cloud-skeleton are implementations of the Dasein Cloud model for specific clouds. You include the ones you need as runtime dependencies.

dasein-cloud-core also includes examples of using Dasein Cloud in an application.

dasein-cloud-test is a pre-configured test suite for people implementing Dasein Cloud for specific clouds so they can verify their implementation functions according to the specification.

dasein-cloud-mock is an implementation of Dasein Cloud that mocks an actual cloud. When testing your cloud applications, you run the tests against dasein-cloud-mock instead of a specific cloud in order to facilitate unit tests. It mocks delays in state changes (such as the fact that launching a VM is never immediate).

dasein-cloud-cli is a command-line library for talking to clouds.

dasein-cloud-skeleton is a skeleton implementation that can be useful when starting out writing your own Dasein Cloud implementation for a new cloud.