É seguro usar low-code?

Se manuseadas corretamente, as ferramentas de desenvolvimento de low-code não representam um risco adicional de segurança para qualquer outra plataforma, sistema ou ambiente de desenvolvimento.

Por Lee Atchison

No outro dia fiquei intrigado com um artigo que li no CSO Online intitulado “4 Preocupações de Segurança para Desenvolvimento de Low-code e Now-code”. A premissa do artigo era essencialmente que as empresas deviam ter cuidado com soluções de low-code, porque podem causar problemas de segurança.

No artigo, o autor Chris Hughes diz: “Ao permitir que mais pessoas numa empresa desenvolvam aplicações, o desenvolvimento de low-code cria novas vulnerabilidades e pode esconder problemas de segurança.”

Discordo fundamentalmente desta premissa. Especificamente, não há nada seguro ou inseguro em soluções de low-code ou now-code. A chave para todos os quadros de desenvolvimento de aplicações, sistemas, processos e políticas – manuais ou automatizados – é que são tão seguros quanto o montante que a empresa gasta para torná-los seguros.

Sim, reduzir o número de pessoas na sua organização que podem construir aplicações reduz a probabilidade de uma aplicação ter uma vulnerabilidade de segurança. No entanto, usando esta lógica, a melhor maneira de tornar as suas aplicações seguras é reduzir o tamanho da sua equipa de engenharia para que produza menos aplicações. Quanto menos aplicações, menos questões de segurança as suas aplicações terão. Embora esta afirmação seja verdadeira, não é muito útil.

Este argumento proporciona uma visão limitada do desenvolvimento das aplicações. Um bom CSO promove o crescimento organizacional em vez de sufocá-lo. Sim, uma organização maior e mais rápida tem problemas de segurança mais difíceis de lidar. Melhorar a segurança das aplicações, concentrando-se em limitar o que uma organização pode construir não é como um CSO eficaz contribui para o sucesso de uma empresa. Os melhores CSO encontram uma maneira de contornar as questões de segurança inerentes às oportunidades de crescimento.

O mesmo se aplica ao low-code. Ao permitir que os chamados “programadores cidadãos” construam e aumentem aplicações úteis ao negócio, permite o crescimento do seu negócio. O CSO – e o resto da equipa de liderança de TI – devem concentrar-se em facilitar isto, fornecendo plataformas de desenvolvimento de alta qualidade, fiáveis e seguras para que os seus programadores de cidadãos aproveitem. Esta é a melhor maneira de evitar vulnerabilidades de segurança.

Como é que se faz isso? Em vez de ochering para o uso de ferramentas de desenvolvimento de low-code, trabalhe para introduzir ferramentas de desenvolvimento de low-code de classe empresarial para o seu negócio, permitir que os utilizadores aprendam como funcionam, e incentivem o seu uso. Ao mesmo tempo, certifique-se de que o ambiente fornecido por estas ferramentas é seguro.

Em vez de relegar o desenvolvimento de low-code para o mundo obscuro da Shadow IT, esta estratégia coloca a frente e o centro de low-code e encoraja a sua utilização – sob a responsabilidade do CSO, do departamento de segurança e do resto da organização de TI da empresa – permitindo que o seu negócio cresça. Este crescimento alavanca o valor de uma força de trabalho de promotor de cidadãos que fortalece, melhora e multiplica o valor do resto da organização de desenvolvimento.

O ‘low-code’ é outra ferramenta

Pense no início da informática, quando os programadores escreveram os seus programas em linguagem de montagem ou linguagem de máquina. O desenvolvimento nestas línguas de baixo nível foi difícil e exigiu que os programadores muito experientes realizassem as tarefas mais simples. Hoje em dia, a maioria dos softwares é desenvolvido usando linguagens de programação de alto nível como Java, Ruby, JavaScript, Python e C++ . A que se deve isso? Porque estas línguas de alto nível permitem que os programadores escrevam códigos mais poderosos mais facilmente e se concentrem em questões mais importantes, sem terem que se preocupar com as complexidades de baixo nível da programação de máquinas.

O advento de linguagens de programação de alto nível melhorou a programação na linguagem máquina e de montagem e geralmente permitiu menos código para realizar mais. Isto foi visto como uma grande melhoria na capacidade de executar aplicações maiores e melhores mais rapidamente. O desenvolvimento de software ainda era uma tarefa altamente especializada, requerendo competências e técnicas altamente especializadas. Mas mais pessoas podiam aprender estas línguas, e as fileiras de programadores de software estavam a crescer. A era do programador de software produtivo nasceu.

