Iris is an attempt at bringing the simplicity and elegance of cloud computing to the application layer. Consumer clouds provide unlimited virtual machines at the click of a button, but leaves it to developer to wire them together. Iris ensures that you can forget about networking challenges and instead focus on solving your own domain problems.
It is a completely decentralized messaging solution for simplifying the design and implementation of cloud services. Among others, Iris features zero-configuration (i.e. start it up and it will do its magic), semantic addressing (i.e. application use textual names to address each other), clusters as units (i.e. automatic load balancing between apps of the same name) and perfect secrecy (i.e. all network traffic is encrypted).
You can find further infos on the Iris website and details of the above features in the Core concepts section of The book of Iris. For the scientifically inclined, a small collection of papers is also available featuring Iris.
There is a growing community on Twitter @iriscmf, Google groups project-iris and GitHub project-iris.
Since from time to time the relay protocol changes (communication between Iris and client libraries), the below compatibility matrix was introduced to make it easier to find which versions of the client libraries (columns) match with which versions of the Iris node (rows).
iris-erl | iris-go | iris-java | iris-scala | |
---|---|---|---|---|
v0.3.x | v1 | v1 | v1 | v1 |
v0.2.x | v0 | v0 | - | - |
v0.1.x | v0 | v0 | - | - |
Version 0.1-pre: August 26, 2013
Currently my development aims are to stabilize the project and its language bindings. Hence, although I'm open and very happy for any and all contributions, the most valuable ones are tests, benchmarks and bug-fixes.
Due to the already significant complexity of the project, I kindly ask anyone willing to pinch in to first file an issue with their plans to achieve a best possible integration :).
Additionally, to prevent copyright disputes and such, a signed contributor license agreement is required to be on file before any material can be accepted into the official repositories. These can be filled online via either the Individual Contributor License Agreement or the Corporate Contributor License Agreement.