Hi Rafael, good question what is meant by a Fey cluster? The Fey that I can 
download today runs at on single server (say a Raspberry Pi at the low end) and 
I would like also to run Fey at the Cluster level (say on a Mesos cluster). My 
use case of has Fey running standalone on micro-servers that are connected to 
the cloud. At the cloud I am running a Mess cluster and I want to replace some 
existing technology running on Mesos with a version of Fey that will run across 
that Mesos Cluster. This is one meaning of running Fey as a cluster that I 
would like to see. I would like to see my performers with upwards and downwards 
scalability over a cluster.

Just for clarification my use case doesn’t look at the micro-servers and the 
cloud Mesos cluster as one large network on which I want to run a single 
instance of clustered Fey. It’s a simpler use case in which each micros-server 
runs a standalone version of Fey and on my Mesos cluster I  need a version of 
Fey on the iota roadmap that will allow me to distribute my 
orchestrations/performers across my Mesos cluster. Since Akka is part of the 
SMACK stack (Spark, Mesos, Akka, Cassandra and Kafka) there may already be a 
way of running Fey on a Mesos cluster. I would like to see the Fey cluster 
version on the iota dev roadmap.

There might be some interesting use cases in which Akka remoting might be used. 
I would love to hear about them and in general other use cases that folks have 
in mind for Fey.

-Tony


> On May 25, 2017, at 11:58 AM, Rafael Weingärtner 
> <[email protected]> wrote:
> 
> Thanks for the feedback Barbara. Lucas is in route today, so I am answering 
> on his behalf.
> 
> 
> I think our confusion is with this expression “cluster context”.
> What do you (Fey) see as a cluster? Only a group of performers (agents) in 
> the same runtime (JVM)?
> 
> Also, about these security issues, are you talking about the security 
> (confidentiality and integrity) of data transmitted from one performer to the 
> other remotely?
> Regarding performers being unreachable; this might be the case if they are 
> inside a NAT. However, in the IoT space, the idea is to plug everything 
> directly to the Internet using IPv6; so, this should not be a problem, right? 
> At least that is how I see this expression; I do not work with IoT, so I am 
> probably wrong here.
> 
> Having said that, our necessity is not in the IoT space, but still, Fey’s 
> design fits quite well our system’s requirements. The only point is that we 
> need our agents/performs to be fault-tolerant in case their runtime crashes. 
> Therefore, redundancy for the performers (agents) platform is a must.
> 
> If this is interesting for Fey as a community we could start working together 
> on this matter.
> 
> On Thu, May 25, 2017 at 1:25 PM, Barbara Malta Gomes 
> <[email protected] <mailto:[email protected]>> wrote:
> Hi Lucas,
> 
> Unfortunately Fey does not support remote connection between performers.
> 
> Fey is not meant to be a connectivity protocol like MQTT or other messaging 
> framework. 
> The reason we do not implemented remote actors outside of a cluster context 
> is because of security and also in most use cases the Performers will be 
> unreachable from the "outside" (in a intranet).
> 
> What we have today is an MQTT publisher Performer on one side and a MQTT 
> subscriber in the other side.
> 
> But we can definitely discuss more about implementing this functionality on 
> Fey.
> 
> Regards,
> 
> 
> On Wed, May 24, 2017 at 12:55 PM, Lucas Berri Cristofolini 
> <[email protected] <mailto:[email protected]>> wrote:
> Both, actually...
> 
> I suppose clusterization for fault tolerance is actually a more immediate 
> concern, but the ability to run performers remotely is very interesting as 
> well :)
> 
> On May 24, 2017 4:47 PM, "Rafael Weingärtner" <[email protected] 
> <mailto:[email protected]>> wrote:
> Do you want only peer-peer communication? Or do you want clustering of agents 
> for fault-tolerant systems?
> http://doc.akka.io/docs/akka/snapshot/java/common/cluster.html 
> <http://doc.akka.io/docs/akka/snapshot/java/common/cluster.html>
> 
> On Wed, May 24, 2017 at 3:27 PM, Lucas Berri Cristofolini 
> <[email protected] <mailto:[email protected]>> wrote:
> Yup, that worked just fine!
> 
> I wrote the example you showed at ApcheCon in Java to test it out, and I was 
> now wondering if it is possible to run the two performers in that ensemble in 
> separate hosts. I suppose this would be akin to Akka's 'remoting' 
> (http://doc.akka.io/docs/akka/snapshot/java/remoting.html 
> <http://doc.akka.io/docs/akka/snapshot/java/remoting.html>).
> 
> I saw some of the examples in GitHub but it isn't quite clear to me what I 
> need to set in order for the performers to be able to communicate in that 
> scenario. Are there any settings I can specify in the orchestration json to 
> point to the remote host that would be running the other performer?
> 
> 
> PS: Thanks for the quick reply yesterday!
> 
> On Tue, May 23, 2017 at 3:35 PM, Barbara Malta Gomes 
> <[email protected] <mailto:[email protected]>> wrote:
> Hi Lucas,
> 
> Good to hear that you are trying out iota.
> 
> Sure, you can definitely write the performers in java.
> You just have to do like you said, add the Fey .jar as a dependency, 
> implement a Performer that inherits from the FeyGenericActor and override the 
> functions.
> 
> Once you have done that, generate the .jar for the performer and use it on 
> Fey.
> 
> Let us know if you have any problems.
> 
> Regards,
> 
> On Tue, May 23, 2017 at 11:27 AM, Lucas Berri Cristofolini 
> <[email protected] <mailto:[email protected]>> wrote:
> Hello, Iota community! :)
> 
> One of my colleagues watched Barbara's talk at ApacheCon 2017 in Miami, and 
> we were really interested in the way the Fey Engine works. 
> 
> I've been wanting to try it out since then but only got around to it today, 
> and after going through the GitHub page for the project and Barbara's slides, 
> I'm wondering if it is possible to write the performers in Java, since the 
> Engine seems to take compiled .jars.
> 
> If that's possible, how would one go about doing it? Is it just a matter of 
> adding the fey engine as a dependency and overriding the right functions?
> 
> Cheers!
> Lucas
> 
> 
> 
> -- 
> Barbara Gomes
> Computer Engineer
> San Jose, CA
> 
> 
> 
> 
> -- 
> Rafael Weingärtner
> 
> 
> 
> -- 
> Barbara Gomes
> Computer Engineer
> San Jose, CA
> 
> 
> 
> -- 
> Rafael Weingärtner

Reply via email to