What exactly is Heroku?

Heroku

Heroku Problem Overview


I just started learning Ruby on rails and I was wondering what Heroku really is? I know that its a cloud that helps us to avoid using servers? When do we actually use it?

Heroku Solutions


Solution 1 - Heroku

Heroku is a cloud platform as a service. That means you do not have to worry about infrastructure; you just focus on your application.

In addition to what Jonny said, there are a few features of Heroku:

  • Instant Deployment with Git push - build of your application is performed by Heroku using your build scripts
  • Plenty of Add-on resources (applications, databases etc.)
  • Processes scaling - independent scaling for each component of your app without affecting functionality and performance
  • Isolation - each process (aka dyno) is completely isolated from each other
  • Full Logging and Visibility - easy access to all logging output from every component of your app and each process (dyno)

Heroku provides very well written tutorial which allows you to start in minutes. Also they provide first 750 computation hours free of charge which means you can have one processes (aka Dyno) at no cost. Also performance is very good e.g. simple web application written in node.js can handle around 60 - 70 requests per second.

Heroku competitors are:

Solution 2 - Heroku

It's a cloud-based, scalable server solution that allows you to easily manage the deployment of your Rails (or other) applications provided you subscribe to a number of conventions (e.g. Postgres as the database, no writing to the filesystem).

Thus you can easily scale as your application grows by bettering your database and increasing the number of dynos (Rails instances) and workers.

It doesn't help you avoid using servers, you will need some understanding of server management to effectively debug problems with your platform/app combination. However, while it is comparatively expensive (i.e. per instance when compared to renting a slice on Slicehost or something), there is a free account and it's a rough trade off between whether it's more cost effective to pay someone to build your own solution or take the extra expense.

Solution 3 - Heroku

Heroku Basically provides with webspace to upload your app

If you are uploading a Rails app then you can follow this tutorial https://github.com/mrkushjain/herokuapp

Solution 4 - Heroku

As I see it, it is a scalable administrated web hosting service, ready to grow in any sense so you don't have to worry about it.

It's not useful for a normal PHP web application, because there are plenty of web hosting services with ftp over there for a simple web without scalability needs, but if you need something bigger Heroku or something similar is what you need.

It is exposed as a service via a command line tool so you can write scripts to automate your deployments. Anyway it is pretty similar to other web hosting services with Git enabled, but Heroku makes it simpler.

That's its thing, to make the administration stuff simpler to you, so it saves you time. But I'm not sure, as I'm just starting with it!

A nice introduction of how it works in the official documentation is:

https://devcenter.heroku.com/articles/how-heroku-works

Solution 5 - Heroku

Per DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

> Heroku is a Platform as a Service (PaaS) product based on AWS, and is vastly different from Elastic Compute Cloud. It’s very important to differentiate ‘Infrastructure as a Service’ and ‘Platform as a Service’ solutions as we consider deploying and supporting our application using these two solutions. > > Heroku is way simpler to use than AWS Elastic Compute Cloud. Perhaps it’s even too simple. But there’s a good reason for this simplicity. The Heroku platform equips us with a ready runtime environment and application servers. Plus, we benefit from seamless integration with various development instruments, a pre-installed operating system, and redundant servers. > > Therefore, with Heroku, we don’t need to think about infrastructure management, unlike with AWS EC2. We only need to choose a subscription plan and change our plan when necessary.

That article does a good job explaining the differences between Heroku and AWS but it looks like you can choose other iaas (infrastructure) providers other than AWS. So ultimately Heroku seems to just simplify the process of using a cloud provider but at a cost.

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1452803View Question on Stackoverflow
Solution 1 - HerokuTomView Answer on Stackoverflow
Solution 2 - HerokuJohn HView Answer on Stackoverflow
Solution 3 - HerokuKush JainView Answer on Stackoverflow
Solution 4 - HerokuR01010010View Answer on Stackoverflow
Solution 5 - HerokuKyle BridenstineView Answer on Stackoverflow