Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
改造後, 現在我們如何進⾏行開發⼯工作
Slide 2
Slide 2 text
About me ⼩小海 / tzangms
Slide 3
Slide 3 text
Outlines • What is StreetVoice • The good old memory • What changes • Workflow • Continue to Open Source
Slide 4
Slide 4 text
What is StreetVoice and what we are doing
Slide 5
Slide 5 text
獨⽴立⾳音樂社群 Taiwan, Hong Kong and China
Slide 6
Slide 6 text
簡單⽣生活節 SimpleLife We do music festivals, and life style
Slide 7
Slide 7 text
⾒見證⼤大團 The Next Big Thing We do music TV program, and Live shows
Slide 8
Slide 8 text
前情提要 避免有⼈人不知道 …
Slide 9
Slide 9 text
在去年我講過接⼿手 StreetVoice 時的狀況
Slide 10
Slide 10 text
Old StreetVoice • Use Windows / ASP (not .NET) • Unscalable structure • No Version Control System • Disasters happens all the time • 10s+ per request.
Slide 11
Slide 11 text
The New StreetVoice
Slide 12
Slide 12 text
Use Python / Django Scalable, and the deployment across Taipei, Tokyo and Beijing
Slide 13
Slide 13 text
StreetVoice Stack Galera Cluster
Slide 14
Slide 14 text
What changes
Slide 15
Slide 15 text
We have Right and talented people 當時在投稿的時候, 我們有很棒的⼈人才
Slide 16
Slide 16 text
Version Control Git & Github
Slide 17
Slide 17 text
Unit test & Coverage report
Slide 18
Slide 18 text
Error Tracking & Logging
Slide 19
Slide 19 text
Create Github issue from sentry directly
Slide 20
Slide 20 text
Deployment & configuration management
Slide 21
Slide 21 text
StreetVoice Tokyo 12 servers Taipei 12 servers Beijing 6 servers server deployment
Slide 22
Slide 22 text
$ salt “*” state.highstate Use this command to deploy every server across Taipei, Beijing and Tokyo data center.
Slide 23
Slide 23 text
Realtime chat
Slide 24
Slide 24 text
We have hubot Of course
Slide 25
Slide 25 text
Control saltstack with hubot hipchat hubot saltstack
Slide 26
Slide 26 text
: hubot salt stage deploy : OK, I am doing it, please wait …
Slide 27
Slide 27 text
No content
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
Make it all together
Slide 30
Slide 30 text
No content
Slide 31
Slide 31 text
Make everyone noticed through hipchat
Slide 32
Slide 32 text
Workflow at StreetVoice
Slide 33
Slide 33 text
Our git branching strategy This graph comes from @nvie not exactly like this
Slide 34
Slide 34 text
workflow
Slide 35
Slide 35 text
Github network graph
Slide 36
Slide 36 text
We continue to Open Source python and django packages
Slide 37
Slide 37 text
django-elastic-transcoder transcode with AWS elastic transcoder
Slide 38
Slide 38 text
django-celery-ses Drop-in replacement EmailBackend Sending email with AWS SES through Celery
Slide 39
Slide 39 text
django-nextpage better performance than django-pagination when you just want next page
Slide 40
Slide 40 text
django-cloudfront CDN with private content signing
Slide 41
Slide 41 text
HysteriaPlayer Objective-C audio player, sitting on top of AVPlayer
Slide 42
Slide 42 text
ididit daily working log system
Slide 43
Slide 43 text
無限期⽀支持 StreetVoice 徵才 請來信
[email protected]
Q & A