Como o open source está definindo as tecnologias do futuro - Canaltech
Como o open source está definindo as tecnologias do futuro
Por Boris Kuszka | 02 de Outubro de 2018 às 12h41
Nos últimos eventos que tenho participado vejo de forma contundente como o Open Source já é a base dos novos projetos de TI: sejam eventos grandes onde até os mais tradicionais fabricantes de software proprietário estão se posicionando como colaboradores de projetos e efetivamente colocando os componentes em suas soluções; eventos de indústria onde o #Opensource emerge como a principal fonte de inovação (vide CIAB, evento do segmento financeiro, com uma parte do evento dedicado para as Fintechs ou o SET Expo, evento de tecnologia para mídia e entretenimento, onde participei de um painel sobre Software Livre coordenado pela TV Globo e com a colaboração da Plataformatec, empresa que inventou o Elixir, que falo um pouco mais adiante); eventos de clientes de grande e médio portes, divulgando internamente uma nova filosofia ágil de desenvolvimento de aplicações, apoiando a abordagem DevOps que fundamentalmente é suportado em tecnologias Open Source,entre outros.
As novas tecnologias estão abrindo novas fronteiras e modelos de negócios antes impensáveis. Cada vez mais líderes digitais vêm despertando para soluções interoperáveis, flexíveis e escaláveis. Não é por acaso que o open source ou software livre, está se tornando tão relevante em todas as indústrias: é a solução que está remodelando a TI moderna, definindo o futuro digital e impulsionando tecnologias como o mobile, big data, cloud, internet das coisas (IoT), inteligência artificial, blockchain, serverless, entre tantas outras.
Open source brasileiro
Dois grandes exemplos comprovam o quanto o open source é transformador: as linguagens Lua e Elixir, ambas criadas por brasileiros no Brasil. A primeira, desenvolvida e implementada por uma equipe de professores da PUC-RJ, combina sintaxe procedural simples com poderosas construções para descrição de dados baseadas em tabelas associativas e de semântica extensível. Essas características fazem da Lua uma linguagem ideal para configuração, automação e prototipagem rápida. Tendo como concorrentes nomes como Ruby, PHP e Java, a criação brasileira está por trás dos jogos mais avançados da atualidade, além dos setup boxes de TV digital e renomadas ferramentas de análise de rede.
Já a Elixir é uma linguagem funcional dinâmica projetada para construir e manter aplicações escaláveis em máquinas virtuais Erlang. Além da tolerância a falhas, proporciona o desenvolvimento interativo e funcional em um ecossistema crescente. A Elixir é uma criação brasileira utilizada em todo mundo, no desenvolvimento desde redes sociais e aplicativos de táxi até soluções SaaS e grandes portais colaborativos e de mídia.
E o Brasil não fica somente nessas contribuições: a universidade de Campina Grande, por exemplo, é uma das universidades que mais contribui para o OpenStack, sendo o berço do projeto Ironic ("bare metal" no OpenStack) e grandes contribuições para o Manage-IQ (projeto comunidade do Cloudforms).
São inúmeras contribuições que vêm do Brasil para os projetos e produtos Open Source. Aqui na Red Hat mesmo temos mais de 50 engenheiros de desenvolvimento brasileiros contribuindo tanto para os nossos projetos Open Source como nos produtos enterprise.
Acelerando a evolução dos sistemas empresariais
As novas tecnologias pedem padrões abertos para que sejam utilizadas em larga escala e sem depender de nenhum fabricante. Para estabelecer os padrões de uma forma transparente e buscando colaboração, estão surgindo fundações open source específicas a uma indústria, como a Fintech Open Source Foundation (FINOS) focada em promover a inovação aberta em serviços financeiros. A FINOS acredita que organizações que adotam o desenvolvimento baseado em software open source e padrões de mercado estarão mais bem posicionadas para capturar as oportunidades ligadas à transformação tecnológica que os serviços financeiros estão passando.
Todas as indústrias estão, de uma forma ou outra, sofrendo pressão do mercado para que ofereçam algo inovador, ou perderão os seus clientes mais cedo ou mais tarde.
Todos os que têm um smartphone, e a parcela da população que tem acesso a essa tecnologia vem aumentando com uma velocidade violenta, estão acostumados com uma interface fácil, intuitiva e que constantemente traz novidades. A barra está alta: os usuários de qualquer sistema, sejam clientes finais, funcionários ou parceiros, esperam um alto nível de serviço. A frequência de atualização dos apps que rodam nos dispositivos móveis é semanal ou, na pior das hipóteses, mensal. É uma periodicidade bastante superior em comparação à frequência de atualização dos sistemas que executam nas empresas que ainda não adotaram metodologias ágeis, onde as atualizações são feitas a cada três meses no melhor dos casos, e muitos sistemas sequer são atualizados com medo de quebrar qualquer estabilidade do sistema.
Obviamente, nem todo sistema necessita de atualizações constantes, mas muitas empresas se tornaram mais eficientes e rentáveis com sistemas que permitem incorporar pequenas e novas funcionalidades de maneira fácil e frequente: fidelizam muito mais os seus clientes e seus funcionários. Em outras palavras, mais receita e funcionários mais satisfeitos.
Como funcionários, as gerações novas exigem acesso fácil pelo celular aos sistemas da empresa, pois poder trabalhar de qualquer lugar e em qualquer horário aumenta seu rendimento: seja o sistema de pedido de reembolso, passagem aérea ou ao ERP da empresa.
Como clientes, o mercado atual exige inovação, constante inovação.
Computação nativa em nuvem: universal e sustentável
O problema é como propor uma nova funcionalidade num sistema se só o projeto para adicionar um novo campo em uma tela, por exemplo, leva pelo menos seis meses? E, ainda, quando fica pronto, o resultado estraga uma outra parte do sistema que estava funcionando antes? Ou além: pensem nas madrugadas acordadas com todo o time de desenvolvimento e operações envolvido para colocar uma pequena mudança de sistema em produção. Se estamos falando de mudanças mais frequentes, vamos ter que trabalhar todas as madrugadas? A utilização de microsserviços é uma resposta muito mais plausível.
Uma aplicação preparada para cloud computing se utiliza de uma arquitetura baseada em microsserviços: altamente desacoplada (sem dependências diretas entre os microsserviços) e sem estado (todo o armazenamento é efêmero). Cada microsserviço é empacotado no próprio container (isolamento por software empacotando a aplicação e suas dependências), e orquestrando esses containers dinamicamente para otimizar a utilização de recursos e permitir atender a demandas flutuantes. É dessa forma que tecnologias nativas de computação em nuvem permitem que os desenvolvedores construam grandes produtos mais rapidamente. Hoje existe uma fundação de software open source dedicada a tornar a computação nativa em nuvem universal e sustentável, a Cloud Native Computing Foundation (CNCF).
Indústrias inteiras estão mudando de maneira fundamental, usando aplicações para trilhar seu próprio caminho rumo à transformação digital. Nos mais variados ramos de negócio é possível encontrar novas arquiteturas, formas de integração, infraestrutura baseada em nuvem e novas formas de desenvolver e entregar aplicações, além de processos mais ágeis para dar suporte tanto à T.I. quanto ao negócio. Todos esses elementos permitem entregar serviços mais rápidos e com menor custo. Oferecer aplicativos com maior produtividade envolve desenvolvedores capazes de construir mais aplicativos por meio de novas linguagens.
Neste cenário, há uma grande oportunidade de prover facilidade e escalabilidade semelhante à nuvem pública para organizações. Partindo dos appliances proprietários para o software defined é possível alcançar menor custo e a possibilidade de ter um leque de fornecedores variados. A escalabilidade proporcionada por essas soluções confere grande flexibilidade operacional, o uso de inteligência baseada em hardware e software, e maior agilidade, controle e programabilidade em desenvolvimento fechado. A infraestrutura moderna habilita o negócio digital: o desenvolvimento aberto (SO ou APIs) é mais flexível, e conta com tecnologia integrável, proporcionando inovação rápida. Por ser racionalizada e automatizada, é elástica e escalável, ágil e capaz de responder, proporcionando o desenvolvimento rápido de aplicações.
O universo de software livre disponibiliza linguagem de programação, ferramentas e uma infinidade de bibliotecas especializadas capazes de acelerar o desenvolvimento, viabilizar, rápida experimentação e transformação de novas ideias em produto. Todas as empresas, sejam startups ou grandes organizações já entenderam que para se manter relevantes no mercado, precisam oferecer novos serviços baseados em tecnologia. No fim do dia, o open source é a única potência tecnológica que é capaz de inovar na velocidade e alcance dos negócios digitais do mundo moderno.