My talk in AWS Summit Taipei 2016
KKStream,來自 KKBOX 集團,專注於提供優化過的影音串流平台,我們相信,每個影音平台都有它各自的故事與出發點,這不是一般套裝系統可以滿足的。2015 年,我們藉由與 AWS Enterprise Support 以及 IEM 團隊的合作下,成功地在日本完成了有百萬訂閱用戶的影音串流平台升級。我們會針對這個實例來與大家分享我們怎麼善用 AWS ES 的經驗。
2. Who am I? Who are We?
• Technical Director, KKStream.
• Committee member, PyCon TW
• Spin off from KKBOX on March.
• Media streaming solutions.
3. Proclaim #1
“I would like to talk about our journey, starting from
migration of video streaming services from on-premises to
cloud. What we experienced and learnt with AWS
Enterprise Support team would be shared, and then our
future strategy with AWS.
No any deep-dives, or even codes gets mentioned on this
stage.”
4. Proclaim #2
“What I’m going to share is our stories in some context.
They might not fit to your business challenges, and there
might be even something subtly wrong.
Listen carefully with doubt is necessary; adapt them to your
challenges with twist is suggested.”
7. Videopass spec
• Video-on-demand streaming service in Japan.
• Modern adaptive streaming: HLS, DASH, MSS.
• Multi-platform: Android, iOS, Web, STB and TV.
• Seamless migration w/o down time from the previous not-
that-ok platform.
8. Videopass status
• More than 1M paid subscriptions (Japan only)
• 60,000 videos encoded
• 3,000 films encoded in one day (peak)
• Couple of million video-hours are watched
• EC2 instances: 4,000 cores (peak)
• Request per month: 3 billion (peak)
12. Content Pipeline
• meta, images, videos, and
others, a variety of contents
we are dealing with.
• Different and even evolving
workflows, as DAGs,
comprise the core backbone.
• It should be robust and
accountable as we just like
put 1.5 (video) engineer.
13. Encoding System
• Amazon Simple Workflow (SWF)
• It is accountable, extendable, error-proofing
• We proposed priority queuing feature with others
• Raising soft limits is easy
• Orchestrating the execution of workflows for media
streaming service and even more
• PyCon APAC 2015
• 轉轉轉好運旺來⼀一起來之雲端轉檔⼤大作戰!
• PyCon Taiwan 2016
14. Counting our core pipeline technology on AWS can
be robust and secured, even though it (ex, SWF) is
not that mentioned here.
Lesson #1:
16. Todo list
• Seamless migration to 1M users.
• Migration is split into 2 or 3 phases.
• Service status is watched and reported in minutes.
• 4+2 vendors to cooperate through API, data exchange
and discussion. (Taipei, Tokyo, London)
• Both on-site and remote engineers, operators and even
SQA are standby. (Taipei, Tokyo)
17. Live status
Everyone was caring about the live status, which means
no one was thinking about others!
18. AWS IEM
• One AWS SA noticed
something risky about RDS!
• He continuously and clearly
reported his discovery and
discussed with us.
• Obviously, it turns out he is
much familiar with underneath
services than us!
19. On d-day, all people is easier concentrating on instant
status, while AWS IEM team, as a team player with us,
help predict the future and prevent disasters.
Lesson #2:
22. After AWS re:Invent, We Thought
• Cost optimization:
- development faster, then deployment
- quit/change even faster if necessary
• Brainless scalability (PaaS):
- serverless microservices
- Lambda + API Gateway
• Deeper support:
- continuous mutual cooperation
- more KKBOX staffs to AWS re:Invent!
25. We could leverage AWS resources to not just
evangelize technology and mindset, but also cultivate
our next-gen platform and even broaden our exposure.
Lesson #3:
27. What is the next-gen streaming big thing?
• Much complicated business logics
• FVOD, SVOD, TVOD, AVOD, bundle sale, …
• Higher demand of streaming experience
• Viewing quality, picking w/o searching, personalization, …
• Different but rich content
• Live music, linear TV, enterprise education, …
• Insane operation situation
• Massive ingestion, dynamic layout, auto-subtitle, auto-
screenshot, …
28. Our strategy for the next
• We just like to have 1.5 AWS expert if possible, or 1
expert with some intermediates.
• We would focus on core part of next-gen services while
infrastructure issues are delegated to someone trustful,
like AWS.
30. Lots of trickys in AWS services
• We might be one of pioneering teams here trying to build
fully serverless APIs through API Gateway, Lambda, …
• DynamoDB is really expensive if you use it in this way …
• Lambda has cold start issue such that …
• Not just CPU, but also network and disk performance are
all positively related to memory in Lambda …
• Don’t use CodeCommit or CodePipeline because …
31. We realized that we won’t be that expertized in some AWS
tricks, but we can aggressively start some plan because
AWS ES team would fully and honestly support us.
Lesson #4:
33. “How about putting # of AWS support cases into our KPI?” – interesting feedback
34. Then, all our team, including non-developers, video content
quality assurers in Kaohsiung, has access to AWS Support
Center!
35. Treating AWS as a team player in KKStream can strongly
increase our expertise, team size, and even surprising
feedback. It’s like we hired the whole AWS ES team in!
Lesson #5:
37. Takeaways
• Before evaluating new AWS services, ask them directly.
They can always feedback something inspiring, trustful,
and accountable.
• AWS Support could be treated like part of your team,
instead of just tech Q&A vendor or consultant.
• Thinking about what your team like to be and focus on
that, then leveraging AWS resources for other parts.