|Name||Modified||Size||Downloads / Week||Status|
|Totals: 2 Items||2.1 MB||2|
CloudI is an open-source private cloud computing framework for secure, internal data processing. CloudI manages a dynamic cloud of services with an internal messaging bus. Services can be created in Erlang, C, C++, Java, or Python, by using the CloudI interface (API). The interface provides a small set of functions that are commonly used for creating Service-Oriented Architecture (SOA):
CloudI offers a simple way to integrate diverse services into a fault-tolerant framework. Messages are easily load balanced based on a service's destination refresh method. Access Control Lists (ACL) can be defined for services that must explicitly allow and/or deny messages from being sent to other services. All CloudI functionality supports the creation of RESTful (Representational State Transfer) services. Prefixes are given to service code in their configuration and act like a directory path, into which a service name is created by calling the "subscribe" interface function (e.g., "/db/pgsql/" is a prefix for the Erlang service code cloudi_job_db_pgsql which creates the service name "cloudi_tests" (also, the database name) so that all messages can reference the service with "/db/pgsql/cloudi_tests" and ACLs can allow or deny prefixes like "/db/pgsql/"). More features are currently explained in the configuration file (src/cloudi.conf), but proper documentation will be added soon.
Many changes occurred between the CloudI version 0.0.10 and version 0.1.0. The changes are summarized below:
The default configuration runs the hexadecimal PI test using the Bailey-Borwein-Plouffe formula and verifies that the digits are correct (the test can be found in src/tests/hexpi/). A HTTP test also is in the default configuration and uses the command line curl for simple test cases (the test can be found in src/tests/http/ with the client script run.sh).
CloudI currently supports the following databases:
CloudI requires Erlang R14B01 because of dependencies on new standard modules. The ETS bug in R14B01 does not affect CloudI (CloudI does not use ETS, so that referential transparency is maintained and the system is scalable without global data locks).
Michael Truog (mjtruog [at] gmail (dot) com)