Any thoughts on Project Orleans?

569 views
Skip to first unread message

Alexandru Nedelcu

unread,
May 14, 2014, 7:13:48 AM5/14/14
to akka...@googlegroups.com

Hi,

Just noticed project Orleans, which is like an actors implementation for .NET, still in preview I think. It’s supposed to be higher-level than Akka, the description being:

It is actor-based, but differs from existing actor-based platforms by treating actors as virtual entities, not as physical ones. First, an Orleans actor always exists, virtually. It cannot be explicitly created or destroyed. Its existence transcends the lifetime of any of its in-memory instantiations, and thus transcends the lifetime of any particular server. Second, Orleans actors are automatically instantiated: if there is no in-memory instance of an actor, a message sent to the actor causes a new instance to be created on an available server. An unused actor instance is automatically reclaimed as part of runtime resource management. An actor never fails: if a server S crashes, the next message sent to an actor A that was running on S causes Orleans to automatically re-instantiate A on another server, eliminating the need for applications to supervise and explicitly re-create failed actors. Third, the location of the actor instance is transparent to the application code, which greatly simplifies programming. And fourth, Orleans can automatically create multiple instances of the same stateless actor, seamlessly scaling out hot actors.

Any thoughts?

--
Alexandru Nedelcu
www.bionicspirit.com

PGP Public Key:
https://bionicspirit.com/key.aexpk

Martijn Hoekstra

unread,
May 14, 2014, 8:24:31 AM5/14/14
to Akka User List
I saw a presentation on Orleans on the Microsoft Tech Days. It looked interesting at first glance, and does something very different with actors compared to what Akka does. There is no concept of an ActorRef for example, and no stopping, starting or watching actors, supervision or child actors. The lifetime management of the actors is completely under control of the framework: From what I understood, the only thing you can do with an actor is send a message to its well-known identity, or a thin wrapper around the well-known identity. This will take care of actor creation if it doesn't exist.

--Martijn  

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Roland Kuhn

unread,
May 14, 2014, 9:03:52 AM5/14/14
to akka-user
14 maj 2014 kl. 14:24 skrev Martijn Hoekstra <martijn...@gmail.com>:




On Wed, May 14, 2014 at 1:13 PM, Alexandru Nedelcu <al...@bionicspirit.com> wrote:

Hi,

Just noticed project Orleans, which is like an actors implementation for .NET, still in preview I think. It’s supposed to be higher-level than Akka, the description being:

It is actor-based, but differs from existing actor-based platforms by treating actors as virtual entities, not as physical ones. First, an Orleans actor always exists, virtually. It cannot be explicitly created or destroyed. Its existence transcends the lifetime of any of its in-memory instantiations, and thus transcends the lifetime of any particular server. Second, Orleans actors are automatically instantiated: if there is no in-memory instance of an actor, a message sent to the actor causes a new instance to be created on an available server. An unused actor instance is automatically reclaimed as part of runtime resource management. An actor never fails: if a server S crashes, the next message sent to an actor A that was running on S causes Orleans to automatically re-instantiate A on another server, eliminating the need for applications to supervise and explicitly re-create failed actors. Third, the location of the actor instance is transparent to the application code, which greatly simplifies programming. And fourth, Orleans can automatically create multiple instances of the same stateless actor, seamlessly scaling out hot actors.

Any thoughts?



I saw a presentation on Orleans on the Microsoft Tech Days. It looked interesting at first glance, and does something very different with actors compared to what Akka does. There is no concept of an ActorRef for example, and no stopping, starting or watching actors, supervision or child actors. The lifetime management of the actors is completely under control of the framework: From what I understood, the only thing you can do with an actor is send a message to its well-known identity, or a thin wrapper around the well-known identity. This will take care of actor creation if it doesn't exist.

One other thing is that the way these entities are presented to the user is via static nominal interfaces, which precludes the kind of freedom an Actor shall have according to the model (technically it also fails on the count that actors can create other actors, so it only implements message passing and misses actorOf() and become()). Therefore I would not call it an implementation of the Actor Model.

Regards,

Roland


--Martijn  

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.



Dr. Roland Kuhn
Akka Tech Lead
Typesafe – Reactive apps on the JVM.
twitter: @rolandkuhn


Reply all
Reply to author
Forward
0 new messages