{"action":"created","issue":{"url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/6","repository_url":"https://api.github.com/repos/yesodweb/yesod-cookbook","labels_url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/6/comments","events_url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/6/events","html_url":"https://github.com/yesodweb/yesod-cookbook/issues/6","id":133893938,"number":6,"title":"Can yesod handle a massive commercial site?","user":{"login":"JohnReedLOL","id":5510392,"avatar_url":"https://avatars.githubusercontent.com/u/5510392?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnReedLOL","html_url":"https://github.com/JohnReedLOL","followers_url":"https://api.github.com/users/JohnReedLOL/followers","following_url":"https://api.github.com/users/JohnReedLOL/following{/other_user}","gists_url":"https://api.github.com/users/JohnReedLOL/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnReedLOL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnReedLOL/subscriptions","organizations_url":"https://api.github.com/users/JohnReedLOL/orgs","repos_url":"https://api.github.com/users/JohnReedLOL/repos","events_url":"https://api.github.com/users/JohnReedLOL/events{/privacy}","received_events_url":"https://api.github.com/users/JohnReedLOL/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-16T06:06:22Z","updated_at":"2016-02-17T00:25:44Z","closed_at":null,"body":"Dear yesod,\r\n\r\nI was wondering if you could handle a massive commercial website. \r\n\r\nSoundCloud and AirBnB use Rails, Bitbucket was built with Djengo, LinkedIn uses Play framework, PayPal uses Node.js. Seeing big companies use a framework is very reassuring, but what was built with yesod? http://lambdacms.org/ ? That's hardly an enterprise grade application on the order of PayPal, AirBnB, or SoundCloud.\r\n\r\nIs yesod fit to handle a website like SoundCloud or PayPal? \r\n\r\nOn that note, can I deploy yesod in such a way that it can expand quickly and automatically to withstand huge, unexpected onslaughts of traffic? I'm talking from a few thousand users streaming content and interacting with the server to hundreds of thousands of users and then back down to a few thousand in a matter of hours?\r\n\r\np.s. I don't care that much about performance because IO is the bottleneck, I care about scalability."},"comment":{"url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/comments/184939283","html_url":"https://github.com/yesodweb/yesod-cookbook/issues/6#issuecomment-184939283","issue_url":"https://api.github.com/repos/yesodweb/yesod-cookbook/issues/6","id":184939283,"user":{"login":"erikd","id":307277,"avatar_url":"https://avatars.githubusercontent.com/u/307277?v=3","gravatar_id":"","url":"https://api.github.com/users/erikd","html_url":"https://github.com/erikd","followers_url":"https://api.github.com/users/erikd/followers","following_url":"https://api.github.com/users/erikd/following{/other_user}","gists_url":"https://api.github.com/users/erikd/gists{/gist_id}","starred_url":"https://api.github.com/users/erikd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erikd/subscriptions","organizations_url":"https://api.github.com/users/erikd/orgs","repos_url":"https://api.github.com/users/erikd/repos","events_url":"https://api.github.com/users/erikd/events{/privacy}","received_events_url":"https://api.github.com/users/erikd/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T00:25:44Z","updated_at":"2016-02-17T00:25:44Z","body":"I have not done anything that is anywhere near the size of SoundCloud or PayPal.\r\n\r\nI have however done a large internal webapp at work that collects data from elsewhere for display as well as retrieval via a JSON API. There are a couple of bots written in Python and Ruby that hammer on this API. Even when being hammered by a number of bots simultaneously, the Yesod webapp can provide data to the clients faster than the clients can process it.\r\n\r\nIn general, a real world Yesod webapp will handle a much higher load than a webapp written in Python or Ruby, mainly because Haskell's concurrency story is so much stronger that either Python or Ruby. Yesod makes full use of the concurrency provided by Haskell's RTS (Run Time System).\r\n\r\nAFAIAC, a few thousand users streaming audio is a relatively small load. MY guesstimate is that would be easily handled by a machine with 4 cores.\r\n"}}