O PaaS (plataforma como serviço) é o novo SO (sistema operacional)

Por Boris Kuszka

Todo o negócio será um negócio baseado em Software. Essa afirmação, dita por todos os fabricantes de TI e analistas de mercado, mostra a importância de uma estratégia de criar diferenciais competitivos baseados em software.

Todos já entenderam que um novo entrante em uma determinada área de negócios pode destronar o atual líder, mudando as regras do jogo: foi o que fizeram o Uber (a maior empresa de táxi do mundo, e não tem nenhum veículo), a AirBNB (o maior provedor de aluguel de imóveis e hotelaria, e não tem nenhum imóvel) o Alibaba (a maior empresa varejista do mundo, e não tem nenhum estoque próprio) entre tantos outros exemplos icônicos de transformação digital como a tecnologia de streaming, que já havia comentado em outro artigo, desbancando a indústria de venda de mídia: de venda de CDs físicos, para venda de música digital, para o consumo via streaming do tipo buffet: “all you can eat”, consumo de música por assinatura onde você tem acesso ilimitado a todo acervo musical bastando pagar mensalmente. O mesmo ocorreu com video (alguém não utiliza Netflix?) e até jogos estão começando a ser consumidos dessa forma (ainda existem problemas técnicos de latência mas essa é uma proposta que está começando a aparecer).

Para você continuar relevante em sua área, inovação precisa ser colocada como prioridade estratégica mas, para isso, não basta colocar um mandato na empresa: agora todos têm de inovar! A cultura precisa paulatinamente ser modelada e adequada, os processos tem de ser revistos e desburocratizados e as ferramentas (infraestrutura de TI, ferramentas de desenvolvimento de sofware, automação) precisam ser substituídas por ferramentas mais modernas e eficientes: o objetivo é colocar uma idéia inovadora disponível no mercado o mais rápido possível.

As empresas precisam ter o espírito de inovação incorporado na forma de trabalho, em todos os departamentos, de Recursos Humanos preocupado em atrair e reter os maiores talentos e dar espaço para que esses talentos produzam sem censura ou travas até a área de TI que precisa transformar a produção lenta e artesanal de novos aplicativos para um produção industrial e initerrupta de novidades visando se destacar no mercado.

Essa TI industrial está evoluindo cada vez mais rápido; começou lentamente desacoplando as aplicações em camadas, evoluindo para sistemas operacionais menos fechados onde o Unix teve o seu destaque e agora estamos na era da transformação digital, onde o Linux se destaca, com os dispositivos móveis sendo a interface principal do usuário final (vejam o artigo “Dispositivos móveis: a interface com o mundo”) e as APIs sendo a interface principal entre sistemas corporativos (vejam o artigo “A Colaboração Integrada na IV Revolução Industrial”).

Para TI incorporar esse espírito de inovação, alguns paradigmas precisam ser quebrados e novas práticas precisam ser implementadas: a abordagem de DevOps, que alinha as equipes de operação com as de desenvolvimento, implementação de CI/CD (vejam o artigo “Tudo ao mesmo tempo agora”), uso da arquitetura e automação de Cloud Computing e desenvolvimento ágil são alguns dos principais tópicos que estão na base da estratégia de inovação.

Tudo isso tem uma base tecnológica fundamental que são os containers: essa tecnologia está redefinindo o sistema operacional que, cada vez mais, está se transformando em um cluster distribuído rodando serviços em containers orquestrados. O formato de container que é largamente utilizado é o docker, presente nos principais sistemas operacionais empresarias, mas existe uma grande iniciativa para criar uma comunidade global para padronizar o formato de container, o Open Container Iniciative (https://www.opencontainers.org/). Como orquestrador, o Kubernetes é o projeto, open source é claro, criado pela Google que se destacou como um orquestrador para uso geral e, análogo ao OCI para a padronização do formato de containers, existe o Cloud Native Computing Foundation (https://www.cncf.io/) para a padronização da orquestração. Orquestradores para uso específico como Hadoop não tem a flexibilidade para esse fim.

É aí que entra o conceito de PaaS (do inglês plataforma como serviço) que é o conjunto de ferramentas que permite a padronização de ambientes de desenvolvimento, o provisionamento automático, a automação de testes, o monitoramento, metodologias modernas de implantação contínua e a orquestração dos serviços para conseguir ganhos em velocidade de criação, implantação, auto-escalabilidade horizontal e o transbordo para outros datacenters e clouds públicas. Plataformas como Serviço modernas, como o OpenShift, implementam essas funções.

Os serviços de software nesse contexto recebem o nome de microsserviços, cuja definição mais precisa é: uma abordagem de arquitetura que enfatiza a decomposição funcional de aplicações em serviços de finalidade única, com baixo acoplamento e geridos por equipes multifuncionais, para a entrega e manutenção de sistemas de software complexos com a velocidade e a qualidade exigida pelos negócios digitais de hoje e, o container, é a unidade de execução perfeita para um microsserviço, que não requer máquinas virtuais (VMs) completas para a execução e assim, racionaliza a utilização de recursos.

Toda essa arquitetura de PaaS é muito dependente do Sistema Operacional em que foi desenvolvido e é exatamente por isso que vemos o PaaS como uma evolução do Sistema Operacional ou, como coloquei no título do artigo, o PaaS é o novo Sistema Operacional.

Para você continuar relevante no mercado, pense no seu ciclo de desenvolvimento, que deve ser automatizado, seguindo os padrões de mercado para evitar o lock-in, com flexibilidade para adotar novas tecnologias que surgem para atenderem novas demandas e com qualidade empresarial.

A tecnologia utilizada no ciclo automatizado de desenvolvimento bem como processos menos burocráticos, mais participativos e uma cultura de inovação, definem a sua capacidade de sobrevivência no mercado atual.