Seguridad
Software
Código
Desarrollo
Herramienta

¿Es seguro usar 'low-code'?

Si se manejan adecuadamente, las herramientas de desarrollo que implican poco código no suponen un riesgo de seguridad adicional con respecto a cualquier otra plataforma, sistema o entorno de desarrollo.

low code, desarrollo de código, desarrolladores
Créditos: Charles Deluvio (Unsplash).

El otro día me intrigó un artículo que leí en CSO Online titulado "4 security concerns for low-code and no-code development". La premisa del artículo era, esencialmente, que las empresas deben tener cuidado con las soluciones de low-code (bajo código o poco código) porque pueden causar problemas de seguridad.

En el artículo, el autor Chris Hughes dice: "Al permitir que más personas en una empresa desarrollen aplicaciones, el desarrollo de low-code crea nuevas vulnerabilidades y puede ocultar problemas de seguridad".

Estoy fundamentalmente en desacuerdo con esta premisa. En concreto, no hay nada inherentemente seguro o inseguro en las soluciones de poco código o sin código. La clave de todos los marcos, sistemas, procesos y políticas de desarrollo de aplicaciones -manuales o automatizados- es que son tan seguros como la cantidad que la empresa invierte en hacerlos seguros.

Sí, reducir el número de personas de la organización capaces de crear aplicaciones reduce la probabilidad de que una aplicación tenga una vulnerabilidad de seguridad. Sin embargo, utilizando esa lógica, la mejor manera de hacer que sus aplicaciones sean seguras es reducir el tamaño de su equipo de ingeniería para que produzca menos aplicaciones. Cuantas menos aplicaciones, menos problemas de seguridad tendrán esas aplicaciones. Aunque esta afirmación es cierta, no es muy útil.

Este argumento ofrece una visión limitada del desarrollo de aplicaciones. Un buen CSO fomenta el crecimiento de la organización en lugar de ahogarlo. Sí, una organización más grande y de crecimiento más rápido tiene problemas de seguridad más difíciles de tratar. Mejorar la seguridad de las aplicaciones centrándose en limitar lo que una organización puede construir no es la forma en que un CSO eficaz contribuye al éxito de una empresa. Los mejores CSO encuentran una forma de resolver los problemas de seguridad inherentes a las oportunidades de crecimiento.

Lo mismo ocurre con el low-code. Al permitir que los llamados desarrolladores ciudadanos construyan y amplíen aplicaciones útiles para la empresa, tu compañía permite el crecimiento. El CSO —y el resto del equipo de liderazgo de TI— debería centrarse en facilitar esto proporcionando plataformas de desarrollo de bajo código de alta calidad, fiables y seguras para que sus desarrolladores ciudadanos las aprovechen. Esta es la mejor manera de evitar las vulnerabilidades de seguridad.

¿Cómo se hace eso? En lugar de oponerse al uso de herramientas de desarrollo de poco código, trabaje para introducir en su empresa herramientas de desarrollo de low-code de nivel empresarial, permita a los usuarios aprender cómo funcionan y fomente su uso. Al mismo tiempo, asegúrese de que el entorno que proporcionan estas herramientas es seguro.

En lugar de relegar el desarrollo de low-code al turbio mundo de la Shadow IT (las TI en la sombra), esta estrategia sitúa el bajo código en el centro y fomenta su uso —bajo la responsabilidad del CSO, el departamento de seguridad y el resto de la organización de TI de la empresa—, lo que permitirá a su compañía crecer. Este crecimiento aprovecha el valor de una plantilla de desarrolladores ciudadanos que refuerza, mejora y multiplica el valor del resto de la organización de desarrollo.

 

El 'low-code' es una herramienta más

Piensa en los primeros días de la informática, cuando los desarrolladores escribían sus programas en lenguaje ensamblador o lenguaje de máquina. Desarrollar en estos lenguajes de bajo nivel era difícil y requería desarrolladores muy experimentados para realizar las tareas más sencillas. Hoy en día, la mayoría del software se desarrolla con lenguajes de programación de alto nivel, como Java, Ruby, JavaScript, Python y C++. ¿Por qué? Porque estos lenguajes de alto nivel permiten a los desarrolladores escribir código más potente con mayor facilidad y centrarse en problemas más importantes, sin tener que preocuparse por las complejidades de bajo nivel de la programación en lenguaje máquina.

La llegada de los lenguajes de programación de alto nivel mejoró la programación en lenguaje máquina y ensamblador y, en general, permitió que menos código lograra más. Esto se vio como una gran mejora en la capacidad de llevar a cabo aplicaciones más grandes y mejores con mayor rapidez. El desarrollo de software seguía siendo una tarea muy especializada, que requería habilidades y técnicas muy especializadas. Pero más personas podían aprender estos lenguajes y las filas de los desarrolladores de software crecían. Había nacido la era del desarrollador de software productivo.

