Question before production push

#1

Hi,

I love autobahn :). Found this solution few month back and wrote a complete chat server (web socket) using this in no time. I am using javascript and flash as clients.

Now, before I will put my questions on the table let me tell you more about this server application.

I wrote it on mac and the production servers will be linux most likely ubuntu.

I tested this server for 110 clients and all those clients were sending messages each second. I can not test it more than that as my system browsers crashed. ( this test was on mac). And it went good.

I have tested this server with about 3-4 clients on linux also.

This is not a pub sub chat server. This is a simple chat server added clients to a dict. Clients can add them self into different groups to get the groups messages. Clients can send private messages.

Using the twisted version of it not the asyncio.

No crazy authentication, it’s just a hard coded key for now, client sends to server.

Most of code related to server is taken from autobahn examples (really nice example and docs).

I am initiating server as

def initWsServer(self):

port = 9000

LogManager.LOG(‘Starting ws @ %d’ % port)

ws = WSManager(“ws://localhost:%d” % port, debug=True)

ws.protocol = ClientManager

flashPolicyFactory = FlashPolicyFactory(port)

reactor.listenTCP(843, flashPolicyFactory)

reactor.listenTCP(9000, ws)

reactor.run()

All my questions are to understand that what I should expect from it in production and how to extends it and make it future proof.

Q1. I don’t have much knowledge about autobahn and twisted, no idea how does it work internally, the really nice docs are there but it’s about time. I have to push this server to production otherwise company will pick other team solution which is in java. So will it be fine and there should not be any surprises or challenges?

Q2. I am using reactor apis so, this server is a event base server, multi-threaded or single-threaded. I am guessing event base but still confirming?

Q3. My servers machines are normal systems (quad core xeon with 12 GB RAM about 1 TB hard drive). Will this chat server handle about 5000 real clients (JS/Flash clients) on one System?

Q4. What is the best approach to make it a clustered server, so we can run it on multiple servers systems and all running (lets say 10) chat server will be connected with each other and send/receive chat messages?

Q5. When there is heavy load on this chat server, lets say more clients or messages per second than expected, how will it react? It will start disconnecting old users or new users, delay in accepting connections, delay in messages, hang, just crash, restarts or anything else?

Q6. Can php interact with this server (send/receive messages) as WS or socket client? Or it’s hard and lot of work. Any lib suggestions…

Q7. In future we are planning to develop a authentication server and a log server which will run on different machines and this chat server will be connected with them using sockets as client. So is it okie or that scenarios will start creating problems?

Q8. I really like this autobahn google group, and always got the finest answers :slight_smile: thanks for that. But still asking need to mention to company ;). Is there a paid support for this incase we will face any really big bad issue? If yes then how much it gonna cost us.

Thanks,

Chuck James.

0 Likes

#2

Hi Chuck,

These are great questions. I hope that you follow up with if you go live and how it performs. My usage patterns will be very modest compared to yours. Good luck,

-g

···

On Monday, January 27, 2014 4:59:31 PM UTC-6, Chuck James wrote:

Hi,

0 Likes

#3

Chuck,

Hi,

         I love autobahn :). Found this solution few month back and
wrote a complete chat server (web socket) using this in no time. I am
using javascript and flash as clients.

Great to hear;)

Now, before I will put my questions on the table let me tell you more
about this server application.

I wrote it on mac and the production servers will be linux most likely
ubuntu.

Ubuntu is fine for production. OSX has limited power rgd. networking ..

I tested this server for 110 clients and all those clients were sending
messages each second. I can not test it more than that as my system
browsers crashed. ( this test was on mac). And it went good.

We did tests with 180.000 clients and a messaging rate of 20k/s (total) ..

All my questions are to understand that what I should expect from it in
production and how to extends it and make it future proof.

Q1. I don't have much knowledge about autobahn and twisted, no idea how
does it work internally, the really nice docs are there but it's about
time. I have to push this server to production otherwise company will
pick other team solution which is in java. So will it be fine and there
should not be any surprises or challenges?

Autobahn/Twisted/Python is a dependable stack and ready for production use on Linux, FreeBSD and Windows. Python is being used in large scale deployments like OpenStack and Dropbox. Python is just as "enterprise-grade" as Java.

It's a very general question, but challenges going to production often involve things like:

- automatic start/restart of your server ("lights out operation")
- monitoring/management
- OS network tuning
- running on PyPy (not CPython) for best performance
- using secure WebSocket (not the least to overcome issues with locked down enterprise networks and mobile networks)
..

