Paulo Henrique Rodrigues Pinheiro

Um blog sobre programação para programadores!


Na nuvem e de graça

Como empreender com projetos web na nuvem, sem custos com infraestrutura. Veja algumas sugestões de recursos gratuitos para empreender na WEB.

Jon Sullivan, "Clouds and Building"

Desenvolvendo projetos WEB

Uma grande mudança no mundo da informática abre grandes possibilidades para empreendedores. Processamento e armazenamento cada vez mais baratos nas grandes instalações, e cada vez mais caros em pequenas instalações.

Configurar, administrar e atualizar servidores são tarefas cada vez mais caras e complexas, que exigem grande conhecimento em cada área. Sabemos que instalações gigantescas pulverizam custos, que podem ser repassados a clientes cada vez mais exigentes.

Sistemas migraram do desktop para a web local com novos sistemas mantidos internamente ou por terceiros. Equipes internas ou terceirizadas trabalham duro dentro de empresas de todos os tamanhos para realizar essa mudança de paradigma. E o passo maior é dado por pequenas equipes que recriam sistemas que funcionam “na nuvem”, vendendo-os pela web, sem necessidade de instalar softwares, controle de licenças, versões específicas de bibliotecas.

Tudo pelo navegador, com pagamentos mensais baixíssimos.

Se você deseja entrar nesse mercado, desenvolvendo e vendendo o uso do seu sistema, o que se chama SaaS (Software as a Service), e pensa que a única saída é alugar um servidor VPS ou Cloud, espere um momento.

Este texto irá lhe apontar bons e seguros caminhos.

Minha experiência

Em um momento de minha vida, desempregado, sem reservas, comecei a trabalhar como freelance, e sempre me via na necessidade de ter estrutura rápida e confiável. O caminho inicial, sendo eu um administrador Linux de longa data, só podia ser o de alugar uma máquina virtual e ter a minha estrutura.

Mas perder tempo configurando servidor... Eu gosto, sempre fiz isso, mas não queria perder tempo. Assim, usando os serviços mostrados neste texto sempre pude atender meus clientes, desenvolver meus próprios projetos, prototipar mais facilmente, sem gastar dinheiro.

Agora, o máximo que tenho gasto em dinheiro é com compra de domínio e certificado SSL.

Na nuvem e de graça

Nesta nova onda, não há separação entre administrar e desenvolver. Um desenvolvedor deve ser capaz de colocar seu projeto em produção, e mantê-lo funcionando, sem preocupar-se com capacidade de servidores, discos ou problemas de rede.

Os custos de grandes estruturas, quando divididos, possibilitam aos fornecedores oferecerem serviços de graça para pequenos usuários, especialmente aqueles que estão desenvolvendo projetos que ainda estão iniciando, mas que tendem a crescer significativamente.

E nessa nova forma dos sistemas web, qualquer desenvolvedor pode colocar em produção sistemas sem gastar nada, além de suas habilidades profissionais. Se o sistema vingar e crescer, a fonte para pagamento do uso de maiores recursos está garantida.

Serviços para os novos desenvolvedores

Mostrarei alguns dos serviços que podem ser usados para que você, um empreendedor de novo tipo, possa desenvolver seus sistemas, testá-los, e iniciar seu novo empreendimento, sem gastar nenhum dinheiro com infraestrutura.

Alguns exemplos

Muitos bons sistemas tem migrado para a web desde pequenos até grandes, veja esses casos:

ZeroPaper: Destinado a micro e pequenas empresas, tem o objetivo de oferecer ferramentas para que esses empresários administrem suas empresas com profissionalismo. Tudo que em geral fica em anotações perdidas, estará organizado, disponível e pesquisável.

PayPal: Se você tem uma ideia para SaaS, em algum momento terá que usar alguma forma para receber de seus clientes. PayPal, entre outros, é uma solução que livrará a empresa de ter que garantir contratos e integração com cada forma de pagamento. É uma ferramenta indispensável para ter o “modo automático”, em que se vende até dormindo.

Fantástiko: Sistema completo para administração de imobiliárias, tanto o site para busca de imóveis, quanto a parte administrativa. Mediante mensalidades, imobiliárias usam este sistema sem ter que instalar nada.

Em comum, esses sistemas para serem usados, necessitam um navegador e conexão Internet, e ao invés da compra de licenças, paga-se mensalidades. Nem todos fornecem isso, mas o seu sistema deve ser “responsivo”, ou seja, pode ser acessado a partir de um celular, de um tablet, de um notebook, ou de um desktop, oferecendo as mesmas funcionalidades, mantendo a identidade visual.

Principais fornecedores de serviços gratuitos na nuvem

