Building A Video Streaming App: A Review of LeaseWeb’s CDN
I’ve had an idea for a while to create a mobile app
that would enable people to easily find and view videos that are part of the
public domain. Many of these movies have a huge historical significance.
Of course because of the size of these movies a player
can’t download all the videos, but rather download them on demand or even
better: stream them smoothly.
The best way to accomplish this is use Apple’s HTTP
Live Streaming (HLS), which is automatically integrated into iOS’s video
playing APIs.
But where to host these files becomes the next
architectural issue to tackle when designing the end-to-end functionality of
such an application.
Scalability isn’t generally the first thing you think
about when you create a website or an application. However, if you are planning
for the future, or when you start to run into scalability issues, making sure that
your static content (images, videos, etc.) is served from a cache rather than a
server’s file system is essential to creating a set of happy users.
The obvious choice is to serve the videos from a super
fast Content Delivery Network (CDN) that is optimized for serving up videos.
LeaseWeb’s
CDN is exactly the kind of CDN
that I’d choose for this kind of application. LeaseWeb’s CDN has a number of
unique features that make it the right choice for any number of different CDN-based
solutions, but it has a special set of features that make it a particularly
good choice for building video-based applications.
One of those features is its superior bandwidth.
LeaseWeb CDN has capacity of 500 Gbps and growing, thanks to the placement of
what they call SuperPoPs
around the world (remarkable for a product that has been on the market for less
than a year).
Bandwidth is a more important measure for CDNs than
latency for large file distribution like video. Large and consistent bandwidth
can make (or break) the video viewing experience in an app or webpage. Buffering
during the middle of watching a video is a quick way to get customers to stop
using your app, give you bad reviews, or both.
LeaseWeb CDN’s superior network bandwidth, along with
its low latency due to edge server locations in Europe, US and Asia, makes it a perfect choice for global video-based
applications.
On top of the infrastructure, LeaseWeb also has a sophisticated HTML5-based CDN Control
Panel that takes away the complicated configurations that most Content Delivery
Networks have.
The CDN Control panel not only has a dashboard that
can show you your bandwidth usages in real time, as well as historical
information about your traffic, it also has all the functionality necessary to
completely manage your Pull and/or Push Zones. Your configuration can be fully
managed through this UI, but is also accessible via an easy to use API.
The CDN has support for static files (including
video), as well as support for HTTP Live Streaming, or
Video on Demand HLS.
Using a Pull Zone is an easy way to keep your content
on your servers, and allowing the CDN to push your content out to its edge
servers in its data centers around the world.
Because my video content is already hosted in
LeaseWeb’s data centers, this makes using LeaseWeb’s
Cloud Server for hosting my login and
other API functionality a natural choice.
Putting all of your content in one place, and having
that place not only take advantage of LeaseWeb’s fast virtualized compute
resources, but be able to take advantage of the fast connection between those
computer resources and the CDN make it the perfect pairing, especially for
dropping new video files, or processing on those files. Having my content and
my cloud-based server functionality all in one place means that functionality
will be as fast as possible.
Learn more about LeaseWeb: http://www.leaseweb.com/en/
Disclosure
of Material Connection: I received one or more of the products or services
mentioned above for free in the hope that I would mention it on my blog.
Regardless, I only recommend products or services I use personally and believe
my readers will enjoy. I am disclosing this in accordance with the Federal
Trade Commission’s 16 CFR, Part 255: "Guides Concerning the Use of
Endorsements and Testimonials in Advertising."