Com o tempo, os programadores começaram a escrever aplicações maiores e mais complexas. Começaram a construir plataformas de programação, quadros e conjuntos de ferramentas para aumentar as suas capacidades de desenvolvimento. Quadros ASP.NET, Ruby on Rails, jQuery, Spring e React.js facilitaram aos programadores a construção de aplicações de alto nível. Em seguida, o SaaS e os serviços na cloud adicionaram mais funcionalidades ao arsenal de desenvolvimento.

Todas estas ferramentas e serviços de alto nível melhoraram a experiência de desenvolvimento e continuaram a tendência de permitir que menos códigos fizessem mais. Esta foi uma grande melhoria na capacidade de executar aplicações mais complexas mais rapidamente. Não só era mais fácil construir aplicações de alto valor, como também exigia menos formação para se tornar um programador especializado. Menos formação significava que mais programadores de software estavam disponíveis. Nasceu a era do SaaS e aplicações baseadas na cloud.

O tempo passa e os programadores começaram a escrever aplicações maiores e mais complexas. As capacidades da inteligência artificial e do machine learning estão a começar a expandir-se, e as ferramentas com pouco ou nenhum código aumentam a capacidade do programador de criar aplicações mais complexas. Estas ferramentas aumentam as capacidades de outras ferramentas de desenvolvimento, continuando a tendência de permitir menos código para realizar mais. Também abrem o desenvolvimento a programadores menos experientes. Agora, alguém sem formação direta e específica como programador pode criar aplicações que executam tarefas avançadas. A idade do programador cidadão nasce.

Não há nada de fundamentalmente novo ou inovador no programador cidadão. É apenas a mais recente iteração na evolução do papel do programador de software. Não há nada nesta progressão de desenvolvimento de software que torne o low-code ou nenhum código mais ou menos perigoso, mais ou menos seguro, mais ou menos útil do que qualquer outra melhoria de desenvolvimento que veio antes dele.

Dizer que as ferramentas com pouco ou nenhum código são fundamentalmente menos seguras ou menos úteis ou menos seguras do que as ferramentas anteriores é hipócrita. São um conjunto de ferramentas em evolução de que todas as empresas precisam e dependerão à medida que avançamos.

O low-code vai ultrapassá-lo

Se o low-code não é diferente dos outros melhoramentos ambientais de desenvolvimento, por que razão há tanta agitação contra esta tendência?

Não é invulgar ou inesperado. No seu tempo, cada uma destas novas camadas enfrentou os mesmos problemas. Não foi há muito tempo que “não nos atrevemos” a considerar a cloud para uso de TI corporativo ou considerar usar o React para uma aplicação empresarial séria. Lembro-me também dos dias em que Java era a única língua considerada segura o suficiente para o desenvolvimento de TI da empresa.

E a preocupação que o low-code lhe permite ensombrar? Bem, não foi há muito tempo que a computação em cloud era considerada Shadow IT, ou quando uma “nova plataforma quente” como Ruby on Rails ou React só podia ser usada em aplicações não oficiais.

Os instrumentos de desenvolvimento de low-code, now-code e de IA-assistidos chegaram para ficar e continuarão a crescer em importância. Os departamentos de TI corporativos e os departamentos de segurança corporativa serão deixados para trás, a menos que se aproximem e ajudem a impulsionar o crescimento destas plataformas, em vez de arrastarem os calcanhares e esperarem que desapareçam.

Se manuseado corretamente, o low-code não apresenta nenhum risco adicional de segurança em comparação com qualquer outra plataforma, sistema ou ambiente de desenvolvimento. Já não implica riscos operacionais ou custos não geridos. A chave é manuseá-lo corretamente. Se o low-code for permitido tornar-se um recipiente para sombras TI, então pode ser tão inseguro como qualquer outro projeto de TI sombra. Se o low-code for permitido não ser monitorizado e descontrolado, então pode ser tão inseguro como qualquer outro processo não monitorizado e descontrolado.

As ferramentas e plataformas de desenvolvimento de low-code amadureceram ao ponto de serem fiáveis. Isto é especialmente verdade quando funciona com sistemas de low-code de alta qualidade de empresas de fornecedores estabelecidos.




Deixe um comentário

O seu email não será publicado