I am a beginner trying to understand why do I or others need heroku or other cloud services for application development. I want to know for what sort of applications or scenarios, do we need heroku or similar services?
For example, if I am an application developer, I can write my application (windows or linux) on my machine, run and test it on my machine and then share it publicly on sourceforge.net or some other website for free or for some money. I mean all of us download and run applications and programs from all over the web e.g., notepad++ or skype. They come as binaries and we can install them on our machines easily. I want to know where Heroku or cloud comes into the picture and do I/we need it? and why?
Please let me know if you need more explanation.
Heroku and Other PaaS providers helps you in application deployment and gives hosting of your application and some other features like High availability, scaling, load balancing, monitoring and ready made environment to run your apps.
Now why they cost? PaaS providers runs your application on virtual instance and use some management and deployment tool in front of it to manage and monitor your application that taken care for you. Manging a server is not easy now a day for big application, you need a high level of expertise and enough time to monitor periodically(may be hours). If you go for free hosting, you will not get all these feature of PaaS. Again it's your choice. If you can't bear down time and any data lose, you should prefer PaaS else you can go for Free hosting.