This document summarizes Shuen-Huei Guan's presentation on migrating KKBOX's video-on-demand service to AWS. It discusses how KKBOX migrated a 1 million user video service with over 10,000 videos to AWS over 1 year through a two-staged migration while maintaining service. It highlights the gains from AWS, including scalable infrastructure, powerful content encoding capabilities, and support from AWS with only one DevOps engineer required. The presentation reflects on insights from AWS re:Invent 2015 regarding data center migration, real-time streaming, microservices, and cost optimization and how it will influence KKBOX's next steps in becoming more serverless and optimized for cost on AWS.
2. Who am I?
Shuen-Huei (Drake) Guan / @drakeguan
Sr. Principal Engineer, Video.KKBOX
Volunteer, PyCon Taiwan
3. What to Expect from the Session
• How we migrate a video-on-demand service.
• What we benefited from AWS.
• What we saw in AWS re:Invent 2015.
• What’s next then.
4.
5. VideoPass
• Video-on-demand (OTT) service,
built as on-premises platform.
• 1M subscription users.
• The scale of commercial contents is huge.
• More than 10k videos,
~= 2,000,000 minutes.
• Content encoding capacity is constrained.
6. VideoPass Migration Plan
• 1yr Development.
• Integration of 4+2 vendors.
• Nearly seamless. No obvious service shutdown.
• 2-staged migration.
7. What We Pursue…
• Built on cloud from 1st day.
• Just one AWS DevOps Engineer.
• 4 dynamic environments:
develop, testing, staging, and production.
• Scalable infrastructure, storage and bandwidth.
• Powerful content encoding capability.
• Standardized format: MPEG-DASH, HLS, CENC, …
8.
9. Typical Architecture
• Entry points:
EC2 + ELB + Auto Scaling group.
• Valuable Data:
Multi-AZ RDS + ElasticSearch.
• Media warehouse:
S3 + CDN.
• Future-proof:
wrapped API access to AWS.
12. Orchestrating the execution of
workflows for media streaming
service and even more
- PyCon APAC 2015
- https://github.com/KKBOX/mass
13. Gains from AWS
• Cooperation with AWS team to survive the migration.
- IEM (Infrastructure Event Management)
- Enterprise Support.
• Really insane encoding capability.
- 3,000 videos in just one day.
- done by 800 encoders.
• We just hired one AWS DevOps!
16. Data Center Migration
• GAM303 - Riot Games: Migrating Mountains of Big Data
to AWS
• DAT205 - Introduction to AWS Database Migration
Service
• ISM201 - Preparing for Migration: Developing a
Roadmap to AWS for 7,700 Systems and 5 Global Data
Centers
• … (Data center of KKBOX music streaming?)
17. Real-time Streaming Data
• BDT403 - Best Practices for Building Real-time
Streaming Applications with Amazon Kinesis
• ARC310-APAC - Amazon.com: Solving Amazon's
Catalog Contention and Cost with Amazon Kinesis
• BDT205 - Your First Big Data Application on AWS
• … (Real-time user behaviors analysis?)
18. Microservices
• ARC201 - Microservices Architecture for Digital
Platforms with AWS Lambda, Amazon CloudFront and
Amazon DynamoDB
• ARC303 - Pure Play Video OTT: A Microservices
Architecture in the Cloud
• ARC309 - From Monolithic to Microservices: Evolving
Architecture Patterns in the Cloud
• ... (Developers Researchers DevOps)
19. Cost Optimization
• ARC302 - Running Lean Architectures: How to Optimize
for Cost Efficiency
• ISM402 - Cost Optimization at Scale
• STG311 - AWS Storage Gateway: Simple, Secure, Cost-
Effective Backup and Archive in the Cloud
• … (Cost optimization is always that hot even after
re:Play party!)
25. Before AWS re:Invent, We Thought
• Cost optimization:
- lower IT labor
- flexible infrastructure
• Fully-managed scalability (IaaS):
- Auto-Scaling group
- ELB
- VPC
• Well support:
- Enterprise support
26. 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!
27. KKBOX Video
• Initiated in 2014.
• Team built from 10 staff.
• 1yr development for the whole system.
• Preparing for next challenges.
28. Thank you!
Have I mentioned that we are hiring?
Try this: hr@kkbox.com