Recentemente, eu estava pensando no filme “Wall Street” de 1987 e mais especificamente no personagem de Michael Douglas,
Sempre me lembrarei da citação de Gordon Gekko: “A mercadoria mais valiosa que conheço é a informação”.
Passados 35 anos, a afirmação de Gordon Gekko ainda é válida hoje — especialmente quando percebemos que “informação” pode ser definida de forma ampla. As informações podem ser dados reais que são de propriedade e altamente procurados, mas também podem ser vistas como algum diferencial que um inovador planeja trazer para o mercado.
O lado negativo da informação é que, quando ela se torna conhecida e totalmente consumida, ela se transforma em conhecimento comum e perde seu valor como mercadoria. É por isso que é importante que os inovadores aproveitem suas oportunidades o mais rápido possível - e antes que um concorrente os vença no mercado.
Tenho certeza de que Gordon Gekko concordaria com a conclusão de Benjamin Franklin de que “
Então, vamos explorar como uma startup pode lançar seu conceito em questão de horas em vez de dias.
Em minha publicação “ Spend Zero Time on DevOps with Render PaaS ”, fiz um test drive na plataforma Render e demonstrei a rapidez com que um aplicativo baseado em git pode ser implantado. Na verdade, se você quiser fazer uma pergunta ao meu serviço Magic 8-ball baseado em Go, basta iniciar isso.
Como acompanhamento, tive uma visão interna da plataforma Render e escrevi sobre ela em “ A nuvem perfeita: AWS, GCP e Azure all-in-one ”. O que encontrei foi um design sólido que oferece não apenas uma abordagem “Zero DevOps”, mas também uma plataforma baseada em nuvem que se adapta bem desde a fase de inicialização até acompanhar as implementações de produção bem-sucedidas, mantendo uma estrutura de custo justa.
Com as conclusões bem-sucedidas de meus artigos anteriores, sinto que o Render é uma solução ideal para validar o desafio de lançar uma ideia de startup em um dia.
Além disso, espero que os serviços prestados pela Render simplesmente funcionem e fiquem fora do caminho, permitindo que o foco permaneça em trazer uma nova ideia para o mercado.
Para tornar as coisas divertidas, suponha que nossa startup tenha uma ideia disruptiva no mercado com relação às compras online. Nossa ideia permite que alguém coloque produtos em seu carrinho de compras atual em um varejista on-line e, em seguida, use nosso plug-in de navegador para encontrar o melhor comerciante com base nas seguintes configurações:
Essas configurações são configuráveis como parte do plug-in, permitindo que o cliente decida o que é mais importante para ele.
Com o plug-in do navegador instalado, nossa ideia inicial permitiria que os consumidores começassem com um varejista que conhecessem e se concentrassem em encontrar os produtos que desejam primeiro. Com o carrinho pronto, o plug-in fará a análise necessária e construirá um carrinho para o melhor lojista, deixando para o cliente simplesmente finalizar a compra.
Como nossa ideia de inicialização é puramente fictícia, vamos supor que os repositórios de código necessários já existam:
Esses repositórios estão todos no GitLab, conforme mostrado aqui:
A ilustração simples abaixo demonstra a conectividade entre o navegador do cliente e os repositórios e componentes mencionados acima:
O cliente usará nosso plug-in de navegador para interagir com o carrinho de compras atual. Quando necessário, o plug-in fará as chamadas de serviço necessárias para as camadas de cliente (React) e de serviço (Go). Os dados de nossa solução residirão no banco de dados (PostgreSQL), com toda a comunicação necessária funcionando por meio da camada de serviço.
Do ponto de vista do DevOps, nossa startup tem vários objetivos:
Nossa esperança para o Render é que nem percebamos que ele está lá. Precisamos que o Render responda às nossas solicitações e instruções e, em seguida, produza os serviços esperados e os aplicativos do cliente.
Como a instalação do plug-in do navegador será acionada a partir do aplicativo React, precisamos focar apenas nos seguintes aspectos para esta publicação:**
Depois de entrar na minha conta do Render, chego ao Dashboard, onde posso ver meu serviço Magic 8-ball:
Em seguida, passo pelo processo de adição de um banco de dados, serviço de API RESTful e um aplicativo cliente.
Um novo banco de dados PostgreSQL pode ser adicionado à minha conta usando o botão Novo | Opção de menu do PostgreSQL :
Em seguida, forneci as informações básicas para nosso banco de dados de inicialização e cliquei no botão Criar banco de dados (não mostrado):
Em poucos segundos, o novo banco de dados PostgreSQL estava pronto para uso.
A Cadeia de Conexão Interna é computada automaticamente para componentes de nível de serviço e trabalhador em execução no ecossistema Render. O valor dessa propriedade oculta é formatado conforme mostrado abaixo:
postgres://admin_id:admin_password@hostname/database_name
Retornando ao Dashboard agora mostra a instância do PostgreSQL disponível para uso:
Para adicionar o serviço baseado em Go ao Render, seleciono o botão Novo | Opção de serviço web .
Como já tenho a integração do GitLab instalada com minha conta (descubra como fazer isso
Ao selecionar a opção startup-idea-service
, notei que o Render definia os padrões exatamente como esperado para meu serviço baseado em Go. Tudo o que eu precisava fazer era fornecer um nome (startup-idea-service), selecionar um plano (nível gratuito para esta publicação) e clicar no botão Create Web Service .
Em poucos segundos, nosso novo serviço foi criado e, alguns minutos depois, o serviço baseado em Go foi totalmente configurado.
Para a conectividade do PostgreSQL, usei a seção Environment para armazenar a referência necessária para a conectividade do banco de dados.
Isso varia de uma camada de serviço para outra, mas você pode ler mais sobre conectividade de banco de dados
Neste ponto, as camadas de serviço baseadas em PostgreSQL e Go aparecem no Painel:
Como estamos usando o React para nossa estrutura cliente, podemos configurar o uso de um site estático selecionando o Novo | Opção de site estático .
Semelhante à configuração do serviço, a lista de repositórios disponíveis foi exibida no GitLab, e tudo o que precisei fazer foi selecionar o repositório startup-idea-client:
Desta vez, simplesmente forneci o nome do site estático (startup-idea-client) e cliquei no botão Create Static Site .
Não havia necessidade de especificar uma camada aqui, pois não há cobrança por sites estáticos na plataforma Render.
O site estático foi criado em segundos e todas as dependências necessárias para o aplicativo React foram instaladas minutos depois. O aplicativo estático estava pronto para uso.
O Render Dashboard agora está completo com nossos níveis de cliente, serviço e banco de dados disponíveis.
Com o objetivo de lançar nossa ideia de startup em um dia, conseguimos realizar tudo em questão de minutos – nem mesmo horas! Aproveitar React, Go e PostgreSQL certamente ajudou a reduzir esse tempo, mas poderíamos ter selecionado qualquer uma das seguintes opções abaixo para obter resultados igualmente rápidos:
Para todo o resto, poderíamos apenas empregar o Docker e usar o contêiner resultante para interagir com a plataforma Render.
A melhor parte desse design é que a plataforma lida com todas as solicitações, respondendo automaticamente quando as confirmações são enviadas para a ramificação que está sendo observada pelo Render. Isso é importante quando as atualizações e necessidades de refatoração surgem durante o ciclo de vida do desenvolvimento e precisam ser disponibilizadas rapidamente.
Desde 2021, tento viver de acordo com a seguinte declaração de missão, que sinto que pode ser aplicada a qualquer profissional de TI:
Concentre seu tempo em fornecer recursos/funcionalidades que ampliem o valor de sua propriedade intelectual. Aproveite estruturas, produtos e serviços para todo o resto.
-J. Vester See More
Considerando a pequena quantidade de tempo necessária para colocar nossa ideia de inicialização em execução, fica claro o quanto a plataforma Render adere à minha declaração de missão pessoal. O fato de que esse mesmo ecossistema pode crescer com nossa startup à medida que a demanda por serviços aumenta – sem consequências de custo irracionais – solidifica ainda mais essa solução como líder com visão de futuro no espaço de entrega em nuvem.
Embora o foco deste artigo seja lançar rapidamente uma nova ideia de inicialização, a conclusão mais ampla é que o Render oferece aos clientes a capacidade de começar a trabalhar rapidamente e permite que o foco permaneça nas necessidades e prioridades de negócios que orientam as soluções. Com a promessa de Zero DevOps, esta solução elimina a preocupação com a entrega baseada em nuvem e fica fora do caminho da inovação do cliente.
Pensando em “Wall Street” e Gordon Gekko, sinto que esta citação também é verdadeira hoje: “ No meu livro, ou você faz certo ou é eliminado. ”
Usar a plataforma Render certamente se enquadra na categoria “faça certo”.
Tenha um ótimo dia!