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

StreetVoice: From Windows/ASP to Linux/Python

StreetVoice: From Windows/ASP to Linux/Python

Ming Shien Tzang

May 25, 2013
Tweet

More Decks by Ming Shien Tzang

Other Decks in Technology

Transcript

  1. From Windows/ASP
    to Linux/Python
    by @tzangms

    View Slide

  2. musician
    @tzangms
    CTO of StreetVoice
    小海

    View Slide

  3. What we do at
    StreetVoice

    View Slide

  4. Online.Offline

    View Slide

  5. TV Shows

    View Slide

  6. Events

    View Slide

  7. Campus tours

    View Slide

  8. Website, of course!

    View Slide

  9. 1
    Problems
    when I join StreetVoice

    View Slide

  10. Not Scalable

    View Slide

  11. ASP is too old
    not even ASP.net

    View Slide

  12. REBOOT
    Windows Update
    your server

    View Slide

  13. Automatically!

    View Slide

  14. Poor Database
    performance

    View Slide

  15. Problem file structures
    /profile/1/image.jpg
    /profile/2/image.jpg
    /profile/3/image.jpg
    .
    .
    .
    /profile/999999/image.jpg

    View Slide

  16. And we do so many
    things.
    etc ...

    View Slide

  17. With just 3 developers
    at that time.

    View Slide

  18. How do I
    convince
    my boss to use
    python?

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. 阿怪: ⾳音樂⼈人就該⽤用 Django

    View Slide

  26. 但其實說服⽼老闆
    我是⽤用唬爛的

    View Slide

  27. 因為我當時根本不會寫
    Python 阿!

    View Slide

  28. Migrate

    View Slide

  29. Django / ASP
    I have to run
    at the same time!

    View Slide

  30. I migrate User data
    first.

    View Slide

  31. Single sign on
    to make both Django/ASP login at the same time

    View Slide

  32. /music/*
    /account/*
    /anything not
    ported yet.

    View Slide

  33. Migrate database
    from Microsoft SQL Server 2000 to MySQL

    View Slide

  34. Migrate file structure
    I have to move lots of files, and update database
    /profile/1/image.jpg
    /profile/2/image.jpg
    /profile/3/image.jpg
    .
    .
    .
    /profile/999999/image.jpg

    View Slide

  35. Since StreetVoice has been
    running for years, so ..

    View Slide

  36. There are so many data

    View Slide

  37. It’s Hell ...

    View Slide

  38. I repeated all these
    steps, again and again

    View Slide

  39. After 1.5 year

    View Slide

  40. we finally
    Windows / ASP
    killed

    View Slide

  41. What took me so long?

    View Slide

  42. lots of cases
    and support

    View Slide

  43. like...

    View Slide

  44. View Slide

  45. Training
    existing developer not familiar with open source

    View Slide

  46. From no VCS, then
    Mercurial, now Git

    View Slide

  47. What we use
    now?

    View Slide

  48. View Slide

  49. Database

    View Slide

  50. Memcache:
    johnny-cache

    View Slide

  51. Message Queue:
    Celery + RabbitMQ

    View Slide

  52. Fulltext search:
    Haystack + Solr

    View Slide

  53. Exception Logging:
    Sentry

    View Slide

  54. We even open source now
    just get started

    View Slide

  55. Yes, We’re getting
    better and better.

    View Slide

  56. Come join us!
    Python, Frontend, iOS, Sys Admin

    View Slide

  57. View Slide

  58. Any Questions?

    View Slide