Customer Sharing: KKStream/KKBOX - How do we, as KKStream/KKBOX, deal with seamless service migration/upgrade with AWS Enterprise Support and IEM
Post on 15-Apr-2017
2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
(Drake), KKStream / KKBOX
May 20th, 2016
Seamless service migration with
AWS Enterprise Support
Who am I? Who are We?
Technical Director, KKStream.
Committee member, PyCon TW
Spin off from KKBOX on March.
Media streaming solutions.
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
What Im 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.
Lets start from the result
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
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)
Embraced AWS services
All on cloud from day oneApril 2014
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.
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
Counting our core pipeline technology on
AWS can be robust and secured, even
though it (ex, SWF) is not that mentioned
D-Day, Videopass migrationJuly 2015
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)
Everyone was caring about the live status, which means
no one was thinking about others!
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!
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.
AWS re:Invent 2015October 2015
After AWS re:Invent, We Thought
- development faster, then deployment
- quit/change even faster if necessary
Brainless scalability (PaaS):
- serverless microservices
- Lambda + API Gateway
- continuous mutual cooperation
- more KKBOX staffs to AWS re:Invent!
We could leverage AWS resources to not
just evangelize technology and mindset, but
also cultivate our next-gen platform and
even broaden our exposure.
Moving on to the nextJanuary 2016
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-
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,
Serverless APIs on AWS!
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
Dont use CodeCommit or CodePipeline because
We realized that we wont be that expertized
in some AWS tricks, but we can aggressively
start some plan because AWS ES team
would fully and honestly support us.
And we want more from AWSMarch 2016
How about putting # of AWS support cases into our KPI? interesting feedback
Then, all our team, including non-
developers, video content quality
assurers in Kaohsiung, has access to
AWS Support Center!
Treating AWS as a team player in KKStream
can strongly increase our expertise, team
size, and even surprising feedback. Its like
we hired the whole AWS ES team in!
Overall, the takeaways
Before evaluating new AWS services, ask them directly.
They can always feedback something inspiring, trustful,
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.
Have I mentioned that we are hiring?