E se o Ruby MRI não é mais suficiente, sempre temos a opção de usar JRuby e ganhar alta performance com poucas (ou às vezes nenhuma) mudança de código. E com isso temos diversas opções de servidores de aplicação com Unicorn, Passenger e Puma.
Mais do que isso, depois que o tema “assíncrono” ficou na moda por causa de node.js, surgiram diversos serviços que solucionam todos os use cases. Não há mais necessidade de se preocupar com comunicação assíncrona com serviços como Pusher, PubNub e diversos outros.
O stack está bastante completo, é uma combinação muito difícil de equiparar. E além disso o mundo Ruby está evoluindo para outras direções. Uma constatação importante: hoje o mundo está se movendo para a virtualização de servidores e automação de infraestrutura. O primeiro grande exemplo e ainda a melhor opção da categoria que ficou conhecida como IaaS (Infrastructure as a Service) é Amazon Web Services (AWS) EC2. Temos outros como Rackspace Cloud, Digital Ocean e no mundo não-open source temos Microsoft Azure.
Mas nós do mundo Ruby usamos uma categoria acima faz alguns anos: o chamado PaaS (Platform as a Service). A opção mais conhecida é sem dúvida o Heroku onde com um mero “git push” fazemos deployment em quantos servidores quisermos. Além dele ainda temos o Engine Yard Cloud. Agora outra coisa interessante, dentre as maiores opções temos ainda os recém-chegados RedHat OpenShift, VMWare Cloud Foundry, até certo ponto também o Microsoft Azure, a própria Amazon com o AWS Elastic Beanstalk, AWS Opsworks, e o Google com uma opção mais restrita que é o Google App Engine. Existem outros mas vamos ficar com esses mais conhecidos, 7 opções e delas 5 utilizam ferramental e tecnologias Ruby.
O mundo Ruby está evoluindo isso faz algum tempo, começando com ferramentas de automação de infraestrutura que tentam tratar o mundo de hardware como se fosse software e nessa categoria temos Puppet, Chef. Sobre esse ferramental, novas tecnologias como Bosh foram criadas. Essas tecnologias permitiram Heroku, Engine Yard, OpenShift, Cloud Foundry, e o próprio AWS OpsWorks (que é uma interface Web sobre Chef).
Essa evolução no mundo de ferramental de Cloud retorna ao mundo de desenvolvimento mesmo no desktop com ferramentas como Vagrant, que automatiza a montagem do seu ambiente de desenvolvimento. Integrado com ferramentas como o Chef e facilitadores como Berkshelf, temos uma enorme biblioteca para montar ambiente complicados, podemos inclusive configurar rapidamente um ambiente inteiro Cloud Foundry sobre Vagrant.
O que quero dizer com isso? O mundo Cloud não está chegando: ele já está aqui. O ecossistema Ruby colaborou muito no bootstrap do novo mundo Front-end, influenciando práticas, tecnologias e agora faz o mesmo no mundo Back-end, diretamente no motor do Cloud. Além disso o ecossistema permeia hoje todas as etapas de uma solução completa: front-end, back-end, infraestrutura, além de Java, poucos ecossistemas são tão verticais.
Dicas? Comece a estudar ecossistemas como Chef e evoluções de ferramentas como Vagrant. Saber Rails, saber fazer testes automatizados, saber fazer front-end com pipeline automatizado, já pode ser considerado o básico.
[Crédito da Imagem: Cloud – ShutterStock]
Este artigo veio para nós deixar por dentro de tudo é demais. OK?
Gostei do artigo e da parte que me toca, as empresas de PaaS.
Minha contribuição é informar a existência da Getup Cloud, uma PaaS brasileira baseada em OpenShift.
Ainda pequena, mas sua relevância está em termos uma empresa nacional entrando neste mercado e sendo uma opção por essas bandas, afinal todas as citadas estão lá fora.
Abraço