O Render é um novo provedor de hospedagem web e de aplicativos, descrito pelo seu CEO como "o melhor dos dois mundos" comparando fornecedores em nuvem de larga escala, como a AWS, e provedores PaaS (Plataforma como Serviço), como a Heroku.
O Render ainda está construindo sua suite de serviços, mas já possui os requisitos fundamentais para rodar uma aplicação básica. Através do painel de controle, um desenvolvedor pode decidir que tipo de serviço deseja criar, sendo ele público ou privado. O painel está conectado a um repositório do GitHub, que fará as publicações das atualizações para o serviço toda vez que uma alteração de código for realizada no repositório. Não há a necessidade de criar pipelines apartados para build e deployment.
As linguagens suportadas são de script como Node e Python. Para os que quiserem rodar uma aplicação utilizando uma tecnologia diferente (Java ou .Net, por exemplo), o Render também provê suporte para rodar containers do Docker. Criar uma aplicação em Node.js linkada com um repositório GitHub é tão simples quanto "clicar em um botão" e pode estar disponível em 30 segundos
O modelo de precificação do Render é baseada no tempo de processamento do serviço. Isso varia de U$0 por mês para sites estáticos a U$100 por mês para serviços quad-core com 8GB de RAM. Existem custos adicionais dependendo da largura de banda também.
A InfoQ se encontrou com o CEO da Render, Anurag Goel, para conversar sobre esta novidade
InfoQ: Para aqueles que ainda não ouviram falar do Render, pode nos dizer o que o torna, e como ele é único?
Anurag Goel: Quando pensamos em hospedagem na nuvem, desenvolvedores têm que tradicionalmente escolher entre grandes provedores como AWS, que são complexos e requerem grande conhecimento dos devops, ou soluções de Paas (Plataforma como Serviço) como a Heroku, cujo custo é alto e não escalam bem conforme o aumento da complexidade da aplicação. O Render fornece a desenvolvedores e startups o melhor dos dois mundos: configuração instantânea e facilidade de uso, junto com o poder e a flexibilidade antes concedida apenas por provedores de nuvem DIY (faça você mesmo). Fazemos isso através de uma plataforma de hospedagem intuitiva que não requer conhecimento de servidores e infraestrutura, além de ser construído sobre poderosa tecnologia de conteinerização, que fornece flexibilidade, custos reduzidos e confiabilidade em escala.Isso torna o Render um provedor de nuvem mais fácil para desenvolvedores e startups hospedarem suas aplicações e websites, sem se preocupar com custo, escalabilidade ou a necessidade de times de devops.
InfoQ: Poderia nos descrever a tech stack sobre a qual o Render está construído?
Goel: O painel do controle foi construído com React e GraphQL; nossa infraestrutura de servidores utiliza Go, Docker e Kubernetes. Utilizamos PostgreSQL e Redis para armazenamento e caching e Let's Encrypt para gerenciamento de SSL. Construímos tudo para ser completamente interoperável em vários sistemas diferentes, para que possa facilmente rodar em nuvens públicas e data centers gerenciados, possibilitando que nossos usuários se beneficiem de uma plataforma distribuída, híbrida e resiliente.
InfoQ: O Render é direcionado a desenvolvedores e startups. Sua visão é que as startups continuem usando o Render conforme elas crescem ou quando se tornarem empresas mais maduras irão mudar para uma outra solução como AWS?
Goel: Nosso objetivo com Render é resolver o problema de 'graduação'; empresas acabam migrando de um provedor PaaS para um provedor de nuvem DIY como AWS conforme crescem devido a dois motivos principais: custo e falta de flexibilidade.
O Render resolve ambos os problemas: oferecemos significativamente mais valor do que as soluções de PaaS existentes, especialmente quando uma aplicação cresce. Por exemplo, se você precisa de 2GB de RAM para sua aplicação, na Heroku você vai acabar pagando U$250 por mês. Com o Render, você consegue fazer isso por U$15 por mês, o que é bem mais barato e muito mais parecido com o preço dos provedores DIY.
Estamos atacando o segundo problema (a falta de flexibilidade) projetando o Render para ser muito mais poderoso em comparação com plataformas tradicionais; um outro exemplo, se você quer rodar um serviço HTTP que não seja aberto na Internet mas seja acessível apenas por outros serviços na sua conta Render (como frontend APIs ou proxies), isto é impossível com o Heroku, e envolve muita configuração de rede e segurança em nuvens do tipo-AWS. No entanto, com o Render, a configuração é instantânea porque o gerenciamento de rede e a descoberta de serviços estão embutidas.
Na mesma linha de pensamento, usuários do Render logo terão acesso a usar armazenamento persistente; isso não é possível com plataformas do tipo-Heroku. Isso possibilitará nossos usuários rodar aplicações como Elasticsearch, Kafka e MySQL de maneira tão simples quanto quaisquer outros serviços no Render disponíveis atualmente.
Tudo isso vai em encontro a tornar o Render incrivelmente fácil para começar a utilizar mas também o melhor lugar para hospedar aplicações complexas com bom custo-benefício de maneira que usuários de Render nunca acabem mudando de plataforma.
InfoQ: Hoje em dia é comum que desenvolvedores monitorem seus serviços, incluindo uso de memória e CPU. Isso é algo que o Render fornece?
Goel: Usuários do Render atualmente já podem ver as estatísticas de uso de memória e CPU no painel de controle. Estamos planejando adicionar integrações nativas com soluções de monitoramento de terceiros como Datadog e New Relic.
InfoQ: Como os serviços são escalados e quais são as limitações de escalabilidade?
Goel: Os serviços podem ser escalados verticalmente e podem consumir até 512 GB RAM e 64 CPUs cada.
Nós iremos lançar um escalamento horizontal nas próximas semanas e os usuários do Render poderão configurar o número de instâncias que quiserem rodar para quaisquer serviços com o Render fazendo balanceamento de carga automático entre eles.
Ainda este ano, iremos habilitar escalonamento vertical e horizontal completamente automáticos baseados nos limites de CPU e memória configuradas pelo usuário.
Em uma nota, o valor do Render é sempre rateado por segundos; Portanto, se você executar uma instância que custa US $ 15 / mês por apenas 10 dias, pagará apenas US $ 5 por ela
InfoQ: Quão fácil ou possível é integrar ferramentas de terceiros, como por exemplo Prometheus ou Grafana?
Goel: Já utilizamos Prometheus na nossa infraestrutura para expor algumas métricas de aplicação para nossos usuários. Com discos persistentes (que serão lançados ainda este ano), será trivial rodar Prometheus, Grafana e outras ferramentas de terceiros no Render. Também planejamos publicar alguns guias e modelos para as ferramentas mais utilizadas para tornar ainda mais fácil utilizá-las na plataforma.
InfoQ: Parece que não existe nenhum mecanismo intrínseco de autenticação. Isto é algo planejado?
Goel: Tudo vai depender do feedback dos usuários. Estamos focando nossos esforços em oferecer a melhor plataforma de hospedagem e fazer poucas coisas extremamente bem feitas, ao invés de ter muitas features meia-boca como alguns grandes provedores de nuvem têm.
Para questões referentes a autenticação, provavelmente iremos preferir nos integrar com serviços otimizados como Okta e Auth0 ao invés de reinventar a roda e desperdiçar preciosa largura de banda de engenharia que pode ser utilizada na melhoria da nossa plataforma principal.
InfoQ: Finalmente, quais os seus SLAs?
Goel: Trabalhamos duro para atingir 100% do tempo sem quedas, mas sabemos que isso não é sempre possível. Estamos trabalhando para definir SLAs formais, os quais incluirão reembolsar usuários se falharmos em atingir nosso objetivo de SLA de 99.99%.
Mais informações sobre Render podem ser encontradas no site da empresa.