New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

State of Nimbus #221

Closed
cbird opened this Issue Sep 28, 2015 · 12 comments

Comments

Projects
None yet
8 participants
@cbird

cbird commented Sep 28, 2015

Hi guys! I was just wondering about the state of Nimbus, and what the plan is for the near future? I have noticed there aren't that much activity in merging PRs into master.

I read in some other issue that you have had problems with your build servers and that generally your couldn't find time for it. Is there something we the community can help with? I think many are willing to help out in getting a new version of Nimbus out in the wild!

@drewfreyling

This comment has been minimized.

Show comment
Hide comment
@drewfreyling

drewfreyling Nov 20, 2015

I'm wondering about this too. I'm also wondering how Nimbus will fit in the future with the lack of updates around Windows Service Bus and how out of date the Azure Service Bus dependency is.

drewfreyling commented Nov 20, 2015

I'm wondering about this too. I'm also wondering how Nimbus will fit in the future with the lack of updates around Windows Service Bus and how out of date the Azure Service Bus dependency is.

@IanYates

This comment has been minimized.

Show comment
Hide comment
@IanYates

IanYates Nov 20, 2015

Service Bus on Windows is getting a little bit of attention: http://blogs.msdn.com/b/servicebus/archive/2015/11/13/update-to-service-bus-for-windows-server-1-1-for-the-net-framework-4-6.aspx

But admittedly that's not much. Server 2016, whenever that's out, might bring with it some service bus updates. Another article on that blog, http://blogs.msdn.com/b/servicebus/archive/2015/08/25/service-bus-sdk-3-0-x-part-1.aspx, has a couple of comments in the discussion area of interest too.

IanYates commented Nov 20, 2015

Service Bus on Windows is getting a little bit of attention: http://blogs.msdn.com/b/servicebus/archive/2015/11/13/update-to-service-bus-for-windows-server-1-1-for-the-net-framework-4-6.aspx

But admittedly that's not much. Server 2016, whenever that's out, might bring with it some service bus updates. Another article on that blog, http://blogs.msdn.com/b/servicebus/archive/2015/08/25/service-bus-sdk-3-0-x-part-1.aspx, has a couple of comments in the discussion area of interest too.

@KodrAus

This comment has been minimized.

Show comment
Hide comment
@KodrAus

KodrAus Nov 20, 2015

The biggest problem going forward, I think, is the Service Bus Dependency because it's leaked all around internally. I took a look at abstracting the Service Bus library when looking at Core CLR support, but haven't taken it too far yet.

KodrAus commented Nov 20, 2015

The biggest problem going forward, I think, is the Service Bus Dependency because it's leaked all around internally. I took a look at abstracting the Service Bus library when looking at Core CLR support, but haven't taken it too far yet.

@DamianMac

This comment has been minimized.

Show comment
Hide comment
@DamianMac

DamianMac Nov 20, 2015

Contributor

Hey guys

Sorry for the radio silence... it's not personal :)

Yep it's a little neglected here, there are a couple of reasons.

  1. @uglybugger and I don't work together any more, so we don't have a chance to talk about it much.
  2. We've both been doing different things and not working with Nimbus every day. That said, I think it's still pretty solid and it's definitely in production use in all sorts of companies doing all sorts of good things.
  3. The Service Bus thing is a total pain, we've tried all of our contacts inside MS to find out what's happening, and we've gotten nowhere. When we started out we assumed that WSB and ASB would keep pace and it just hasn't happened. This is both frustrating and disheartening. Yes there's lots of dependencies throughout Nimbus, we assumed that the SDKs would keep up and we felt that staying a little closer to it we could get the most out of it. So there motivation to do lots with it while we don't know where MS is going to go is lacking a little. We've talked about abstracting the ASB stuff out some more, and also looking at other backends like Redis, but there's nothing concrete there yet. The projects where we're using Nimbus the most though are Windows Service Bus ones.
  4. Some of the PRs there are open because they're not really the way we wanted to take things, but we've not had the time to do it ourselves or communicate our thoughts. That's our bad.
  5. I lost my build server, had no backup (bad me) and haven't gotten around to reconfiguring the builds... my bad, I'll sort that really soon and get a release out.

So the combination of all of those things has meant that spending time on Nimbus has been a bit more mental overhead than I've had capacity for.

That said....

I want Nimbus to continue, I believe in it.
I'm picking up an old project of mine that will use it extensively, so I'll be back in this headspace more.
I'm looking at another project in the new year that may use it a lot as well (on the Azure side most likely).

