Saindo da Nuvem
Há muita conversa agora sobre como a nuvem é ultrapassada e apenas uma maneira cara de enviar pessoas ao espaço. Uma postagem no blog de David Heinemeir Hansson postou há algum tempo sobre como ele acha que a nuvem é em grande parte novas camadas de tinta sobre coisas velhas e, portanto, quer deixá-la para trás de uma vez. Como profissional que passou algum tempo dentro e fora da nuvem com empresas grandes e pequenas, estes são meus comentários.
Agora David não é peso leve. Ele é o homem por trás do Basecamp que milhões de pessoas usam. Ele também é o homem por trás do amplamente utilizado framework Ruby on Rails que dezenas de milhões de pessoas usam. Ele é um autor best-seller. Ele é até um piloto de corrida certificado. Eu nunca escrevi um grande projeto de código aberto e apenas ando de bicicleta nas pistas de corrida, então vamos ser claros - estou atacando gigantes. Minha única defesa - fiz algumas dessas coisas em todos os tipos de escala. Eu nasci uma vez na nuvem, passei um tempo puramente no chão e fui para frente e para trás algumas vezes e espero que isso me dê uma visão que vale a pena olhar.
O argumento central de Davi, de que não se deve alugar se se pode comprar, está correto — mas apenas em algumas circunstâncias. O próprio David aponta dois deles; uma nova empresa sem clientes ainda ou uma empresa estabelecida com crescimento altamente volátil, onde ele diz que a nuvem é melhor. No entanto, seu argumento é que esses são os ÚNICOS dois casos em que a nuvem é melhor, é onde eu acho que ele tropeça em seu carro de corrida.
Primeiro, vamos obter alguns antecedentes. David - é preciso entender seu ponto de vista. A empresa 37Signals é uma pequena empresa - $ 7,9 milhões em receitas e cerca de 95 funcionários. Tem cerca de 14 milhões de usuários por mês em cerca de 150.000 clientes pagos. É uma empresa lucrativa e em constante crescimento que não é financiada por capital de risco e, ao contrário da maioria das outras empresas de tecnologia, valoriza o crescimento lento e lucrativo em relação à escala rápida. Isso é algo sobre o qual eles falaram repetidamente - o ideal deles é o supermercado local, em vez do Slack ou NetFlix.
Isso torna o 37Signals bastante atípico. Por causa disso, o que funciona para eles nem sempre é o que funciona para os outros, então precisamos de mais nuances.
Escalando sem a nuvem
O artigo diz que o Basecamp já está executando um serviço grande e complexo, mas isso não está correto. Pelo que pude deduzir do próprio site do Basecamp e de outras fontes no Google, a empresa tem de 8 a 10 milhões de visitantes por dia e 130.000 contas. Isso não é muito grande; até o RBL Bank, onde trabalho atualmente, recebe cerca de 7 a 8 milhões de visitantes por mês. Além disso, o Basecamp não possui transações em tempo real, processamento de back-end relativamente simples e requisitos de segurança muito mais fáceis.
O próprio David diz: “Temos um modelo de negócios que é incrivelmente compatível com a propriedade de hardware e sua baixa ao longo de muitos anos. Trajetórias de crescimento que são em sua maioria previsíveis. Equipe especializada que também pode empregar seus talentos operando nossas próprias máquinas”
Essa diferença é crucial. As cargas do Basecamp provavelmente são gerenciadas por um punhado de servidores, em comparação com mais de 3.000 servidores do RBL Bank executando mais de 40 linhas de negócios. Executando uma operação completa de infraestrutura com centenas de racks e milhares de servidores, sem falar nas pilhas de roteadores e switches. E há toda essa necessidade de suporte 24 horas por dia, 7 dias por semana. Um punhado de pessoas pode gerenciar isso?
Para a maioria dos CTOs da empresa, a resposta é um não imediato. Tanto hardware geralmente significa. Há a equipe de servidores com seus especialistas em Linux, a equipe de rede com seus especialistas em Cisco, a equipe de armazenamento com seus especialistas em EMC, a equipe de virtualização com seus especialistas em VMWare, a equipe de banco de dados com especialistas em Oracle e assim por diante. Muitos especialistas, muitos supervisores, muita complexidade para enfrentar.
No entanto, concordo com David; esta não é a realidade de hoje.
A infra-estrutura de hoje, mesmo no local, geralmente já é virtualizada e existem ferramentas maduras para gerenciar todos os aspectos de maneira amplamente automatizada, para que uma equipe pequena (não particularmente especializada) possa fazer - com alguma ajuda de OEMs - tudo o que costumava exigir um exército. Lembre-se de que houve uma época em que uma máquina Xerox exigia um operador certificado - hoje uma criança pode pressionar o botão e obter respostas perfeitas porque a tecnologia progrediu, as interfaces foram simplificadas e as peças móveis reduzidas. Algo semelhante aconteceu com servidores e redes; a maioria dos CIOs simplesmente não percebeu. Todo o material de gerenciamento integrado fácil que está disponível na nuvem hoje também está disponível de maneira fácil (e confiável) no local.
A Amazon e o Google abriram o código de muitas das ferramentas que usam, além dos VMWares, Nuntanixs e Dells do mundo que copiaram e amadureceram. Os hiperescalares hoje atingem proporções de servidor para pessoas da ordem de 10.000 - o que significa que uma pessoa gerencia 10.000 servidores. Na escala de empresa um pouco menor, ainda é facilmente possível gerenciar alguns milhares de servidores com não mais do que um time de críquete. Lembre-se de que não estamos falando sobre o suporte ao código do aplicativo — é o mesmo esforço na nuvem ou no local —, mas sim sobre o gerenciamento da infraestrutura de rede de armazenamento de computação subjacente.
Não há mágica. Uma configuração de hardware simplificada e virtualizada (tudo é do mesmo tipo) e pessoas multiqualificadas e excelentes ferramentas de gerenciamento - tudo o que a maioria das empresas tem ao seu alcance, basta tentar. NSE faz isso na IFSC Gift City, Zerodha faz isso, startups fazem isso, mas empresas estabelecidas lutam para sair dos paradigmas existentes para fazer dessa maneira.
Há uma ressalva, no entanto (e pode ser grande). Sua pilha de hardware precisa ser uniforme e relativamente nova para que isso funcione (o que aliás é de fato a realidade. A maioria das ferramentas e habilidades se torna complicada ou impossível, a menos que você se comprometa com pilhas simplificadas e modernizadas. Um pouco como a Southwest Airlines tendo apenas um tipo de avião que é uma parte fundamental da estratégia que a Southwest usa para literalmente voar para as nuvens.
Espiando sem a nuvem
A afirmação de David de que os negócios são estáveis ou voláteis é muito simples. Qualquer entidade comercial complexa sempre tem várias linhas de negócios e vários produtos – e, portanto, uma mistura de estável e volátil. Novos negócios podem lançar pequenos e escalar rapidamente, ou lançar grandes e escalar ainda mais rápido, ou ter um crescimento constante em qualquer escala. Além disso, é difícil prever picos no futuro.
O Basecamp tem o luxo de crescimento constante e previsibilidade de picos futuros. Depois de anos no mesmo negócio com o mesmo produto, é improvável que haja picos inesperados. Isso não é verdade para a maioria dos negócios complexos, onde novos lançamentos e introduções constantes tornam as coisas mais voláteis. Mesmo aqui, porém, o próprio David fala sobre o quanto a nuvem foi um benefício quando eles lançaram o Hey - 300.000 usuários em horas, em vez dos 30.000 projetados em meses.
Isso pode ser alcançado sem a nuvem? Aqui a resposta é não (mas com algumas cláusulas de escape). O escalonamento no local para uma única empresa significa essencialmente deixar a capacidade ociosa; não há outra maneira de obter capacidade sob demanda. Parte da carga pode ser aliviada com a realocação dinâmica de recursos de aplicativos ociosos para aplicativos ocupados (uma capacidade que a maioria das pilhas locais modernas tem hoje), mas a capacidade local é finita e eventualmente relativamente limitada.
O que pode ser feito hoje está explodindo na nuvem. Mesmo as empresas tradicionais começaram a fazer isso de maneiras limitadas, executando trabalhos de gerenciamento de dados em massa na nuvem em vez de comprar o hardware para isso. A Oracle e muitos outros OEMs de hardware fornecem uma maneira de expandir para a nuvem com pagamento à medida que você vai além da carga central no local - o RBL Bank fez grande uso disso durante os primeiros dias da atualização do core banking, quando muitos trabalhos estavam sendo executados muito mais computação enquanto a otimização estava ativada. Nem todos os aplicativos oferecem suporte a isso, mas, à medida que os aplicativos forem inseridos em contêineres, isso se tornará cada vez mais a norma.
É claro que, se você estiver no modo de hipercrescimento, toda essa capacidade de explosão não ajudará; você prefere ficar na nuvem.
Novas camadas de tinta brilhantes
David passa muito tempo falando sobre como as pessoas são enganadas pela magia da AWS. Isso parece contradizer o fato de que empresas muito sofisticadas tecnologicamente (como Capital One, Nasdaq, Slack ou Netflix) continuam na nuvem e continuam comprometidas com ela. A Netflix gasta cerca de US$ 12 milhões por mês hoje e se comprometeu publicamente a triplicar esse número até 2025. Slack se comprometeu a gastar US$ 400 milhões. É improvável que essas empresas não tenham feito as contas ou se deslumbrem com as novas demãos de tinta.
Então, o que um Netflix sabe que o Basecamp não sabe. Nada realmente, é apenas uma diferença de ponto de vista. O que quer que você faça na nuvem, você pode fazer no local, e não é tão difícil ou intensivo em pessoas como costumava ser - mas é mais trabalhoso do que fazer na nuvem. O Basecamp prioriza a economia de custos e está disposto a colocar algumas pessoas extras no gerenciamento do serviço. A Capital One, que é muito maior e também mais complexa, provavelmente prioriza outras tarefas em detrimento da economia de custos da nuvem; eles podem, por exemplo, optar por implantar pessoas no desenvolvimento de produtos em vez do gerenciamento de infraestrutura. Há também uma questão de escala - crescer para centenas de milhares de servidores e não mais algumas ferramentas de código aberto e alguma automação.
E depois há os serviços. A nuvem pode oferecer muitos serviços totalmente pré-digeridos; basta contratar o serviço e não se preocupar com aplicativos ou infraestrutura. Análise, registro, banco de dados, back-end móvel, armazenamento de objetos, serviço da web sem servidor, mensagens, tudo isso disponível sob demanda e com extrema confiabilidade. Claro, eles vêm com um prêmio, mas mesmo as pessoas que possuem carros e casas alugam da Hertz e Marriott. O truque é usá-lo de forma adequada e sábia, e saber quando sair do aluguel.
Resumo
A adoção da nuvem envolve muitas coisas, incluindo custo. As empresas que precisam de agilidade precisam manter um pé na nuvem. Lidar com preocupações não essenciais com habilidades não essenciais eventualmente incha a força de trabalho de uma organização. A nuvem não é uma bala de prata — é mais uma escolha poderosa em um arsenal de armas. Já se foi o tempo em que a IAAS era o objetivo. Mude para a nuvem apenas se estiver pronto para ser nativo da nuvem — conteinerizado, DevOps, dimensionado horizontalmente, etc.
Principais Lições:
- Não coloque as coisas cegamente na nuvem. Considere continuamente - para cada lançamento de produto - se você é mais Basecamp ou mais Netflix. Novos aplicativos ou aplicativos altamente voláteis são candidatos óbvios, mas também existem outros. E as coisas mudam, revise isso periodicamente para ver para onde mover o quê.
- Fique menos preocupado em não conseguir contratar ou reter habilidades no local. Você não precisa mais desses exércitos especializados, então pode treinar toda a sua força de trabalho de forma muito mais ampla e frequente. O DevOps absorve grande parte de suas cargas de trabalho especializadas (requer uma mudança cultural significativa).
- Limpe e simplifique sua pilha. A maior parte da complexidade e custo no local vem da compra de várias variantes, fornecedores e versões.- Be Southwest
- Mova-se internamente para obter os bits mais caros - na AWS hoje é RDS (bancos de dados Postgres gerenciados), então eu sugiro fortemente que você se afaste dele. Desenvolva habilidades internas para o gerenciamento do Postgres e pare de ter tanto medo de bancos de dados.
- Já se foi o tempo em que a IAAS era o objetivo. Mude para a nuvem somente se você estiver pronto para ser nativo da nuvem — conteinerizado, DevOps, dimensionado horizontalmente, etc. Operações de IA, controle de custos muito mais refinado (a Netflix fez coisas incríveis aqui). Se você não estiver pronto para fazer tudo isso, substitua seu CIO em vez de sua infraestrutura.





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)