Scaling Twilio(twilio.com)
twilio.com
Scaling Twilio
http://www.twilio.com/engineering/2011/10/03/scaling-twilio/
11 comments
Twilio has a service-oriented architecture internally. We leverage a variety of application stacks for different services.
My guess would be that they use different pieces of each software program. Asterisk is good for some things but FreeSwitch can be used as a SBC (session border controller) and from there, you can do load balancing across multiple machines. etc. as an example.
I think you pretty much nailed it. I know a few guys that run a VoIP carrier out of Cleveland, OH. They started out building their core SIP switches on Asterisk, but quickly learned that Asterisk isn't the best piece of software for that role. They moved their core to OpenSIPS, but still use Asterisk for feature offerings (like conference bridges and IVRs).
It's a 'horses for courses' thing.
It's a 'horses for courses' thing.
Why does that make you suspicious?
Does it really matter? It works doesn't it?
For the sake of another data point, my own company provides a hosted PBX platform and just recently acquired another hosted PBX platform provider.
We are a hodgepodge of J2EE pre-SIPServlet on JBoss using Rhino for the scripting layer. Also, we acquired a company which essentially wrote their own Asterisk for Tomcat and built the current incarnation of our PBX platform on that. We do SBC with OpenSIPS and there are a number of other random bits and pieces (including Asterisk) which have played a role over the years. I have not seen the other company's codebase, but I am told they are a similar hodgepodge of PHP, Erlang (but not for the telephony bits), and possibly Java.
I would rather enjoy and appreciate any consistency in the platform, but I doubt we'll ever get to do the sort of rewrite that would provide that consistency.
We are a hodgepodge of J2EE pre-SIPServlet on JBoss using Rhino for the scripting layer. Also, we acquired a company which essentially wrote their own Asterisk for Tomcat and built the current incarnation of our PBX platform on that. We do SBC with OpenSIPS and there are a number of other random bits and pieces (including Asterisk) which have played a role over the years. I have not seen the other company's codebase, but I am told they are a similar hodgepodge of PHP, Erlang (but not for the telephony bits), and possibly Java.
I would rather enjoy and appreciate any consistency in the platform, but I doubt we'll ever get to do the sort of rewrite that would provide that consistency.
There are better alternatives out there. I think the company is a little too over hyped, to be honest.
Please open source boxconfig.
I mean, this is their core businesses/functionality.
EDIT: I didn't mean for this to imply I think something sinister is going on, or that I don't think Twilio is really cool! I'm just curious of why they went with what I would consider an unorthodox technology stack (the combination, not picking any one of the three).
I mean, wouldn't you guys think it was interesting if Github made a brief mention of the fact that some user information was stored in Oracle, others in MS SQL, and some in Postgres? shrug