Live data from Hacker News

.NET Orleans

dotnet.github.io

51–60 of 287 posts

Re: .NET Orleans

#51

Earlier quoted context omitted.

Totally off-topic, sorry: How did that name come about?

Microsoft Research has a tradition of naming projects after cities. Eg, if you type "microsoft research project" into Google (Bing appears to work better for this) and let it autocomplete, you can see some other projects which appear to be named after places: malmo, athens, tokyo, and others.

Then why Orleans and not ?

Re: .NET Orleans

#52
post #31

Earlier quoted context omitted.

"in anger" typically means for a real-world, serious project.

Is this a Britishism? I find Americans often are confused by it when I use it.

i first heard about "in anger" from David Nolen, an American https://www.youtube.com/watch?v=8o01g6C7jWg&feature=emb_titl...

Re: .NET Orleans

#53
It was created by Microsoft Research and introduced the Virtual Actor Model as a novel approach to building a new generation of distributed systems for the Cloud era.

Hmmm, getting a very strong Microsoft Enterprise Library vibe.

The Microsoft Enterprise Library is a set of tools and programming libraries for the Microsoft .NET Framework. It provides APIs to facilitate proven practices in core areas of programming.

Packed full of Best Practices and more Enterprisey than Kirk, it was inscrutable to me.

Based on the novel Virtual Actor Design model, I assume Orleans is Design Patterns all the way down.

Re: .NET Orleans

#54
post #43

I'm a core developer on Orleans. Feel free to ask any questions here, or on gitter: https://gitter.im/dotnet/orleans I gave a talk recently on how we use it at Microsoft: https://www.youtube.com/watch?v=KhgYlvGLv9c - the talk is very short and so it does not go into many details, but it gives an overview of some internal use cases.

Maybe I'm looking in all the wrong places, but I'm having a surprisingly hard time finding hardware requirements. I love that with Erlang I can throw an experimental app on Digital Ocean for just $5/mo and see if it gets traction. How much more resource intensive is Orleans and what kind of resource usage should I expect as I scale up the number of actors?

You can run Orleans on a single host or many. In fact I believe we do have a host in production running Orleans by itself that is the equivalent of a $5/mo DO box. Resource usage scales with network activity in my experience. I think there are benchmarks around, but generally the scaling factor seems similar to conventional networking models.

Re: .NET Orleans

#55

It was created by Microsoft Research and introduced the Virtual Actor Model as a novel approach to building a new generation of distributed systems for the Cloud era. Hmmm, getting a very strong Microsoft Enterprise Library vibe. The Microsoft Enterprise Library is a set of tools and programming libraries for the Microsoft .NET Framework. It provides APIs to facilitate proven practices in core areas of programming. P…

Wow... I haven't thought about `Microsoft Enterprise Library` in years. That awoke a long forgotten memory.

Re: .NET Orleans

#56

I'm a core developer on Orleans. Feel free to ask any questions here, or on gitter: https://gitter.im/dotnet/orleans I gave a talk recently on how we use it at Microsoft: https://www.youtube.com/watch?v=KhgYlvGLv9c - the talk is very short and so it does not go into many details, but it gives an overview of some internal use cases.

Wow, amazing to see this after a whole decade! I worked on this as an intern way back when it was a nascent project in MSR.

Going through the documentation, this is a complete trip. I see some of the original concepts are still intact, but the ergonomics are completely different now. Awesome!

Re: .NET Orleans

#57

I'm getting seriously bad .NET Remoting flashbacks. Someone tell me how this is different and won't hide important transactional boundaries.

All communication in Orleans is asynchronous, similar to communication in gRPC, so in .NET world, you're using async/await with methods that return Task/Task/etc. The boundary there is hopefully apparent: async calls can incur IO and have a cost and the 'async' keyword can hopefully make that cost apparent to the developer.

References to grains are represented by interfaces and if the machine you're communicating with fails, the grain will be re-activated on a surviving host the next time you need to call it. In other words, they are location transparent and the application won't get stuck in some failure state when a machine crashes.

Re: .NET Orleans

#58

Earlier quoted context omitted.

Yeah, same with Cadence/Temporal. The one caveat is that you have to move all observable effects into activities so that they can be cached. Under the hood, the engine replays functions to rehydrate them, if necessary.

I'm also one of the core developers of Orleans. Ironically, I recently joined Temporal. There are definitely some similarities, but also major differences between the models, especially when it comes to the execution model and fault tolerance.

Since you're an expert on both, do you mind discussing which of the two you like better? And the reasons behind it?

Re: .NET Orleans

#59

It was created by Microsoft Research and introduced the Virtual Actor Model as a novel approach to building a new generation of distributed systems for the Cloud era. Hmmm, getting a very strong Microsoft Enterprise Library vibe. The Microsoft Enterprise Library is a set of tools and programming libraries for the Microsoft .NET Framework. It provides APIs to facilitate proven practices in core areas of programming. P…

My opinion is biased, as a core developer, but I do not think it's packed full of design patterns. Orleans and the core team are relatively unopinionated on design patterns that developers employ. I'm much more concerned with developers writing code which cannot perform well at scale, or which becomes unreliable at scale, where machine failures are common, than I am with whether or not something fits some set of prescribed design patterns.

Re: .NET Orleans

#60
post #51

Earlier quoted context omitted.

Microsoft Research has a tradition of naming projects after cities. Eg, if you type "microsoft research project" into Google (Bing appears to work better for this) and let it autocomplete, you can see some other projects which appear to be named after places: malmo, athens, tokyo, and others.

Then why Orleans and not ?

That's a good question. I wasn't around at the time the project was formed. At that time I was working on Microsoft's internal metrics system. Years later, I became involved as an external contributor (I had left MS) and eventually rejoined MS to work on Orleans full-time.
Post reply on HN