Conceitos

Conceitos

Equipe, servidor, aplicação, processos, add-ons e ambientes — e como tudo se encaixa.

Um mapa rápido dos termos que você vai encontrar no painel e nesta documentação.

Equipe

Tudo pertence a uma equipe: seus servidores, aplicações, bancos de dados, credenciais de nuvem e histórico. Cada membro tem um papel (leitor, deployer, admin, proprietário). Veja Equipes, SSO e acesso.

Servidor

Um servidor é uma máquina onde suas aplicações rodam. O Railyard pode criar um na sua própria conta DigitalOcean, Vultr, Hetzner, AWS ou OVH, ou você pode conectar qualquer máquina Ubuntu via SSH. De qualquer forma, o servidor é seu e o Railyard instala o Docker, um proxy de roteamento e um agente leve que recebe instruções do control plane e roda seus containers. O servidor é seu e seu provedor cobra diretamente de você. Veja Adicione um servidor.

Um servidor também pode ser dedicado a uma única função: um servidor de build para builds pesados, ou um servidor de banco de dados que só guarda dados. Veja Servidores de banco de dados.

Aplicação

Uma aplicação é uma unidade que pode ser implantada: um repositório, uma imagem Docker, um site estático ou uma function. Cole a URL de um repositório ou escolha uma imagem, e o Railyard lê o conteúdo para preencher o framework, a porta, os processos e as variáveis. Veja Fazer deploy a partir de um repositório e Fazer deploy de uma imagem Docker.

Processos

Uma aplicação pode rodar vários processos a partir da mesma imagem:

  • web — responde ao tráfego HTTP, na porta em que sua aplicação escuta.
  • workers — executam jobs em segundo plano (Sidekiq, Solid Queue, Celery…), escalados de forma independente do web.
  • comando de release — roda uma vez antes de a nova versão receber tráfego, normalmente para migrations.
  • cron — um comando executado em um horário programado, com histórico de execuções.

Veja Workers e jobs agendados.

Add-ons e bancos de dados

Postgres, MySQL, Redis, MongoDB, ClickHouse, Elasticsearch e outros podem ser provisionados em um servidor, com as credenciais injetadas na aplicação automaticamente. Veja Bancos de dados e backups.

Ambientes

Um projeto agrupa aplicações relacionadas. Um ambiente (produção, staging…) é uma cópia completa de um projeto, criada a partir do Canvas. Um preview de pull request é uma cópia temporária de uma aplicação para um PR aberto, removida quando o PR é fechado. Veja Ambientes e previews.

Deploys e releases

Um deploy builda (ou baixa) uma imagem, executa o comando de release e então troca o tráfego para a nova versão assim que ela estiver saudável. Todo deploy bem-sucedido se torna uma release para a qual você pode fazer rollback. Veja Deploys e rollbacks.

Domínios

Toda aplicação já nasce com uma URL funcionando; adicione seu próprio domínio com verificação de propriedade e certificado automático. Veja Domínios e HTTPS.