Results 1 to 3 of 3

Thread: Scaling an application on Wowza vs. Adobe with a CDN

  1. #1
    Join Date
    May 2013

    Question Scaling an application on Wowza vs. Adobe with a CDN

    I am in the process of planing the backend for our application.

    We want users to be able to use our application to start an arbitrary stream (only audio for now) and publish it to an arbitrary audience. There may be 10 listeners then possibly grow to thousands in a short amount of time (in a matter of minutes, worst case). We will likely know ahead of time if the audience will be large. But not always.

    As far as scaling, I see two options if we use Wowza:

    (1) Use a CDN: From the start, I think we will save a lot of time using a CDN. Akamai is a black box of expense and commitment and Amazon Cloudfront seems straightforward and we can predict costs. The problem is...Cloudfront doesn't seem to be supported by Wowza. Granted, Wowza makes money the more severs that are online....I wonder if forking the load to a CDN isn't in their interests...but then again, they do support other CDNs. I digress.

    QUESTION 1: Is cloudfront completely off the table having wowza as an origin server for RTMP? Is this true for HTTPLS (Cupertino) streams even though they are pure HTTP delivery? I don't want to have to use Adobe Media Server, but I might have to :-(

    (2) Our other option is to keep the application in EC2 and spin up/down wowza orgin/edge servers based on demand. This could be great for trickle demand, but does the audience have to wait for a few minutes while the boxes are booting up? I think the Wowza origin/edge system would work well if we had a single event stream, but does anyone have experience or advice implementing this for an arbitrary number of streams? Should some backend script be written to handle it all?

    QUESTION 2: Does the wowza-based origin/edge addon work quickly for an arbitrary number of streams going to an arbitrary audience?

    and finally,

    QUESTION 3: On the topic of arbitrary streams, is there a simpler token-based or large random string method for protecting a stream? I was thinking that a stream is given a 40 character random ID. The publisher then attempts to connect to an origin via rtmp://[BIG-STRING]. Then the wowza origin server would check that ID is valid then allow the publish or listen connection to go through. Maybe thats for a another forum topic.

    Thanks for reading and thanks for your help

  2. #2



    1) Wowza is in the process of working with the Amazon CloudFront team on supporting Wowza + CloudFront deployments, but we do not support this yet nor have any documentation available at this time. Please send a request to if you would like more information.

    2) New EC2 instances can be spun up fairly quickly. Standard instances based on Instance Store images take 2 - 3 minutes to spin up where as custom instances based on ebs images can be created and then left turned off. These can be turned on very quickly. Different people have different approaches but most will use a custom startup configuration that configures the instance and connects it to the load balancer. An external script can be used to monitor the load on the pool and start & stop instances as required. Also, to reduce the startup time, you could have a hot spare running that could be put into the pool at any time. When this is used, a new hot spare is spun up.

    3) You would need a custom Wowza module but this could be done. You would override the publish command on the server to check the incoming stream and use the IStreamNameAliasProvider2 interface as the point on the server to check the playback streams.

    See these articles for examples on overriding the publish command.

    For the IMediaStreamNAmeAliasProvider2 interface, see these articles. Complete working example with source code.


  3. #3
    Join Date
    May 2013


    Thanks Roger, the publish override and IMediaStreamName... is just what I was looking for.

    I do wish cloudfront were supported. Ill see about contacting support. I hope we can use it in production and not have to mess with origin/edge insstances too much

    Thanks again

Similar Threads

  1. Replies: 1
    Last Post: 02-18-2014, 02:29 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts