# GitHub + Heroku + Trello + Slack
## História
### Heroku

Hoje o serviço é propriedade da Salesforce.com e foi uma das primeiras ferramentas de computação em nuvem do estilo PaaS(Plataform as a Service), que vem sendo desenvolvida desde 2007. Inicialmente foi fundada para suportar apenas servidores em Ruby, porém vem evoluindo e já suporta diversas linguagens como ilustrado na imagem abaixo:
O sistema operacional do Heroku é Debian-based Ubuntu e. O serviço vem pré configurado em uma "Dyno" com 4 cores e 512mb de ram sem swap file suporte a persistência de arquivos, porém, permite com muita facilidade, configurar o ambiente com outros recursos, serviços e addons.
Um dos arquitetos chefes do Heroku foi o criador do Ruby-programming-language.

### Slack

O Slack foi co-fundado por Stewart Butterfield, Eric Costello, Cal Henderson, e Serguei Mourachov. E no seu início, era uma ferramenta interna utilizada na empresa, Tiny Speck, no desenvolvimento de um jogo chamado Glitch. Que ao passar dos anos se tornou uma das mais poderosas ferramentas de colaboração de equipes baseado na nuvem.
O Slack, que é sediado em San Francisco, oferece um serviço de troca de mensagens, destinado a ajudar as equipes de empresas ou times em geral, a colaborarem e se comunicarem de forma mais rápida e eficaz. Ele fornece aplicativos móveis para iOS, Android e Windows Phone (beta), além de seu cliente do navegador web e clientes de desktop nativo para Mac OS X, Windows e Linux (beta). O Slack também já está disponível para o relógio da Apple, AppleWatch e foi destaque na tela inicial do relógio da Apple em um vídeo promocional.
Em agosto de 2013, o Slack foi lançado, e 8.000 clientes se inscreveram para o serviço dentro de 24 horas. Em fevereiro de 2015, o Slack possuía a taxa de inscrição de 10.000 novos usuários ativos por dia. Em abril, desse mesmo ano, esses números haviam crescido para um total de 750.000 usuários ativos por dia. E hoje conta com mais de 2,7 milhões de usuários ativos diariamente, dentre eles, 800 mil utilizam o serviço pago. O sucesso é tão grande que diversas empresas já firmaram parcerias oficias com a empresa, dentre elas estão companhias de tecnologia, como Samsung e Salesforce, e até mesmo o governo dos Estados Unidos.

## Preços
### Heroku

Existem vários planos separados por tipos de serviços e são pagos separadamente.

#### Dynos

Dynos são containers onde suas aplicação irá rodar, cada aplicação é processada em um Dynos, que é uma espécie de máquina virtual.
| Versão | Free | Hobby | Standard | Performance |
| | Dorme após 30 minutos de inatividade | Todas as funcionalidades free | Todas as funcionalidades hobby | Todas as funcionalidades standard |
| | Precisa dormir no mínimo 6h a cda 24h | Nunca dorme | Escalável horizontalmente | Servidor dedicado |
| | Domínios customizados | Vários workers | Métricas e Análises das aplicações | |
| | Domínios customizados | Vários workers | Builds mais rápidas | |
| | Domínios customizados | Vários workers | Preboot( Garante que o antigo dyno só vai ser desligado após desocupado e quando o novo dyno estiver ligado) | |
| Processos | 1 web e 1 worker | 10 tipos de processos | Infinitos | Infinitos |
| Ram | 512mb | 512mb | 512mb á 1gb | 2.45gb á 14gb |
| Preço | 0$ | 7$ por dyno/mensal | de 20$ á 500$ por dyno/mensal | de 20$ á 500$ por dyno/mensal |

#### Postgree

É o serviço de banco de dados relacional do heroku como limitações de recursos e número de registros de acordo com o plano.
| Versão | Hobby | Standard | Premium |
| | Dataclips (Criar relatórios e backups de dados) | Proteção contínua | Funcionalidades Standard |
| | Dataclips (Criar relatórios e backups de dados) | Análise de performance | REST encriptado |
| | Dataclips (Criar relatórios e backups de dados) | Fork/ Follow | REST encriptado |
| | Dataclips (Criar relatórios e backups de dados) | 1 hora de reversões | 1 semana de reversões |
| | Máximo de 4h offline por mês | Máximo de 1 hora offline por mês | Máximo de 15 minutos offilne por mês |
| Linhas | Limite free de 10mil linhas | Infinitos | Infinitos |
| Preço | de 0$ á 9$ | de $50 á $3500 | de $200 á $6000 |

