O que exatamente é Heroku?
Comecei a aprender Ruby nos trilhos e fiquei imaginando o que o Heroku realmente é? Eu sei que é uma nuvem que nos ajuda a evitar o uso de servidores? Quando nós realmente o usamos?
— user1452803
Nos termos mais simples: Heroku permite implantar aplicativos da Web, empurrando seu código para o repositório. Heroku lida com tudo para você.
Posso usá-lo para implantação de back-end de aplicativos móveis? suporta mongoDb?
Heroku é uma plataforma em nuvem como um serviço. Isso significa que você não precisa se preocupar com infraestrutura; você apenas se concentra na sua aplicação.
Além do que Jonny disse , existem alguns recursos do Heroku:
Implantação instantânea com push Git - a construção do seu aplicativo é realizada pelo Heroku usando seus scripts de construção
Muitos recursos adicionais (aplicativos, bancos de dados etc.)
Escala de processos - escala independente para cada componente do seu aplicativo sem afetar a funcionalidade e o desempenho
Isolamento - cada processo (também conhecido como dinamômetro) é completamente isolado um do outro
Log e visibilidade completos - acesso fácil a todos os resultados de log de todos os componentes do seu aplicativo e de cada processo (dinamismo)
Heroku fornece um tutorial muito bem escrito, que permite iniciar em minutos. Eles também fornecem as primeiras 750 horas de computação gratuitamente, o que significa que você pode ter um processo (também conhecido como Dyno) sem nenhum custo. Além disso, o desempenho é muito bom, por exemplo, um aplicativo Web simples escrito em node.js pode lidar com cerca de 60 a 70 solicitações por segundo.
Os concorrentes da Heroku são:
OpenShift da Red Hat
Serviços em nuvem HP
+1 por mencionar também que existem outros serviços como alternativas.
Eu só quero saber qual é a diferença entre executar um aplicativo rails no localhost / apache webserver para executar o aplicativo no heroku?
Para mim, apenas ler a lista de concorrentes me deu uma compreensão do que o Heroku pode ser.
— Código Poet
A lista de concorrentes é um pouco enganadora. A maioria dos "concorrentes" da lista está oferecendo infraestrutura de nuvem como serviço, enquanto a Heroku está vendendo seu gerenciamento da infraestrutura de nuvem como serviço. O próprio Heroku é um cliente da AWS; quando você envia para o Heroku, seu aplicativo fica nas instâncias da AWS. Dizer que eles são concorrentes é como dizer que um organizador de casamentos está competindo com salas de banquetes.
— Adelmar
dzone.com/articles/…
— Kyle Bridenstine 16/17
É uma solução de servidor escalável e baseada em nuvem que permite gerenciar facilmente a implantação de seus aplicativos Rails (ou outros), desde que você assine uma série de convenções (por exemplo, o Postgres como banco de dados, sem gravar no sistema de arquivos).
Assim, você pode escalar facilmente conforme o aplicativo cresce, melhorando o banco de dados e aumentando o número de dynos (instâncias do Rails) e trabalhadores.
Isso não ajuda a evitar o uso de servidores, você precisará de algum entendimento do gerenciamento de servidores para depurar efetivamente problemas com sua combinação de plataforma / aplicativo. No entanto, embora seja relativamente caro (por exemplo, quando comparado ao aluguel de uma fatia no Slicehost ou algo assim), existe uma conta gratuita e é uma troca difícil entre se é mais econômico pagar alguém para criar sua própria solução ou usar a despesa extra.
Heroku fornece basicamente espaço na web para fazer upload de seu aplicativo
Se você estiver carregando um aplicativo Rails, poderá seguir este tutorial https://github.com/mrkushjain/herokuapp
— Kush Jain
descaradamente promovendo seu Github agora, não é?
A meu ver, é um serviço de hospedagem na web administrada e escalável, pronto para crescer em qualquer sentido, para que você não precise se preocupar com isso.
Não é útil para um aplicativo da web PHP normal, porque há muitos serviços de hospedagem com ftp por lá para uma web simples, sem necessidade de escalabilidade, mas se você precisar de algo maior Heroku ou algo semelhante, é o que você precisa.
Ele é exposto como um serviço por meio de uma ferramenta de linha de comando, para que você possa escrever scripts para automatizar suas implantações. De qualquer forma, é bastante semelhante a outros serviços de hospedagem com o Git ativado, mas o Heroku simplifica.
É isso, simplificar as coisas da administração para você, para economizar tempo. Mas não tenho certeza, pois estou apenas começando!
Uma boa introdução de como funciona na documentação oficial é:
Por DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup
O Heroku é um produto de plataforma como serviço (PaaS) baseado na AWS e é muito diferente do Elastic Compute Cloud. É muito importante diferenciar as soluções 'Infraestrutura como serviço' e 'Plataforma como serviço', pois consideramos implantar e dar suporte ao nosso aplicativo usando essas duas soluções.
O Heroku é muito mais simples de usar que o AWS Elastic Compute Cloud. Talvez seja até simples demais. Mas há uma boa razão para essa simplicidade. A plataforma Heroku nos equipa um ambiente de tempo de execução e servidores de aplicativos prontos. Além disso, nos beneficiamos da integração perfeita com vários instrumentos de desenvolvimento, um sistema operacional pré-instalado e servidores redundantes.
Portanto, com o Heroku, não precisamos pensar em gerenciamento de infraestrutura, ao contrário do AWS EC2. Só precisamos escolher um plano de assinatura e alterar nosso plano quando necessário.
Esse artigo faz um bom trabalho explicando as diferenças entre o Heroku e a AWS, mas parece que você pode escolher outros fornecedores de iaas (infraestrutura) que não sejam a AWS. Portanto, o Heroku parece simplificar o processo de usar um provedor de nuvem, mas a um custo.