Um ano atrás, a Forrester publicou um relatório chamado DevOps estendido com NoOps, prevendo que, em um futuro não tão distante, algumas empresas dependeriam mais e mais de serviços de nuvem e os desenvolvedores automatizariam ainda mais suas operações de build, teste e deploy, levando ao NoOps, indicando a inexistência de uma equipe de operações como a conhecemos hoje. Apesar de o termo NoOps dar a entender que as empresas deixariam de empregar uma equipe de operações (Ops), o relatório, na realidade, fala sobre o trabalho da equipe de operações em melhorar ferramentas automatizadas para os desenvolvedores; ferramentas demandando menos intervenção manual:
Progressos em cloud computing estão inaugurando uma nova era de infraestrutura sob demanda, recursos autoprovisionados e arquiteturas elásticas. Com isso, reduz-se consideravelmente a necessidade de interação entre os desenvolvedores e a equipe de operações para as entregas.
O foco do DevOps na colaboração evolui para um foco NoOps em automação. Não há, contudo, nenhuma mágica - nesse futuro ambicioso em que impera o NoOps, os profissionais de operações devem utilizar a infraestrutura, trabalhando de forma diferente, para que os desenvolvedores atinjam melhores resultados com menos intervenção manual. Deve-se continuar a buscar o DevOps, mas já se preparando para expandir o conceito para o NoOps, à medida que cresce a popularidade dos serviços de nuvem.
O site GigaOM publicou este ano um infográfico criado pelo fundador e Presidente da AppFog, Lucas Carlson, prevendo que 2013 será um ano de NoOps para os programadores. O infográfico mostra como os custos computacionais para startups caíram exponencialmente, enquanto que a produtividade aumentou na outra direçã0.
A queda de custos e o aumento de produtividade ocorreram à medida que o modelo computacional evoluiu dos datacenters dos anos 90, para soluções virtualizadas nos primeiros anos do milênio, e depois para a IaaS (Infraestrutura como Serviço) do Amazon Web Services. Recebeu ainda outro impulso do SysOps Management em 2011, que representa o emprego de operações automatizadas utilizando produtos como Chef e Puppet. Carlson estima que os desenvolvedores gastem hoje 60% do tempo programando; 40% são gastos realizando atividades de operação: gerenciamento de middleware, redes e hardware virtualizado, além de provisionamento e segurança.
O gerenciamento de ciclo de vida de aplicações (ALM) ganhará velocidade por meio de PaaS (Plataforma como Serviço) e soluções como o Cloud Foundry da VMware ou o OpenShift da Red Hat. Carlson também prevê que 2013 será o ano do NoOps, em que desenvolvedores de startup, usando soluções gerenciadas de PaaS da AppFog e Heroku, gastarão apenas 5% do seu tempo fazendo atividades de operações, especificamente middleware, suporte a failover, gerenciamento de logs e auditoria; sendo as demais atividades de operação realizadas na nuvem.
Apesar do infográfico se referir apenas a startups, o Netflix já está fazendo NoOps, de acordo com o arquiteto de cloud do Netflix, Adrien Cockcroft:
A Netflix adota NoOps... Todas as mudanças em ambiente de produção são feitas pelos desenvolvedores que escreveram o código. Temos uma coordenação centralizada para Engenharia de Confiabilidade, que inclui um conjunto de habilidades relacionadas a DevOps. Mas a equipe de operações não faz alterações; chama o desenvolvedor para fazê-las. É o desenvolvedor quem diz para fazer o deploy da nova versão do código (basta um clique) e redireciona o tráfego para a nova versão (com mais um clique).
Um programa de escalonamento automático, o Autoscaler, consegue descobrir quantos servidores devem ser rodados, de acordo com o volume de tráfego. Alertas vão diretamente para os desenvolvedores e a escala do plantão é gerenciada pelo software PagerDuty. Não há um equipe de operações para o produto; tudo é desenvolvimento. Temos obviamente operações de TI corporativas, para notebooks, email etc., mas esse grupo não lida com o produto principal de streaming de vídeo.
O termo NoOps tem repercutido na comunidade de Operações, e outro termo No* teve reações semelhantes. Originalmente cunhado por Carlo Strozzi em 1998 para se referir a bases de dados SQL sem interface SQL, o termo NoSQL foi reintroduzido por Eric Evans do Rackspace, em 2009, para descrever bases de dados não construídas sobre tecnologias SQL. O conceito foi mais tarde entendido por alguns como uma afronta ao SQL e a todos aqueles que tinham investido muitos anos nele. No começo, alguns argumentaram que o SQL (e os bancos relacionais) desapareceria aos poucos, abrindo espaço para o NoSQL. Outros abrandaram o termo sugerindo que significaria "Não Apenas SQL".
NoOps tem uma conotação similar, parecendo indicar a ausência total de operações. John Allpaw, vice-presidente de Operações na Etsy, é um dos oponentes mais enérgicos do termo.
NoOps ganha até de Cloud, Agile e SOPA como o termo de marketing mais estúpido já cunhado em minha área. O termo indica a ausência de algo que está claramente presente.
Mark Imbriaco, VP de Operações na LivingSocial argumenta que "não se pode confiar em um provedor de PaaS que não pára de falar de NoOps saiba como operar sua própria plataforma." E James Urquhart, da enStratus, expressa seu desapontamento com o termo NoOps: "Minha preocupação com NoOps não é com a ideia de os desenvolvedores fazerem tudo, mas com o termo em si, como aconteceu no início do NoSQL."
As atividades de operações certamente passarão por mudanças. Continuará havendo grandes empresas mantendo seus equipamentos nas próprias instalações, com as operações mantendo um papel importante. Haverá outras empresas que se apoiarão mais na nuvem, precisando de menos pessoal de operações (mas deve-se lembrar que os próprios serviços de nuvem usam muitos especialistas em operações).
O DevOps continuará progredindo em outras empresas, com desenvolvedores assumindo parcialmente papéis de operação. E haverá situações em que desenvolvedores farão o mínimo de Ops, deixando a maior parte ao cargo de uma nuvem PaaS gerenciada. Dito tudo isso, o termo "NoOps" parece pouco inspirado. Talvez porque não se pode construir alguma coisa sobre o nada.