Velocidade e escalabilidade são fatores críticos ao criar novos negócios, e o ritmo acelerado das mudanças cria uma dinâmica do tipo “o vencedor leva tudo” em vários mercados. A maior parte das start-ups digital first conquistou uma vantagem competitiva duradoura ao incorporar novas tecnologias que lhes permitem inovar e ganhar escala rapidamente.
Especificamente, há um trio de abordagens tecnológicas que fornece um arsenal formidável para empresas que buscam lançar novos negócios de forma mais rápida, segura e eficaz com custos mais baixos:
- Software as a service (SaaS), que permite às empresas consumirem todos os serviços de software de que precisam sem ter que criá-los
- Arquitetura sem servidor, que permite às empresas focar em escrever o código, em vez de executá-lo
- Código aberto, que fornece aos negócios acesso a bibliotecas de software existentes e de uso livre, que podem ser facilmente integrados ao código proprietário da empresa
Cada uma dessas tecnologias oferece benefícios significativos. Mas a verdadeira revolução vem da combinação das três, unindo com flexibilidade serviços de um provedor SaaS terceirizado (como login) e integrando-os com outros serviços de terceiros (como gestão de recrutamento) e funções específicas da empresa (como cálculo de salários) em uma arquitetura totalmente sem servidor. Essa fusão de tecnologias permite às empresas simplificar e acelerar radicalmente o processo de desenvolvimento tanto para o lançamento como para o escalonamento de novos negócios.
Para empresas que buscam lançar novos negócios, o princípio fundamental de combinar essas abordagens é maximizar o valor do que já existe e reduzir as cargas referentes a desenvolvimento e manutenção. Além desses, outros benefícios estão emergindo. À medida que as empresas desenvolvem uma maior expertise no uso de arquiteturas sem servidor e constroem suas capacidades de arquitetura, elas conseguem obter mais vantagens dos ciberserviços oferecidos pelos provedores de serviços de nuvem (CSPs, na sigla em inglês) – muito embora elas sempre devam tomar medidas práticas para gerenciar seu risco individual.
No entanto, empresas que buscam criar novos negócios por vezes não compreendem toda a amplitude de benefícios das tecnologias SaaS, arquitetura sem servidor e código aberto – ou as implementam de forma ineficaz. Em muitos casos, isso se deve à crença de que seus sistemas e abordagens legados oferecem uma base mais confiável para o lançamento de um novo negócio. Infelizmente, essas empresas logo aprendem que essa abordagem traz consigo não apenas ineficiências vinculadas aos próprios sistemas legados como também limita sua capacidade de pensar de forma suficientemente ambiciosa e criativa para desenvolver os aplicativos necessários a fim de viabilizar plenamente o novo negócio.
Para que o SaaS, a arquitetura sem servidor e o código aberto funcionem para os novos negócios, as empresas estabelecidas devem repensar completamente sua estratégia de TI, redesenhar processos, incorporar novas abordagens e mentalidades, redesenhar a segurança e atrair um novo tipo de talento. Os benefícios da arquitetura sem servidor, como a redução do time-to-market, mais do que compensam os desafios de fazer a transição. Os líderes que conseguirem gerenciar estas cinco tarefas em paralelo irão adquirir as capacidades organizacionais necessárias para apoiar o desenvolvimento de negócios e impulsionar o crescimento da melhor maneira.
Como o SaaS, a arquitetura sem servidor e o código aberto aceleram o desenvolvimento de negócios
Os benefícios da arquitetura sem servidor e do SaaS especificamente são o resultado da concorrência entre os grandes CSPs para oferecer mais aplicativos – que sejam mais compatíveis – pelas melhores plataformas “as a service”. Essa tendência reforça o valor da nuvem como fator capacitador e alavanca de inovação, não apenas como uma forma de otimizar custos de TI. De fato, uma pesquisa recente da McKinsey mostrou que até 75% dos mais de $1 trilhão do valor (em inglês) em jogo relacionado à nuvem vêm da inovação de negócios, não da gestão de custos.
Para empresas que buscam fazer um novo negócio decolar, o SaaS representa uma maneira de acessar de forma rápida e barata uma ampla gama de serviços existentes. Seja usando um único serviço ou combinando vários deles, o SaaS comprovou ser capaz de atender até 90% das necessidades de uma determinada função. Basicamente, o negócio consome o software do qual precisa, muitas vezes usando um modelo de assinatura previsível, eliminando a necessidade de escrever um novo código. Mas caso um novo código seja necessário, existem grandes bibliotecas de códigos abertos e padronizados que os desenvolvedores podem acessar rapidamente.
A arquitetura sem servidor não tem comparação em termos de aplicação de novos stacks e tecnologias digitais em formatos modulares que sejam completamente adaptáveis, inclusive no nível do código. Tradicionalmente, as equipes de TI que implementavam um software novo precisavam especificar, solicitar, instalar e manter o hardware, os sistemas operacionais e a segurança dos servidores. Mesmo com o surgimento de máquinas e containers virtuais, as equipes de TI ainda precisavam incorporar segurança, configurar dependências, escalonar a capacidade provisionada e certificar-se de que o container estivesse sempre funcionando1. Com a arquitetura sem servidor, o provedor gerencia todas essas tarefas e elimina as despesas gerais das operações (Quadro). Dessa forma, ela permite às equipes de TI liberar-se da carga de gestão da infraestrutura, transferindo-a inteiramente ao provedor e tornando o desenvolvimento de aplicativos escalonáveis mais rápido, barato, fácil e seguro.
Além disso, o modelo sem servidor promove padrões de arquitetura alavancada por eventos – isto é, em vez de executarem cargas de trabalho persistentes na nuvem, as arquiteturas alavancadas por eventos, combinadas com o modelo sem servidor, permitem às organizações pagarem somente quando uma função é efetivamente usada e consome recursos de computação. Embora essa abordagem precise ser cuidadosamente considerada em decisões de arquitetura de baixo nível (por exemplo, funções sincrônicas versus assincrônicas) a fim de controlar custos, ela permite uma integração mais fácil e em tempo real com outras ofertas, sejam de software interno ou de provedores de serviços externos.
Existem ainda benefícios adicionais do SaaS, da arquitetura sem servidor e do código aberto que são particularmente úteis ao criar e lançar novos negócios, entre eles:
- Investimento inicial reduzido. Migrar software existente para a nuvem requer investimentos, principalmente em automação e, por vezes, ainda que em menor medida, em desenvolvimento e licenças. À medida que as empresas “sobem no stack” (em outras palavras, consomem mais serviços generalizados), elas podem tirar cada vez mais proveito de ofertas dos CSPs. Aquelas empresas que buscam implementar rapidamente, desenvolver funcionalidade de forma eficiente e testar o mercado com baixo custo, o modelo sem servidor é uma opção atrativa.
- Eliminação da gestão de infraestrutura. A arquitetura sem servidor não exige uma gestão de infraestrutura (e, portanto, não gera despesas operacionais) e facilita significativamente o suporte de atualização de versões. Isso libera as equipes de produtos das rígidas dependências de provisionamento de infraestrutura, permitindo que as empresas direcionem recursos para a criação de produtos e serviços que geram valor de forma direta. Os desenvolvedores podem obter vantagem do fato de que a arquitetura sem servidor simplifica o acesso a funções de software como serviço, reduzindo o esforço gasto na criação de soluções que já existem. Essas funções podem ser combinadas com flexibilidade. Com a abordagem e as ferramentas certas, muitos componentes comuns de aplicativos podem ser padronizados, auditados e reutilizados com facilidade, melhorando a produtividade das equipes de tecnologia, permitindo às empresas testarem de forma fácil e rápida novas funções de negócios com os clientes, adaptando-as conforme necessário.
- O código fica mais “próximo do negócio”. O uso de SaaS e da arquitetura sem servidor para liberar a equipe de TI da gestão da infraestrutura reduz enormemente a complexidade do desenvolvimento e da implementação de aplicativos. Isso, por sua vez, permite às equipes de tecnologia organizarem-se em torno de produtos, por exemplo, “cartões” ou “empréstimos”, fazendo com que o código fique “mais perto do negócio”. Como parte de um compromisso com o ágil e com a engenharia voltada a produtos, essa abordagem facilita muito o entendimento das soluções e do trabalho com engenheiros por parte dos líderes de negócios, responsáveis por produtos e analistas em equipes multifuncionais.
A fim de obter todos os benefícios do SaaS, da arquitetura sem servidor e do código aberto, é importante que as empresas reconheçam e enfrentem seus desafios. Entre os obstáculos iniciais, podem encontrar-se a necessidade de treinamento, a falta de ferramentas de automação, a capacidade de observação granular e os aplicativos de autorrecuperação (por exemplo, ferramentas para monitorar a recuperação de aplicativos em um ambiente desacoplado) e a necessidade de desenvolver software sem estado (stateless). Por fim, o tempo de aprisionamento tecnológico pode ser uma questão, caso sejam usados frameworks de desenvolvimento sem servidor nativos dos CSPs. Com base em nossa experiência, todos esses desafios são gerenciáveis e altamente compensados pelas vantagens do SaaS e da arquitetura sem servidor.
Aplicações no mundo real
Dois exemplos recentes mostraram o impacto dessas abordagens tecnológicas no desenvolvimento de aplicativos.
Uma empresa asiática de petróleo e gás lançou uma série de produtos que se tornaram negócios independentes. Ao optar pelo uso da mesma arquitetura sem servidor em todos eles, a empresa precisou de apenas 12 semanas e uma pequena equipe central para levantar uma nova infraestrutura tecnológica, que já apoiava seus principais aplicativos. Atualmente, a empresa é capaz de executar diversas tarefas em sua arquitetura sem servidor – desde carregar e comprimir dados visuais complexos até dirigir drones. À medida que esses negócios crescem, as melhorias de desempenho de processamento necessárias podem ser feitas rapidamente.
Uma firma líder de private equity usou a arquitetura sem servidor para desenvolver um site de administração e informações para investidores completamente novo e altamente configurável. Um gateway de interface de programação de aplicativos (API, na sigla em inglês) conecta a nova arquitetura sem servidor aos sistemas legados e aos dados de clientes da empresa. O site pode ser adaptado e aprimorado com flexibilidade, permitindo à firma elevar facilmente o desempenho do site. Ao usar a arquitetura sem servidor, a firma foi capaz de desenhar, criar e lançar uma nova ferramenta para o cliente em poucos meses, comparado com mais de um ano usando a abordagem tradicional.
Cinco chaves para destravar o valor da arquitetura sem servidor, SaaS e código aberto
Assim como as vantagens da arquitetura sem servidor são significativas, também são as mudanças subjacentes necessárias para aproveitá-las. O sucesso mais amplo surge quando as empresas focam nas cinco áreas descritas a seguir.
Adotar uma mentalidade “modular”
A arquitetura sem servidor ainda é relativamente nova e as equipes técnicas podem subestimar a mudança de mentalidade que ela exige. De fato, os líderes de TI muitas vezes se equivocam ao pensar que a arquitetura sem servidor refere-se apenas a “algumas funcionalidades extras da nuvem”. Na realidade, ela envolve não somente construir de forma diferente, mas também usar os ativos tecnológicos de forma diferente – desde trazer uma abordagem nova e mais modular, que funciona em um desenho de arquitetura sem estado (um microsserviço aplicado em um container se traduzirá em 10 a 30 funções), até a reconfiguração de como acessar serviços de bancos de dados.
Reimaginar a arquitetura de TI
Para obter o pleno valor da arquitetura sem servidor, as empresas devem repensar totalmente a forma como abordam a arquitetura de TI em termos do suporte à criação de negócios. Ao migrar para o modelo sem servidor, é fundamental investir tempo para tomar as melhores decisões de arquitetura de baixo nível, tais como as funções síncronas e assíncronas. Decisões de arquitetura inadequadas podem ser extremamente onerosas. Por exemplo, a empresa de petróleo e gás mencionada anteriormente foi capaz de configurar a infraestrutura tecnológica básica em 12 semanas. Em seguida, adicionou serviços para apoiar tarefas – por exemplo, aquisição de dados visuais de câmeras com movimento autônomo, upload de dados para armazenamento e extração de camadas de insights relevantes – por meio da implementação de diversos serviços disponíveis imediatamente e poucas modificações proprietárias.
Desenvolver a funcionalidade necessária permitirá às empresas fazerem uma reengenharia dos processos a uma velocidade completamente diferente da que é possível atualmente, de modo que a equipe de TI precisará planejar mudanças para customizar a arquitetura de TI a fim de realizar tarefas e processos de negócios específicos – um trabalho que, na maioria dos casos, exige muito tempo e consome muitos recursos.
A mudança para um desenvolvimento de software mais industrializado e padronizado terá um enorme impacto na organização. A plena adoção de SaaS e da arquitetura sem servidor poderá marcar o final da computação de alto custo em aplicativos comerciais off-the-shelf, eliminando despesas operacionais associadas à gestão da infraestrutura, ao mesmo tempo em que permite um aumento gigantesco na agilidade organizacional e no time-to-market, além de melhorar significativamente a integração e a segurança. Captar essa mudança transformadora desde o início é fundamental para que os líderes de TI e de negócios possam realizar com sucesso o escopo das mudanças necessárias.
Investir em ferramentas e equipes de produtos de tecnologia
Equipes que ainda não se reestruturaram para apoiar modelos operacionais nativos de nuvem devem ser reconfiguradas para focar mais em interações arquitetônicas, desenvolvimento de funcionalidades e novas capacidades de autorrecuperação e escalonamento sob demanda. As organizações mais bem-sucedidas investem em ferramentas e em equipes de produtos de tecnologia para aproveitar os componentes dos aplicativos SaaS e sem servidor a fim de integrar funções adicionais conforme necessário. A decisão de requalificar as atuais equipes internas de desenvolvimento ou trazer novos talentos depende do ponto de partida da empresa. Uma vez que as funções de TI adotarem o novo paradigma de desenho da arquitetura e concluírem os pilotos com sucesso, elas precisarão de capacidade adicional para implementar a arquitetura sem servidor em toda a organização.
Desenvolver planos e processos claros de integração
A abordagem sem servidor requer equipes que tenham uma visão clara de como integrar e gerenciar a interação dos ativos e provedores existentes. É preciso desenvolver um plano de integração inicial para garantir que os requisitos tecnológicos que permitem o bom funcionamento dos ativos existentes com a arquitetura sem servidor sejam atendidos. Isso exige a provisão automatizada de serviços adicionais para assegurar que os endpoints, eventos e controles de acesso otimizados sejam consistentemente provisionados.
Desenhar para garantir segurança
Os riscos acidentais de exposição são altos na arquitetura sem servidor, caso as empresas não adotarem princípios maduros de nuvem com desenho de segurança desde o primeiro dia. Existem quatro categorias de considerações a fazer sobre a arquitetura sem servidor:
- garantir a segurança da arquitetura sem servidor na nuvem pública, por exemplo, isolando cargas de trabalho sem servidor na nuvem pública com segmentação granular no nível da conta e limitando a exposição com o uso de arquitetura de raio de explosão (blast radius);
- repensar a autenticação em cargas de trabalho transitórias sem servidor, usando credenciais efêmeras e tokens de curta duração, que são mitigadores de risco essenciais da exposição de credenciais;
- proteger sua disponibilidade em um contexto sem servidor com segurança perimetral robusta que empregue funções públicas e internas em gateways distintos; e
- atualizar a avaliação, a governança e o conhecimento de riscos, por exemplo, adotando “policy as a code” para a codificação de políticas organizacionais, usando estruturas regulatórias em pipelines automatizados de governança para provisionamento de serviços na nuvem e distribuindo todas as cargas de trabalho sem servidor usando um pipeline de DevSecOps (em inglês) incorporado.
O SaaS, a arquitetura sem servidor e o código aberto estão emergindo como padrões da indústria. Mas é somente com o entendimento de como usá-los juntos – e alinhar as operações de tecnologia de forma mais próxima ao negócio – que as empresas poderão tirar proveito dessas ferramentas para lançar negócios melhores com mais rapidez.