So...
I'm catching up with @uglybugger next week to talk about the project and what we're going to do about it.
I'll get builds happening again soon.
I think we should try to get some sort of a roadmap and direction published so that people who want to help can do that.
Somebody mentioned a lack of community, this is a good point. What are people's thoughts on that? I asked about a mailing list a while back and everybody hated that idea (fair enough). So what then ? Jabbr ? Slack ? Something else ?

Contributor

DamianMac commented Nov 20, 2015

Hey guys

Sorry for the radio silence... it's not personal :)

Yep it's a little neglected here, there are a couple of reasons.

  1. @uglybugger and I don't work together any more, so we don't have a chance to talk about it much.
  2. We've both been doing different things and not working with Nimbus every day. That said, I think it's still pretty solid and it's definitely in production use in all sorts of companies doing all sorts of good things.
  3. The Service Bus thing is a total pain, we've tried all of our contacts inside MS to find out what's happening, and we've gotten nowhere. When we started out we assumed that WSB and ASB would keep pace and it just hasn't happened. This is both frustrating and disheartening. Yes there's lots of dependencies throughout Nimbus, we assumed that the SDKs would keep up and we felt that staying a little closer to it we could get the most out of it. So there motivation to do lots with it while we don't know where MS is going to go is lacking a little. We've talked about abstracting the ASB stuff out some more, and also looking at other backends like Redis, but there's nothing concrete there yet. The projects where we're using Nimbus the most though are Windows Service Bus ones.
  4. Some of the PRs there are open because they're not really the way we wanted to take things, but we've not had the time to do it ourselves or communicate our thoughts. That's our bad.
  5. I lost my build server, had no backup (bad me) and haven't gotten around to reconfiguring the builds... my bad, I'll sort that really soon and get a release out.

So the combination of all of those things has meant that spending time on Nimbus has been a bit more mental overhead than I've had capacity for.

That said....

I want Nimbus to continue, I believe in it.
I'm picking up an old project of mine that will use it extensively, so I'll be back in this headspace more.
I'm looking at another project in the new year that may use it a lot as well (on the Azure side most likely).

So...
I'm catching up with @uglybugger next week to talk about the project and what we're going to do about it.
I'll get builds happening again soon.
I think we should try to get some sort of a roadmap and direction published so that people who want to help can do that.
Somebody mentioned a lack of community, this is a good point. What are people's thoughts on that? I asked about a mailing list a while back and everybody hated that idea (fair enough). So what then ? Jabbr ? Slack ? Something else ?

@sptjohn

This comment has been minimized.

Show comment
Hide comment
@sptjohn

sptjohn Nov 20, 2015

Slack seems like a good idea! And I think you should try to get more people involved in contributing to the codebase. That thay it would keep moving forward as you and @uglybugger get caught up in other projects.

sptjohn commented Nov 20, 2015

Slack seems like a good idea! And I think you should try to get more people involved in contributing to the codebase. That thay it would keep moving forward as you and @uglybugger get caught up in other projects.

@danielHalan

This comment has been minimized.

Show comment
Hide comment
@danielHalan

danielHalan Nov 22, 2015

can recommend gitter.im

danielHalan commented Nov 22, 2015

can recommend gitter.im

@drewfreyling

This comment has been minimized.

Show comment
Hide comment
@drewfreyling

drewfreyling Nov 24, 2015

+1 for gitter.im - we use it for cdnjs internally and for the community and it works well.

drewfreyling commented Nov 24, 2015

+1 for gitter.im - we use it for cdnjs internally and for the community and it works well.

@IanYates

This comment has been minimized.

Show comment
Hide comment
@IanYates

IanYates Nov 24, 2015

+1 for gitter too

IanYates commented Nov 24, 2015

+1 for gitter too

@gertjvr

This comment has been minimized.

Show comment
Hide comment
@gertjvr

gertjvr Nov 30, 2015

Contributor

+1 for gitter

Contributor

gertjvr commented Nov 30, 2015

+1 for gitter

@cbird

This comment has been minimized.

Show comment
Hide comment
@cbird

cbird Nov 30, 2015

Gitter sounds like a plan!

cbird commented Nov 30, 2015

Gitter sounds like a plan!

@DamianMac

This comment has been minimized.

Show comment
Hide comment
@DamianMac

DamianMac Dec 13, 2015

Contributor

OK guys.

So here is where things are at.