#### Redis

O Redis é uma solução de armazenamento de dados Chave-Valor de alta performance.
| Versão | Hobby | Premium |
| | Acesso via heroku command line | Todas as funcionalidades hobby |
| | Análises de performance | Alta disponibilidade com internets de baixa latência |
| | Métricas dos logs | Escalabilidade de recursos |
| Infraestrutura | 25mb RAM, 20 Connexões | Infinitos |
| Preço | 0$ | de $15 á $1450 |
Fora esses planos o Heroku conta com vários addons que podem ser gratuitos ou pagos, dependendo da necessidade do desenvolvedor.
Os precos atualizados se encontram no link: https://www.heroku.com/pricing

### Slack

O Slack possui 4 tipos de planos, Free, Standard, Plus e Enterprise.
Os planos Free e Standard tem suas funcionalidades principais descritas abaixo, os Plus e Enterprise estão no link: https://slack.com/pricing
* Free
* Pesquisar e navegar nas últimas 10000 mensagens recentes.
* Até 10 integrações de outros serviços
* Aplicativos nativos grátis para iOS, Android, Mac e Windows Desktop
* Suporte a multi-equipe (Sem limite para número de usuários no time)
* Suporte a chamadas 1:1 (beta)
* Standard
* Pesquisar e navegar em todas as mensagens recentes.
* Integrações de outros serviços ilimitadas.
* Políticas de retenção personalizada
* Acesso para convidados (usuário que não seja do time)
* Suporte prioritário
* Autenticação Google (OAuth) / Google Apps for Domains sign-on
* Serviço de e-mail configurável
* Autenticação de dois fatores obrigatória
* Grupos de usuários
* Suporte a chamadas de grupo (beta)

## Configurando os serviços
### Heroku

Pré requisitos de ambiente:
* Conta no Heroku
* Ambiente Rails configurado
* Vamos criar um repositório e uma novo app rails
* Vamos criar um repositório remoto no Heroku
* Vamos adicionar as gemas necessárias para sua aplicação funcionar no heroku em produção
* Verifique no seu Gemfile se o sqlite está apenas em development, e se as outras gemas adicionadas estão no arquivo.
** Essas gemas devem estar no fim do arquivo
** Essa gema deve estar no grupo development, porque o heroku usa apenas postgresql
* Vamos instalar as gemas
* Vamos subir o repositório local para o remoto no heroku
** Tudo ok
* Sua aplicação já está em nuvem, vamos abri-la
** Nós não configuramos uma home page, o erro significa que deu certo.
* Verifique os logs e veja que tem um erro de rotas para a homepage.
* Abra o console remoto com acesso direto a aplicação.

### Slack

Pré requisitos de ambiente:
* Conta no Slack
* Ser participante de um time no Slack.
* Estar logado no time na plataforma web.
1.Clique no nome do seu time para abrir um menu, e selecione a opção "Apps & Integrations":
2. Você será redirecionado a uma página web onde contém todos os aplicativos e integrações disponíveis para o Slack. Procure por "GitHub"
3. Ao clicar em GitHub irá abrir uma página explicando de que forma ocorre a integração, e seu time estará disponível para instalar! clique em "Install" 4. Selecione o canal em que deseja realizar a integração e clique em "Add GitHub Integration".
5. A partir daqui é necessário autenticar-se no GitHub, basta clicar em "Authenticate your GitHub account".
6. A página do github será acessada, para permitir o acesso aos repositórios. Clique em "Authorize Application"
7. Então você poderá realizar várias configurações acerca da integração, como: qual repositório será observado, qual branch do repositório, se os commits vão ser observados, push. Com tudo configurado a sua escolha clique em "Save Integration".
8. Terminados os passos a integração está pronta para ser usada, e as notificações ide commits e push chegam automaticamente no canal do time.