Last week I attended an event in New York organized by Tibco as part of their launch tour for their new cloud offering, Tibco Silver. It was a really fun panel to do with Mike Culver from Amazon Web Services, Mike DiPetrillo from VMWare, Ed Simmons from Deutsche Bank and Sreedhar Kajeepeta from CSC.
As the panel was about to wrap-up, Farrell McManus, moderator of the panel and the publisher of Waters Magazine, asked the panelists something to the effect of what makes us excited about the future of the cloud. My response was that most of our conversations on cloud computing now focus on how the cloud will enable us to do the same things but cheaper, faster and easier, what's really interesting to me is how the cloud will enable us to do things we couldn't before. And as an example I gave Twilio.
Twilio is a remarkably simple concept, but very difficult to implement in an elegant way, as the Twilio folks have done. It is a cloud platform that enables developers with basic web programming skills to develop complex voice applications.
Under the hood -- but completely transparent to the developer or the end user -- Twilio is hosted on Amazon EC2, uses a multi-tenant architecture and has implemented a fully functional telephony infrastructure based on the open source framework Asterisk.
But again, the developer is shielded from the complexity of the telephony infrastructure, something that used to require specialized engineering skills that involved things like ports, trunking and SIP servers. Instead, all the developer needs to do is call the Twilio service from his or her web app via a simple API that consists of five verbs: Play, Say, Gather, Record and Dial.
The other interesting aspect of Twilio is the pricing model. It is a simple pay-by-the-minute model, and a cheap one at that: 3 cents per minute, inbound or outbound. No upfront or monthly fees, no contracts.
Lastly, Twilio is highly scalable on demand. If a customer is now running some huge marketing campaign -- and some of Twilio's customers have done just that -- the system can scale without warning as needed.
These last two aspects of Twilio -- pay-per-use pricing and on-demand scalability -- are a direct consequence of the fact that the service itself runs on Amazon's cloud platform with a multi-tenant architecture.
The end result of all this is that the barriers to creating highly creative and sophisticated voice applications (or adding a "voice interface" to existing web apps) are extremely low. And it means that we won't just be able to create the same apps we did at a lower cost, but that a whole range of new applications will be developed. You can already see some of that happening on Twilio's blog.
In order to get people's imagination working on the types of apps they can create with Twilio, they have organized several developer contests, and you can check out the creative results on the above linked blog.
Their current contest is one of my favorites. It's aimed at Ruby developers who run an app on Heroku and use Twilio. If you read my post Ruby Developers: The Cloud Generation, you'll realize like me that this is some serious cloud-on-cloud action that really changes the game.
Check out this video Morten Bagai from Heroku that shows how easy it is to get a Ruby app running on Heroku and using Twilio:
How to create a Twilio app on Heroku from Morten Bagai on Vimeo.