We had a big talk the other day and decided that no, Nimbus isn't dead.

But Windows Service Bus is definitely starting to smell that way so we need to do something about that.

As I said before the biggest problem is the lack of progress on Windows Service Bus and the fact that we tied ourselves to that SDK thinking it would keep up.

If we could break that dependency we could split out transports and maybe look at something faster like Redis (which we did some experimenting with and it's many times faster than WSB and orders of magnitude faster than ASB).

We sat down today and started to hack.

The biggest thing that was woven through our code was our dependency on BrokeredMessage. Today we managed to break that dependency and get to an almost working state (The rest of it was actually quite easy, the abstractions held up pretty well).

What that means is we could split out and do multiple transports, so we can use the newer SDKs for Azure Service Bus and take advantage of some of the improvements there, and optimise the WSB version to take advantage of the on premise install (there are some things we can do there to make it better that hurt your billing when in Azure) so it's wins all around!

We've got some ideas on how to take advantage of Redis, which means re-implementing some of the things we've gotten for "free" with what we had. (Free of course comes with a high cost of getting them to actually work).

I won't go in to all the details here yet, but it does mean that a lot of the current issues and PRs go away with what will be version 3.0 of Nimbus. So I'll leave them there for the moment to make sure we capture everything people need to do, but there's no point pulling them in at this point. We'll probably put out a patch release of 2.0 in the next week with some of the small changes I've already pulled in.

What we're looking at doing also means pulling out some of the scariest code inside Nimbus like the custom task scheduler and long running tasks so the code should be a bit easier to get your head around for other contributors in the future.

So definitely very much alive here, we're really excited to work on it again and do a version 3 that is faster, more useful, and hopefully easier to work on.

I've also taken on peoples suggestions and set up a Gitter channel to discuss it. I won't promise I'll be around on it all the time, but it might be good to see who's around and what there doing.

That's it for now!

Contributor

DamianMac commented Dec 13, 2015

OK guys.

So here is where things are at.

We had a big talk the other day and decided that no, Nimbus isn't dead.

But Windows Service Bus is definitely starting to smell that way so we need to do something about that.

As I said before the biggest problem is the lack of progress on Windows Service Bus and the fact that we tied ourselves to that SDK thinking it would keep up.

If we could break that dependency we could split out transports and maybe look at something faster like Redis (which we did some experimenting with and it's many times faster than WSB and orders of magnitude faster than ASB).

We sat down today and started to hack.

The biggest thing that was woven through our code was our dependency on BrokeredMessage. Today we managed to break that dependency and get to an almost working state (The rest of it was actually quite easy, the abstractions held up pretty well).

What that means is we could split out and do multiple transports, so we can use the newer SDKs for Azure Service Bus and take advantage of some of the improvements there, and optimise the WSB version to take advantage of the on premise install (there are some things we can do there to make it better that hurt your billing when in Azure) so it's wins all around!

We've got some ideas on how to take advantage of Redis, which means re-implementing some of the things we've gotten for "free" with what we had. (Free of course comes with a high cost of getting them to actually work).

I won't go in to all the details here yet, but it does mean that a lot of the current issues and PRs go away with what will be version 3.0 of Nimbus. So I'll leave them there for the moment to make sure we capture everything people need to do, but there's no point pulling them in at this point. We'll probably put out a patch release of 2.0 in the next week with some of the small changes I've already pulled in.

What we're looking at doing also means pulling out some of the scariest code inside Nimbus like the custom task scheduler and long running tasks so the code should be a bit easier to get your head around for other contributors in the future.

So definitely very much alive here, we're really excited to work on it again and do a version 3 that is faster, more useful, and hopefully easier to work on.

I've also taken on peoples suggestions and set up a Gitter channel to discuss it. I won't promise I'll be around on it all the time, but it might be good to see who's around and what there doing.

That's it for now!

@KodrAus

This comment has been minimized.

Show comment
Hide comment
@KodrAus

KodrAus Dec 14, 2015

Cool stuff, thanks for the update! Are you planning to open issues for the major changes you're making? It would be good to have an open chat about what shape the messaging API is likely to take for people who want to write their own implementations (kafka is one that comes to mind for me)

KodrAus commented Dec 14, 2015

Cool stuff, thanks for the update! Are you planning to open issues for the major changes you're making? It would be good to have an open chat about what shape the messaging API is likely to take for people who want to write their own implementations (kafka is one that comes to mind for me)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment