I'll leave it to others to share their experience with Janus, as somebody already did in some more or less recent posts (Pierce also shared his own approach to building Janus in their environment on github), so I'll just give my two cents here.
We have no secret recipe: we do make use of containers but that's just a commodity, we still build Janus as I believe everybody else does. Ubuntu 14.10 (or later? can't recall, I don't handle that part) servers, libsrtp compiled manually, whatever libnice is available, and lately we switched to BoringSSL ourselves as well.
We only experienced the infamous OpenSSL alert bug twice in two years and it appeared to be completely random, so considering most people feel more comfortable with BoringSSL we decided to give it a try as well. I think it was Pierce that found out that BoringSSL didn't suffer from the same issue as in that fork they improved some thread-safe mechanisms internally in the library, but I'm not such an expert in OpenSSL to say that it was indeed the case. We're already trying to be as thread-safe as possible within the core, so I'm not sure what else we might do to fix the plain OpenSSL usage (if it's something we can do at the application level and that does not need internal fixing, I mean); feedback and, more importantly, help in that direction would be cool, as I can't tackle everything by myself.
As to libnice, things have greatly improved in the latest (see, post modular-transports) Janus revision, as we fixed some TCP-related leaks that were lingering there, and that I believe could affect performances in the long run (or more precisely, those leaks are not a problem anymore when you don't enable ICE-TCP, when you do they're still there but it's a known issue that will be solved in the upcoming libnice 0.1.14 revision so not a Janus issue). Besides, we also took care of what prevented recent libnice versions to be used effectively (the "spinning threads" issue), and so there's no costraint on using a specific version there either. If you're already using the latest version (0.1.0) with the latest libnice available in your distro you should have noticed some improvements.
Not sure how many people out there are using data channels as extensively as you do, so I can't share any specific feedback on this. We do use it in part for chat only in some setups where we don't want any messaging infrastructure: when I say chat, though, I mean text messages only, so no base64-encoded data and the like.
Hope that helped, looking forward to more comments from the community,
Lorenzo
Thanks.