Con el tiempo, los desarrolladores empezaron a escribir aplicaciones más grandes y complejas. Empezaron a crear plataformas de programación, marcos y conjuntos de herramientas para mejorar sus capacidades de desarrollo. Marcos como ASP.NET, Ruby on Rails, jQuery, Spring y React.js permitieron a los desarrolladores crear aplicaciones de mayor nivel con mayor facilidad. Luego, los servicios SaaS y en la nube añadieron más capacidades al arsenal del desarrollador.

Todas estas herramientas y servicios de alto nivel mejoraron la experiencia de desarrollo y continuaron la tendencia de permitir que menos código logre más. Esto supuso una enorme mejora en la capacidad de llevar a cabo aplicaciones más complejas con mayor rapidez. No sólo era más fácil crear aplicaciones de alto valor, sino que también se requería menos formación para convertirse en un desarrollador experto. Menos formación significaba que había más desarrolladores de software disponibles. Había nacido la era del SaaS y de las aplicaciones basadas en la nube.

El tiempo avanza y los desarrolladores han empezado a escribir aplicaciones más grandes y complejas. La inteligencia artificial y las capacidades de aprendizaje automático están empezando a expandirse y las herramientas de poco o nada de código aumentan la capacidad del desarrollador para construir aplicaciones más complejas. Estas herramientas mejoran las capacidades de otras herramientas de desarrollo, continuando la tendencia de permitir que menos código logre más. También abren el desarrollo a los desarrolladores menos experimentados. Ahora, alguien sin formación directa y específica como desarrollador puede crear aplicaciones que realicen tareas avanzadas. Ha nacido la era del desarrollador ciudadano.

No hay nada fundamentalmente nuevo o novedoso en el desarrollador ciudadano. Es sólo la última iteración en la evolución del papel del desarrollador de software. No hay nada en esta progresión del desarrollo de software que haga que el low-code o el no-code sean más o menos peligrosos, más o menos seguros, más o menos útiles, que cualquiera de las otras mejoras de desarrollo que vinieron antes.

Decir que las herramientas de poco o nada de código son fundamentalmente menos seguras o menos útiles o menos seguras que las herramientas anteriores es hipócrita. Son un conjunto de herramientas en evolución que todas las empresas necesitan y de las que dependerán a medida que avancemos.

 

El 'low-code' lo superará

Si el low-code no se diferencia de otras mejoras del entorno de desarrollo, ¿por qué hay tanto bombo y platillo contra esta tendencia?

No es raro ni inesperado. En su día, cada una de estas nuevas capas se enfrentó a los mismos problemas. No hace tanto tiempo que "no nos atrevíamos" a considerar la nube para el uso de TI empresarial, o a considerar el uso de React para una aplicación empresarial seria. También recuerdo los días en que Java era el único lenguaje considerado lo suficientemente seguro para el desarrollo de TI empresarial.

¿Y qué hay de la preocupación de que el low-code permita la shadow IT? Bueno, no fue hace tanto tiempo cuando la computación en la nube se consideraba TI en la sombra, o cuando una "plataforma nueva y novedosa" como Ruby on Rails o React solo podía utilizarse en aplicaciones no oficiales.

Las herramientas de desarrollo de low-code, no-code y asistidas por IA están aquí para quedarse, y seguirán creciendo en importancia. Los departamentos de TI de las empresas y los departamentos de seguridad de las empresas se quedarán atrás a menos que se adelanten y ayuden a impulsar el crecimiento de estas plataformas, en lugar de arrastrar los talones y esperar que desaparezcan.

Si se maneja adecuadamente, el low-code no supone ningún riesgo de seguridad adicional con respecto a cualquier otra plataforma, sistema o entorno de desarrollo. No supone más riesgo operativo ni costes no gestionados. La clave es manejarlo adecuadamente. Si se permite que el low-code se convierta en un recipiente para shadow IT entonces puede ser tan inseguro como cualquier otro proyecto de TI en la sombra. Si se permite que el low-code se convierta en algo no supervisado y no controlado, entonces puede ser tan inseguro como cualquier otro proceso no supervisado y no controlado.

Las herramientas y plataformas de desarrollo de poco código han madurado hasta el punto de ser fiables. Esto es especialmente cierto cuando se ejecuta con sistemas de low-code de alta calidad y de nivel empresarial de proveedores establecidos.



Contenido Patrocinado

Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital