So I've been talking to a potential client that is looking at doing an adult site, and I wanted to try and figure out what kind of operational costs (hosting) I'd be looking at... Is there anybody on here experienced with the kinds of costs (averaging) for streaming (per person).. I'm not asking for the whole "how much does it cost to host a super awesome popular site". It's more so if anybody has some sort of reference or details whether its by 250 average @ 480p, 100 @ 720p, 50 @ 1080p.. some sort of general idea. (bandwidth usage, general server load, I can do the math / cost estimate for the rest)
I've always handled smaller video hosting for clients, or anything larger would be on vimeo or youtube - but obviously this is different.
I can't really find any information on it.. so yeah, either on here or pm me and I can jump on Skype or something. I won't take up too much of your time, just some general guidelines or places to look would be great.
As for load, unlike usual hosting, video streaming is more about disk throughput than IOPS. CPU is also unimportant, as even lower end CPUs should be able to fill a full gigabit connection. Just stick to normal hard drives. If your throughput begins to surpass what you can handle with a single machine, a 2 layer reverse proxy caching model works well with one or two main machines for centralized storage works well. The first layer should use some intelligence to determine which node is caching a particular object, if any, and direct all corresponding requests there. The 2nd layer does the actual disk caching. Both layers can be on the same machines; you can just have the caching proxy layer run on different IP addresses or tcp ports. Lots of RAM can be useful, depending on the full size of the videos how often the most popular content should live in RAM cache. It's definitely worth looking into using a CDN, or rolling out your own, as your site gets bigger.
Costs will depend on bandwidth. You can get by with budget bandwidth for the most part, so long as you're not going too far around the world, and there are multiple transits so you can route around congested links. North America to Asia or Europe is fine; you just don't want to go all the way from Asia to Europe.
ASTUTE HOSTING: Advanced, customized, and scalable solutions with AS54527 Premium Canadian Optimized Network (Level3, PEER1, Shaw, Tinet) MicroServers.io: Enterprise Dedicated Hardware with IPMI at VPS-like Prices using AS63213 Affordable Bandwidth (Cogent, HE, Tinet) Dedicated Hosting, Colo, Bandwidth, and Fiber out of Vancouver, Seattle, LA, Toronto, NYC, and Miami
I'm assuming this is going to be a VOD (Video On Demand) application for this customer. There are two ways of really looking at this. One is CDN which may or may not be a good fit for you. CDN will give you excellent performance on a VOD standpoint however, the cost tend to destroy video delivery applications from a profitability stand point. However, that would be one of the easiest to implement.
The second option is to implement your own VDN environment. This can be done by having an edge/origin configuration. Essentially, doing VOD you have by it's nature an IOPs and storage problem. In order to do VOD you need a large storage footprint to store the videos which needs to be running on a RAID 10 SATA/SAS/SSD fabric depending on your exact mix of requirements. E.G. do you have a lot of videos TBs worth then your more about the storage size than the performance for the core. If you have a small volume of videos your more about the speed vs the size for the core and would be using SSD/SAS for the storage.
Regardless, you would setup a core which houses all the videos. Then you would implement an edge server that caching the most requested videos and on cache miss gets it from the core. This way you can continually grow your bandwidth out by just adding more edge servers and eventually if required multiple core servers.
I would suggest you take a look at Wowza it's basically the defacto standard for video streaming now for a price per performance metric.
Now on the bandwidth side your going to want to be on a 100TB type plan because all you truly care about is transfer. You want to be able to add more nodes to get more transfer without worrying about the uplink speeds. Video by it's very nature is Burst and almost nothing. Something is popular then it's not. So you need to be able to handle those bursts.
A typical stream for good video quality is around 1Mbps per second for HD. It can be upwards of 2Mbps if your pushing 1080p high quality. You need to worry about total simultaneous connections. EG. How many streams will you be providing at peak. A true 1Gbps will provide about 1k simultaneous connections in most use cases as your not always pushing 1Mbps especially if your doing HLS or something.
A true real life example is we had a client doing mobile streaming and he was pushing a full 1Gbps saturation on a box like this:
2 x QC
6 x 1TB HW RAID 10
Let me know if you have further questions.
PCLHS | SAS70 Datacenters in New Jersey/Texas 100TB Dedicated Servers • 1U - Full Cab Colocation • Complex Hosting • Horizontally Scalable Hosting • DR/HA Hosting • Public and Private Clouds • Web Farms • Innovative, Reliable, and Responsive Contact Us E: mark [at] pclhs.net | W: www.pclhs.net