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

The workflow of the New StreetVoice

The workflow of the New StreetVoice

As last year, I gave a talk at PyCon Taiwan 2013 about "How I transform StreetVoice from Windows/ASP to Linux/Python"

This year at PyCon APAC 2014, I gave this talk: "The workflow of new StreetVoice" , including the stack we are using, the deployment, development process, and how we use hipchat to connect all the other services like, travis-ci, github, coveralls, hubot and saltstack.

And we continue to Open Source, release lots of django apps and python packages.

Ming Shien Tzang

May 18, 2014

More Decks by Ming Shien Tzang

Other Decks in Programming


  1. 改造後, 現在我們如何進⾏行開發⼯工作

  2. About me ⼩小海 / tzangms

  3. Outlines • What is StreetVoice • The good old memory

    • What changes • Workflow • Continue to Open Source
  4. What is StreetVoice and what we are doing

  5. 獨⽴立⾳音樂社群 Taiwan, Hong Kong and China

  6. 簡單⽣生活節 SimpleLife We do music festivals, and life style

  7. ⾒見證⼤大團 The Next Big Thing We do music TV program,

    and Live shows
  8. 前情提要 避免有⼈人不知道 …

  9. 在去年我講過接⼿手 StreetVoice 時的狀況

  10. Old StreetVoice • Use Windows / ASP (not .NET) •

    Unscalable structure • No Version Control System • Disasters happens all the time • 10s+ per request.
  11. The New StreetVoice

  12. Use Python / Django Scalable, and the deployment across Taipei,

    Tokyo and Beijing
  13. StreetVoice Stack Galera Cluster

  14. What changes

  15. We have Right and talented people 當時在投稿的時候, 我們有很棒的⼈人才

  16. Version Control Git & Github

  17. Unit test & Coverage report

  18. Error Tracking & Logging

  19. Create Github issue from sentry directly

  20. Deployment & configuration management

  21. StreetVoice Tokyo 12 servers Taipei 12 servers Beijing 6 servers

    server deployment
  22. $ salt “*” state.highstate Use this command to deploy every

    server across Taipei, Beijing and Tokyo data center.
  23. Realtime chat

  24. We have hubot Of course

  25. Control saltstack with hubot hipchat hubot saltstack

  26. : hubot salt stage deploy : OK, I am doing

    it, please wait …
  27. None
  28. None
  29. Make it all together

  30. None
  31. Make everyone noticed through hipchat

  32. Workflow at StreetVoice

  33. Our git branching strategy This graph comes from @nvie not

    exactly like this
  34. workflow

  35. Github network graph

  36. We continue to Open Source python and django packages

  37. django-elastic-transcoder transcode with AWS elastic transcoder

  38. django-celery-ses Drop-in replacement EmailBackend Sending email with AWS SES through

  39. django-nextpage better performance than django-pagination when you just want next

  40. django-cloudfront CDN with private content signing

  41. HysteriaPlayer Objective-C audio player, sitting on top of AVPlayer

  42. ididit daily working log system

  43. 無限期⽀支持 StreetVoice 徵才 請來信 [email protected] Q & A