Q2. I am using reactor apis so, this server is a event base server,
multi-threaded or single-threaded. I am guessing event base but still
confirming?

Yes. Twisted, similar to Nodejs, is a single-threaded, fully asynchronous (event driven) networking stack.

Q3. My servers machines are normal systems (quad core xeon with 12 GB
RAM about 1 TB hard drive). Will this chat server handle about 5000 real
clients (JS/Flash clients) on one System?

Easily.

We did test Autobahn on a RaspberryPi with 6000 clients:

http://tavendo.com/blog/post/autobahn-pi-benchmark/

The Pi has 256MB memory and a 600MHz CPU (think of low-end smartphone class). Your machine above is orders more capable.

Caveat: using secure WebSocket (TLS) will incur more load on CPU and memory .. but you have that steam with your hardware.

Q4. What is the best approach to make it a clustered server, so we can
run it on multiple servers systems and all running (lets say 10) chat
server will be connected with each other and send/receive chat messages?

As a rule of thumb, the question of clustering for the purpose of scaling-out should be considered if you expect to have more than 100.000 concurrently connected clients. Below that, don't bother.

That being said, you can certainly cook up a custom clustered solution, but I'd like to point to

http://crossbar.io/

which builds on Autobahn.

While Autobahn is a WebSocket/WAMP library/framework, Crossbar.io is a complete, integrated server product for WAMP based, distributed applications, that targets:

- management
- monitoring
- authentication
- authorization
- clustering

and database integration (Oracle and PostgreSQL). The approach is to have Crossbar.io as a generic WAMP routing substrate for connecting custom WAMP application components.

Q5. When there is heavy load on this chat server, lets say more clients
or messages per second than expected, how will it react? It will start
disconnecting old users or new users, delay in accepting connections,
delay in messages, hang, just crash, restarts or anything else?

I have never seen nor heard of Autobahn/Twisted crashing - neither on CPython nor on PyPy. Not a single time.

In general, Autobahn will react gracefully to overload situations. The primary factor in the underlying technology is the garbage collector of the Python run-time in use.

CPython: good GC.

PyPy 2.1+: very good GC (in my opinion/experience, better than e.g. Oracle Hotspot JVM .. don't quote me on that, Oracle might sue us;)

Regarding accepting connections: with appropriate OS network tuning, we have tested WebSocket connection rates >10k/s - that is full TCP connection establishment + WebSocket opening handshake.

There are situations that certainly would require more attention. E.g. you have 10k clients, and one of them is extremely slow. That might lead to run-away memory (since Autobahn will buffer up more and more events to be delivered for that client).

Again, Crossbar.io has built-in protections against issues like this and stuff like DoS attacks (slow TCP or WS opening handshaking).

Q6. Can php interact with this server (send/receive messages) as WS or
socket client? Or it's hard and lot of work. Any lib suggestions..

Crossbar.io has a REST API that allows you to publish WAMP events from any HTTP client, including PHP. You don't need a full-flavored WebSocket nor WAMP implementation in PHP.

Q7. In future we are planning to develop a authentication server and a
log server which will run on different machines and this chat server
will be connected with them using sockets as client. So is it okie or
that scenarios will start creating problems?

"authentication" is a broad subject .. e.g. do you plan to live authenticate against a single Microsoft Active Directory system? etc etc

What are your requirements?

Again: Crossbar.io targets authentication, and also authorization ..

Q8. I really like this autobahn google group, and always got the finest
answers :slight_smile: thanks for that. But still asking need to mention to company
;). Is there a paid support for this incase we will face any really big
bad issue? If yes then how much it gonna cost us.

Yes, definitely.

Tavendo offers (remote) consulting services for all phases of custom Autobahn based projects:

- evaluation
- planning
- design & architecture
- development
- code review
- deployment and going to production
- adressing production problems

as well as commercial support for Crossbar.io based solutions.

I send you a PM with details ..

I hope I could answer your questions in sufficient detail - feel free to ask more if not ..

Cheers,
/Tobias

···

Am 27.01.2014 23:59, schrieb Chuck James:

Thanks,
Chuck James.

--
You received this message because you are subscribed to the Google
Groups "Autobahn" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to autobahnws+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Likes

#4

Thanks for your reply Tobias.

Crossbar.io sounds really good and a complete solution and open source. But We want to build our custom solution, the idea is to take a base lib like autobahn and build a multi-server solution. We planned to build multiple server components for all different task like authentication (nothing but auth user against db), log managements, monitoring and stats and all. Thats why we did not pick the pub-sub methodology.

One big plus we found with autobahn is professionals paid support. So any point of time we break they can fix :).

Two hurdles with autobahn or may be with ws or sockets right now we have is integration of php and python django. we want direct persist connection from php and later on with python Django.

The clustering solution, we are planning is to connect servers with sockets (right now with ws and later we will modify them with unix sockets). So that they can communicate each other. But we don’t know this is the best or traditional approach or not. Your suggestion are very much welcome off-course. Is autobahn or twisted provide any kind of support or apis for clustering.

You mentioned as: “scaling-out should be considered if you expect to have more than 100.000”,

I got little confuse in this, So are you saying that one server can manage 100,000 clients with their running messages at one time on one machine? I am talking for persist connections not like http but Websocket.

few more questions: Is there any harm if one server application will listen multiple ports and response. Like our application initially listen for flash policy file on one port, web sockets on others and just to show the current stats of server we need to build a stat http page. Let me know if you know any example to serve the http page with web socket using autobahn/twisted.

Thanks a ton buddy,

Chuck

···

On Tuesday, January 28, 2014 5:45:06 AM UTC-5, Tobias Oberstein wrote:

Chuck,

Am 27.01.2014 23:59, schrieb Chuck James:

Hi,

     I love autobahn :). Found this solution few month back and

wrote a complete chat server (web socket) using this in no time. I am

using javascript and flash as clients.

Great to hear;)

Now, before I will put my questions on the table let me tell you more

about this server application.

I wrote it on mac and the production servers will be linux most likely

ubuntu.

Ubuntu is fine for production. OSX has limited power rgd. networking …

I tested this server for 110 clients and all those clients were sending

messages each second. I can not test it more than that as my system

browsers crashed. ( this test was on mac). And it went good.

We did tests with 180.000 clients and a messaging rate of 20k/s (total) …

All my questions are to understand that what I should expect from it in

production and how to extends it and make it future proof.

Q1. I don’t have much knowledge about autobahn and twisted, no idea how

does it work internally, the really nice docs are there but it’s about

time. I have to push this server to production otherwise company will

pick other team solution which is in java. So will it be fine and there

should not be any surprises or challenges?

Autobahn/Twisted/Python is a dependable stack and ready for production
use on Linux, FreeBSD and Windows. Python is being used in large scale
deployments like OpenStack and Dropbox. Python is just as
“enterprise-grade” as Java.

It’s a very general question, but challenges going to production often
involve things like:

  • automatic start/restart of your server (“lights out operation”)

  • monitoring/management

  • OS network tuning

  • running on PyPy (not CPython) for best performance

  • using secure WebSocket (not the least to overcome issues with locked
    down enterprise networks and mobile networks)

Q2. I am using reactor apis so, this server is a event base server,

multi-threaded or single-threaded. I am guessing event base but still

confirming?

Yes. Twisted, similar to Nodejs, is a single-threaded, fully
asynchronous (event driven) networking stack.

Q3. My servers machines are normal systems (quad core xeon with 12 GB

RAM about 1 TB hard drive). Will this chat server handle about 5000 real

clients (JS/Flash clients) on one System?

Easily.

We did test Autobahn on a RaspberryPi with 6000 clients:

http://tavendo.com/blog/post/autobahn-pi-benchmark/

The Pi has 256MB memory and a 600MHz CPU (think of low-end smartphone
class). Your machine above is orders more capable.

Caveat: using secure WebSocket (TLS) will incur more load on CPU and
memory … but you have that steam with your hardware.

Q4. What is the best approach to make it a clustered server, so we can

run it on multiple servers systems and all running (lets say 10) chat

server will be connected with each other and send/receive chat messages?

As a rule of thumb, the question of clustering for the purpose of
scaling-out should be considered if you expect to have more than 100.000
concurrently connected clients. Below that, don’t bother.

That being said, you can certainly cook up a custom clustered solution,
but I’d like to point to

http://crossbar.io/

which builds on Autobahn.

While Autobahn is a WebSocket/WAMP library/framework, Crossbar.io is a
complete, integrated server product for WAMP based, distributed
applications, that targets:

  • management

  • monitoring

  • authentication

  • authorization

  • clustering

and database integration (Oracle and PostgreSQL). The approach is to
have Crossbar.io as a generic WAMP routing substrate for connecting
custom WAMP application components.

