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 full-size slide

  2. musician
    @tzangms
    CTO of StreetVoice
    小海

    View full-size slide

  3. What we do at
    StreetVoice

    View full-size slide

  4. Online.Offline

    View full-size slide

  5. Campus tours

    View full-size slide

  6. Website, of course!

    View full-size slide

  7. 1
    Problems
    when I join StreetVoice

    View full-size slide

  8. Not Scalable

    View full-size slide

  9. ASP is too old
    not even ASP.net

    View full-size slide

  10. REBOOT
    Windows Update
    your server

    View full-size slide

  11. Automatically!

    View full-size slide

  12. Poor Database
    performance

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. With just 3 developers
    at that time.

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  21. I migrate User data
    first.

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  24. Migrate database
    from Microsoft SQL Server 2000 to MySQL

    View full-size slide

  25. 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 full-size slide

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

    View full-size slide

  27. There are so many data

    View full-size slide

  28. It’s Hell ...

    View full-size slide

  29. I repeated all these
    steps, again and again

    View full-size slide

  30. After 1.5 year

    View full-size slide

  31. we finally
    Windows / ASP
    killed

    View full-size slide

  32. What took me so long?

    View full-size slide

  33. lots of cases
    and support

    View full-size slide

  34. Training
    existing developer not familiar with open source

    View full-size slide

  35. From no VCS, then
    Mercurial, now Git

    View full-size slide

  36. What we use
    now?

    View full-size slide

  37. Memcache:
    johnny-cache

    View full-size slide

  38. Message Queue:
    Celery + RabbitMQ

    View full-size slide

  39. Fulltext search:
    Haystack + Solr

    View full-size slide

  40. Exception Logging:
    Sentry

    View full-size slide

  41. We even open source now
    just get started

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  44. Any Questions?

    View full-size slide