Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How We Use Ruby at MobME Wireless

Vishnu Gopal
September 08, 2012

How We Use Ruby at MobME Wireless

This is how we use Ruby for backend infrastructure work.

Vishnu Gopal

September 08, 2012
Tweet

More Decks by Vishnu Gopal

Other Decks in Technology

Transcript

  1. How we use Ruby
    @mobmewireless
    Vishnu Gopal

    View Slide

  2. About ME
    Vishnu Gopal
    CTO, MobME Wireless
    SlideShare Inc
    Human-Computer Interaction at UCL, London
    twitter.com/vishnugopal

    View Slide

  3. MobME Wireless
    Mobile VAS company: SMS, USSD, IVR
    Ruby is our primary language
    We don’t do much “web” development
    Ruby as a systems glue language
    www.mobme.in
    twitter.com/mobmewireless

    View Slide

  4. systems glue as in?

    View Slide

  5. we have backend apps
    written in C

    View Slide

  6. OR WE HAVE an API
    from a client

    View Slide

  7. we need to build
    admin interfaces

    View Slide

  8. plug those into web
    interfaces

    View Slide

  9. services that load
    data into those systems

    View Slide

  10. services that take
    backups, fetch reports

    View Slide

  11. services that collect
    data from ports

    View Slide

  12. synchronous service

    View Slide

  13. Asynchronous service

    View Slide

  14. You folks probably do
    this with delayed_JOB

    View Slide

  15. logging, accounting,
    control, responsibility

    View Slide

  16. a separate service
    worker

    View Slide

  17. sync_Service GEM

    View Slide

  18. sync_Service GEM

    View Slide

  19. ASYNC_SERVICE GEM

    View Slide

  20. when you want to
    defer something, you
    need a queue

    View Slide

  21. “quick and dirty, more
    flexible queues”

    View Slide

  22. “enterprise-grade
    queues”

    View Slide

  23. A Generic queue
    implementation

    View Slide

  24. true_QUEUE RUBYGEM

    View Slide

  25. true_QUEUE RUBYGEM

    View Slide

  26. true_QUEUE RUBYGEM

    View Slide

  27. TRUE_QUEUE GEM

    View Slide

  28. Build all our vas apps

    View Slide

  29. Voice APPS: OBD & IVR

    View Slide

  30. Adhearsion
    Ruby interface to asterisk

    View Slide

  31. Adhearsion

    View Slide

  32. USSD Applications

    View Slide

  33. homegrown
    framework
    Want to
    OpenSource

    View Slide

  34. ussd renderer redux

    View Slide

  35. admin interfaces

    View Slide

  36. ADMIN INTERFACES

    View Slide

  37. Twitter Bootstrap

    View Slide

  38. abstract away
    enterprisey APIS

    View Slide

  39. SAVON

    View Slide

  40. SAVON

    View Slide

  41. SAVON

    View Slide

  42. On and ON....

    View Slide

  43. internal technology
    recommendations
    Want to
    OpenSource

    View Slide

  44. Finis

    View Slide

  45. Questions?
    We are hiring!

    View Slide