Q5. When there is heavy load on this chat server, lets say more clients

or messages per second than expected, how will it react? It will start

disconnecting old users or new users, delay in accepting connections,

delay in messages, hang, just crash, restarts or anything else?

I have never seen nor heard of Autobahn/Twisted crashing - neither on
CPython nor on PyPy. Not a single time.

In general, Autobahn will react gracefully to overload situations. The
primary factor in the underlying technology is the garbage collector of
the Python run-time in use.

CPython: good GC.

PyPy 2.1+: very good GC (in my opinion/experience, better than e.g.
Oracle Hotspot JVM … don’t quote me on that, Oracle might sue us;)

Regarding accepting connections: with appropriate OS network tuning, we
have tested WebSocket connection rates >10k/s - that is full TCP
connection establishment + WebSocket opening handshake.

There are situations that certainly would require more attention. E.g.
you have 10k clients, and one of them is extremely slow. That might lead
to run-away memory (since Autobahn will buffer up more and more events
to be delivered for that client).

Again, Crossbar.io has built-in protections against issues like this and
stuff like DoS attacks (slow TCP or WS opening handshaking).

Q6. Can php interact with this server (send/receive messages) as WS or

socket client? Or it’s hard and lot of work. Any lib suggestions…

Crossbar.io has a REST API that allows you to publish WAMP events from
any HTTP client, including PHP. You don’t need a full-flavored WebSocket
nor WAMP implementation in PHP.

Q7. In future we are planning to develop a authentication server and a

log server which will run on different machines and this chat server

will be connected with them using sockets as client. So is it okie or

that scenarios will start creating problems?

“authentication” is a broad subject … e.g. do you plan to live
authenticate against a single Microsoft Active Directory system? etc etc

What are your requirements?

Again: Crossbar.io targets authentication, and also authorization …

Q8. I really like this autobahn google group, and always got the finest

answers :slight_smile: thanks for that. But still asking need to mention to company

;). Is there a paid support for this incase we will face any really big

bad issue? If yes then how much it gonna cost us.

Yes, definitely.

Tavendo offers (remote) consulting services for all phases of custom
Autobahn based projects:

  • evaluation

  • planning

  • design & architecture

  • development

  • code review

  • deployment and going to production

  • adressing production problems

as well as commercial support for Crossbar.io based solutions.

I send you a PM with details …

I hope I could answer your questions in sufficient detail - feel free to
ask more if not …

Cheers,

/Tobias

Thanks,

Chuck James.

You received this message because you are subscribed to the Google

Groups “Autobahn” group.

To unsubscribe from this group and stop receiving emails from it, send

an email to autobahnws+...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

0 Likes

#5

Thanks for your reply Tobias.

Crossbar.io sounds really good and a complete solution and open source.
But We want to build our custom solution, the idea is to take a base lib
like autobahn and build a multi-server solution. We planned to build

That's great!

FWIW, you can build custom WAMP-based solutions both on plain Autobahn and Crossbar.io.

The difference is, that Crossbar.io will solve a whole bunch of more generic, infrastructure issues for you:

- integration (REST/HTTP and relational database)
- clustering
- authentication/authorization
- management/monitoring

multiple server components for all different task like authentication
(nothing but auth user against db), log managements, monitoring and
stats and all. Thats why we did not pick the pub-sub methodology.

One big plus we found with autobahn is professionals paid support. So
any point of time we break they can fix :).

Yes, we (Tavendo) are there to help;)

Two hurdles with autobahn or may be with ws or sockets right now we have
is integration of php and python django. we want direct persist
connection from php and later on with python Django.

Integration of existing Web applications (like based on PHP) can happen at 2 levels:

1) REST/HTTP
2) WAMP

For 1), the Web app is integrated via REST/HTTP. E.g. Crossbar.io has that a REST bridge (in both directions) builtin for such integration.

For 2), the host language / run-time the Web app runs under needs to have a WebSocket and WAMP client library.

With Django in particular, there is another option: run Django with Twisted as the WSGI container. This will allow you to use AutobahnPython (client or server) from within the Web app.

https://github.com/clemesha/twisted-wsgi-django

The clustering solution, we are planning is to connect servers with
sockets (right now with ws and later we will modify them with unix
sockets). So that they can communicate each other. But we don't know
this is the best or traditional approach or not. Your suggestion are
very much welcome off-course. Is autobahn or twisted provide any kind of
support or apis for clustering.