Há muitos e diversificados serviços na nuvem, com planos gratuitos permanentes. Um projeto precisa de repositório para código fonte, repositório para a aplicação funcionar (hosting), serviço de envio de e-mail para a aplicação, entre outros.

Agora vou listar os serviços que devem ser assinados e configurados.

Espaço para armazenamento de arquivos

Seu computador pode pifar! E não adianta falar que faz backup, porque manter um backup que seja útil, com o passar do tempo, é extremamente difícil. O mais fácil é assinar um serviço de armazenamento na nuvem.

Uma pasta (diretório) do disco de seu computador será usada como base. Nela você coloca seus arquivos e o sistema vai alimentando seu repositório remoto, automaticamente.

Se apagar um arquivo, é só acessar via web sua conta, e recuperar o arquivo. Se perder seu computador, é só configurar novamente o acesso.

Eu uso e recomendo o dropbox.

Conta para controle de versões

Escrever código exige disciplina, boas práticas, boas ferramentas. Indispensável é um software para controle de versões. O git é a ferramenta do momento, e os serviços que você pode usar são o github e o gitlab.

Eu o uso os dois. Mas o gitlab permite repositórios privados de graça.

Hospedagem do sistema

Você precisa de um local que rode seu sistema, sua aplicação. Não queremos perder tempo configurando um servidor, temos pressa! Também não é prático ter que se conectar a um servidor e transferir os arquivos, ou então automatizar essas tarefas. Já temos tudo isso pronto e de graça.

Nesses requisitos, o openshift da RedHat é imbatível. Com a mesma qualidade e serviços, mas com o adicional de ser uma empresa no Brasil usando datacenter no Brasil, e com possibilidade de uma conta de teste, existe a Getup.

Envio de e-mail

Em sistemas SaaS o envio de e-mail é a melhor forma de comunicação com o usuário que se cadastra, que deseja receber notificações , que precisa ser alertado de algum evento do sistema.

Eu prefiro usar o sendgrid.

Recebimentos

Gerar boletos, receber por cartão de crédito, transferência bancária... Melhor que alguém faça isso. Tem o pagseguro, o paypal. Mas, pra começar, recebendo na sua conta, online, recomendo o paypal. Seus clientes sequer precisam ter cartão de crédito ou conta bancária, e poderão fazer pagamentos sem muita incômodo.

Desenvolvendo

Com boa vontade, e muito tempo, é possível aprender a programar, tornar-se um desenvolvedor, e ser capaz de planejar e implantar sistemas. Nessa ordem, nesse grau de dificuldade.

Grupos de usuários, ebooks, listas de discussões, blogs, ambientes virtuais de aprendizagem. Muitos são os recursos gratuitos. Para ter uma formação inicial sobre programação, com um caminho a seguir, recomendo o codecademy. Eu mesmo tenho aprendido muito por lá.

Mas leva tempo, e não estamos falando de programinhas, estamos falando de um sistema para ser usado na web. É importante que você conheça programação, até para ter melhores condições de selecionar os futuros profissionais para sua nova empresa.

Vantagens de ter o seu projeto na nuvem

Acessível: o cliente acessa seu sistema de qualquer lugar, usando qualquer dispositivo.

Barato: você não tem custos com deslocamentos físicos e nem perde tempo tentando instalar seu sistema em computadores desatualizados e sem os requisitos que você precisa.

Seguro: seus clientes utilizarão um sistema que está hospedado em instalações robustas, monitoradas e bem planejadas.

Rápido: tão logo uma alteração esteja implementada, ela pode ser disponibilizada para todos os clientes, imediatamente, de uma só vez.

Atitudes Positivas

Empreenda: tem a solução para um problema que afeta muitas pessoas? Coloque a sua solução no ar sem se preocupar com custos de infraestrutura.

Desenvolva: conhece programação de computadores? Desenvolva sua solução, crie um protótipo, ou melhor dizendo, um Produto Viável Mínimo, em inglês MVP - Minimum Viable Product, valide, prove que é uma boa ideia, então acabe de desenvolver.

Aprenda: ser empreendedor, conduzir seu próprio negócio, saber o momento de ter um sócio, vender, divulgar, captar clientes, delegar e terceirizar atividades. Aprenda tudo isso e mais um pouco. É mais importante que o conhecimento técnico. Indispensável frequentar: 21212 Academy.

Olhe para o futuro: apesar das fantásticas histórias de empreendedores bilionários em suas startups, prepare-se para uma caminhada não tão curta.

Comece: se está empregado, segure-se em seu atual emprego, e trabalhe diariamente para construir seu empreendimento. Se está desempregado, aproveite o tempo livre.

Delegue: tem a ideia mas não sabe programar? Estabeleça uma parceira, encontre um sócio:

Obrigado!