Thanks for the creating the content! It’s really useful.
I believe the answer of challenge 1 is not feasible and doesn’t make sense with the real world use case. The pc game maker company would like to reach every PC gamer in order to introduce the game however not every PC gamer has bittorrent client installed on their PC. So from my perspective the best practice should be using the cheapest S3 solution (Infrequent access) and distribute it accordingly.
So from the business aspect (including AWS) my answer still goes with option C. 🙂
Again thanks for the great content!
C option is not correct . Infrequent access specially designed for long-term storage, backups, and as a data store for disaster recovery files. To retrieve data (download game from S3 Infrequent access) will cost more than from S3 Standard. Meanwhile company wants to build cost effective solution and waiting for large number of downloads.
You did not understand option D. It says Build a small application CONTAINING a BitTorrent client. It’s a game installer. I saw a lot of games with that kind of installation. You download small installer, let’s say 5 MB and run it. Installer will download and install the game and definitely for large amount of data BitTorrent protocol much more efficient than FTP or HTTP.
I clearly understood the option D. Considering PC game developers using steam, origin, uplay, battle.net, epic games etc. platforms to publish their products I have never seen any game installer published on bittorrent and downloaded using the protocol. Maybe you can give an example game name released on bittorrent? Because I really would like to learn the name of the company and what’s their success rate?
Additionally even if you download 5M installer via Bittorrent, the rest of the game files will be downloaded via FTP/HTTP protocol. Again considering AWS best practices it should be the cheapest S3 solution.
Please read again! Build a small application CONTAINING a BitTorrent client. You will download game installer via HTTP which contains a BitTorrent client. Using BitTorrent you will minimize S3 request cost and move traffic outside of your environment.
S3 Infrequent access is not a right solution. If you wan to place game files on S3 storage available for downloads you will chose S3 Standard. "Infrequent access" is a trigger in that option that makes the answer not correct.
As I asked previously can you please provide a PC game installer name which has Bittorrent client bundled? Secondly, why customer should let P2P network connection in order to download rest of the game modules. It’s a security vulnerability. From my point of view this solution is not appropriate for this customer case.
World of Warcraft distributes patches to its 8.5 million subscribers using the BitTorrent system.
Windows 10 To Use BitTorrent-Style P2P To Deliver Updates
Thanks for the example. However it’s not correct for both Blizzard and Microsoft. P2P connection to Fortune Global 500 company server vs to an unknow P2P source on the bittorrent are not the same in security perspective.
Please see the response from Blizzard technical team about the inquiry below.
It uses a Bittorrent-like downloader system not Bit Torrent.
The distinction is important as while it uses a torrent like system for downloading and torrent ports, you can’t actually use a Bit Torrent client to download the patch files with (*1).
It has a hybrid one using both http downloading and peer to peer downloading using a torrent file and tracker. But AFAIK the bit torrent file it uses can’t be modified to run in a bit torrent client. They changed that when the streaming launcher hit.
If you turn off Peer to Peer downloading it should download solely using a http download from Blizzard’s akamai streaming download servers.
But there’s an even quicker way of patching. Find a buddy who is already completely downloaded World of Warcraft and copy their Data folder over your one. Then go in the wow folder and delete wow.mfil , wow.tfil and the launcher.wtf file in the WTF folder.
(*1) = That is off the Blizzard download servers using a blizzard provided torrent file.
Bringing you walls of text and cookies since 2005 🙂
Mac Tech Support MVP (moonlights in other forums)
Here to Help 🙂
I tried to explain you why answer D is correct and answer C is incorrect.
For exam you need to know that Amazon S3 supports the BitTorrent protocol so that developers can save costs when distributing content at high scale.
I think the missing link here is understanding that BitTorrent is a protocol like TCP or UDP (not just a piece of software for downloading movies). You appear to be conflating the protocol with a BitTorrent client which is creating the confusion.
* As S3 supports the BitTorrent protocol it would serve as the original seed of the file.
* The PC Game developers create a launcher application that supports the BitTorrent protocol. (This is what Blizzard support describes above)
* The launcher can retrieve files from both its peers and the S3 bucket, reducing S3 costs.
As a side note S3-IA would be significantly more expensive than regular S3 for this use case as the files would be frequently accessed, so this is definitely not the answer.
I am hoping this cleared things up for you, let me know if it didn’t.
Thank you for the explanation. I didn’t pay attention to "the company expects huge demand in the first days" part in the question. S3 standard makes sense there rather than using S3 IA in the pricing context.
While I agreed with him on D being best and B being worst, I didn’t agree on A being second and C being third. EBS + EC2 + Bandwidth might end up being more expensive than S3 with infrequent access class which has higher durability, availability and scalability. Again, C is not the best option, but I think it is better than A.
Anyone agree or disagree with this order? (D,C,A,B)