You mentioned as: "/scaling-out should be considered if you expect to
have more than 100.000/",
I got little confuse in this, So are you saying that one server can
manage 100,000 clients with their running messages at one time on one
machine? I am talking for persist connections not like http but Websocket.

Yes, that's what I claim (and actually we have tested this).

You can have 1 machine with 1 server process keeping 100k persistent, long-lived WebSocket connections. Autobahn has no problems keeping massive amounts of long-lived TCP connections open.

Of course there are limits to the messaging _rate_ also. E.g. with 100k clients, you probably won't be able to send 1 message/sec to _each_ of them. To give a ballpark number: 30k messages/sec to _different_ clients is a good number.

Above is _different_ clients: if you send massive amount of messages each to few clients, you can get much higher messaging rates.

The reason is, that the actual underlying technical limit is the number of system calls to the OS you can do per second. On Linux, you can do a couple of 100k syscalls/sec (no matter what programming language you use).

If one sends messages in batches (as Autobahn will do), this results in fewer system calls, so you can do higher messaging rate.

If you send each message to a different client, each sending will incur 1 system call, since each send happens on a different TCP socket.

I hope above clarifies things, and not confuses you;) I really want to make you understand the underlying points, so you can draw robust conclusions.

few more questions: Is there any harm if one server application will
listen multiple ports and response. Like our application initially
listen for flash policy file on one port, web sockets on others and just
to show the current stats of server we need to build a stat http page.
Let me know if you know any example to serve the http page with web
socket using autobahn/twisted.

Serving multiple services on different ports from within the same program is no problem at all! That's one of Twisted's strength.

Here is WebSocket + static file serving with Twisted Web:

https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/websocket/echo_site

Here is WebSocket + dynamic HTML serving with Flask:

https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/websocket/echo_wsgi

Here is serving multiple different WebSocket services + Twisted Web:

https://github.com/tavendo/AutobahnPython/tree/master/examples/twisted/websocket/multiproto

/Tobias

···

Am 28.01.2014 17:29, schrieb Chuck James:

Thanks a ton buddy,
Chuck

On Tuesday, January 28, 2014 5:45:06 AM UTC-5, Tobias Oberstein wrote:

    Chuck,

    Am 27.01.2014 23:59, schrieb Chuck James:
     > Hi,
     >
     > I love autobahn :). Found this solution few month back and
     > wrote a complete chat server (web socket) using this in no time.
    I am
     > using javascript and flash as clients.

    Great to hear;)

     >
     > Now, before I will put my questions on the table let me tell you
    more
     > about this server application.
     >
     > I wrote it on mac and the production servers will be linux most
    likely
     > ubuntu.

    Ubuntu is fine for production. OSX has limited power rgd. networking ..

     > I tested this server for 110 clients and all those clients were
    sending
     > messages each second. I can not test it more than that as my system
     > browsers crashed. ( this test was on mac). And it went good.

    We did tests with 180.000 clients and a messaging rate of 20k/s
    (total) ..

     > All my questions are to understand that what I should expect from
    it in
     > production and how to extends it and make it future proof.
     >
     > Q1. I don't have much knowledge about autobahn and twisted, no
    idea how
     > does it work internally, the really nice docs are there but it's
    about
     > time. I have to push this server to production otherwise company
    will
     > pick other team solution which is in java. So will it be fine and
    there
     > should not be any surprises or challenges?

    Autobahn/Twisted/Python is a dependable stack and ready for production
    use on Linux, FreeBSD and Windows. Python is being used in large scale
    deployments like OpenStack and Dropbox. Python is just as
    "enterprise-grade" as Java.

    It's a very general question, but challenges going to production often
    involve things like:

    - automatic start/restart of your server ("lights out operation")
    - monitoring/management
    - OS network tuning
    - running on PyPy (not CPython) for best performance
    - using secure WebSocket (not the least to overcome issues with locked
    down enterprise networks and mobile networks)
    ..

     > Q2. I am using reactor apis so, this server is a event base server,
     > multi-threaded or single-threaded. I am guessing event base but
    still
     > confirming?

    Yes. Twisted, similar to Nodejs, is a single-threaded, fully
    asynchronous (event driven) networking stack.

     > Q3. My servers machines are normal systems (quad core xeon with
    12 GB
     > RAM about 1 TB hard drive). Will this chat server handle about
    5000 real
     > clients (JS/Flash clients) on one System?

    Easily.

    We did test Autobahn on a RaspberryPi with 6000 clients:

    http://tavendo.com/blog/post/autobahn-pi-benchmark/
    <http://tavendo.com/blog/post/autobahn-pi-benchmark/>

    The Pi has 256MB memory and a 600MHz CPU (think of low-end smartphone
    class). Your machine above is orders more capable.

    Caveat: using secure WebSocket (TLS) will incur more load on CPU and
    memory .. but you have that steam with your hardware.

     > Q4. What is the best approach to make it a clustered server, so
    we can
     > run it on multiple servers systems and all running (lets say 10)
    chat
     > server will be connected with each other and send/receive chat
    messages?

    As a rule of thumb, the question of clustering for the purpose of
    scaling-out should be considered if you expect to have more than
    100.000
    concurrently connected clients. Below that, don't bother.

    That being said, you can certainly cook up a custom clustered solution,
    but I'd like to point to

    http://crossbar.io/

    which builds on Autobahn.

    While Autobahn is a WebSocket/WAMP library/framework, Crossbar.io is a
    complete, integrated server product for WAMP based, distributed
    applications, that targets:

    - management
    - monitoring
    - authentication
    - authorization
    - clustering

    and database integration (Oracle and PostgreSQL). The approach is to
    have Crossbar.io as a generic WAMP routing substrate for connecting
    custom WAMP application components.

     > Q5. When there is heavy load on this chat server, lets say more
    clients
     > or messages per second than expected, how will it react? It will
    start
     > disconnecting old users or new users, delay in accepting
    connections,
     > delay in messages, hang, just crash, restarts or anything else?

    I have never seen nor heard of Autobahn/Twisted crashing - neither on
    CPython nor on PyPy. Not a single time.

    In general, Autobahn will react gracefully to overload situations. The
    primary factor in the underlying technology is the garbage collector of
    the Python run-time in use.

    CPython: good GC.

    PyPy 2.1+: very good GC (in my opinion/experience, better than e.g.
    Oracle Hotspot JVM .. don't quote me on that, Oracle might sue us;)

    Regarding accepting connections: with appropriate OS network tuning, we
    have tested WebSocket connection rates >10k/s - that is full TCP
    connection establishment + WebSocket opening handshake.

    There are situations that certainly would require more attention. E.g.
    you have 10k clients, and one of them is extremely slow. That might
    lead
    to run-away memory (since Autobahn will buffer up more and more events
    to be delivered for that client).

    Again, Crossbar.io has built-in protections against issues like this
    and
    stuff like DoS attacks (slow TCP or WS opening handshaking).

     > Q6. Can php interact with this server (send/receive messages) as
    WS or
     > socket client? Or it's hard and lot of work. Any lib suggestions..

    Crossbar.io has a REST API that allows you to publish WAMP events from
    any HTTP client, including PHP. You don't need a full-flavored
    WebSocket
    nor WAMP implementation in PHP.

     > Q7. In future we are planning to develop a authentication server
    and a
     > log server which will run on different machines and this chat server
     > will be connected with them using sockets as client. So is it
    okie or
     > that scenarios will start creating problems?

    "authentication" is a broad subject .. e.g. do you plan to live
    authenticate against a single Microsoft Active Directory system? etc
    etc

    What are your requirements?

    Again: Crossbar.io targets authentication, and also authorization ..

     > Q8. I really like this autobahn google group, and always got the
    finest
     > answers :slight_smile: thanks for that. But still asking need to mention to
    company
     > ;). Is there a paid support for this incase we will face any
    really big
     > bad issue? If yes then how much it gonna cost us.

    Yes, definitely.

    Tavendo offers (remote) consulting services for all phases of custom
    Autobahn based projects:

    - evaluation
    - planning
    - design & architecture
    - development
    - code review
    - deployment and going to production
    - adressing production problems

    as well as commercial support for Crossbar.io based solutions.

    I send you a PM with details ..

    I hope I could answer your questions in sufficient detail - feel
    free to
    ask more if not ..

    Cheers,
    /Tobias

     >
     > Thanks,
     > Chuck James.
     >
     > --
     > You received this message because you are subscribed to the Google
     > Groups "Autobahn" group.
     > To unsubscribe from this group and stop receiving emails from it,
    send
     > an email to autobah...@googlegroups.com <javascript:>.
     > For more options, visit https://groups.google.com/groups/opt_out
    <https://groups.google.com/groups/opt_out>.

--
You received this message because you are subscribed to the Google
Groups "Autobahn" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to autobahnws+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

0 Likes