enero 29, 2023

¿Qué es “Todo como código” y por qué es importante?

Consulte las sesiones a pedido en Low-Code/No-Code Summit para aprender cómo innovar con éxito y lograr eficiencias al mejorar y escalar a los desarrolladores ciudadanos. Mira ahora.


En pocas palabras, “Todo como código” (EaC) es una forma de administrar la infraestructura de TI y crear sistemas y herramientas que admitan aplicaciones de software modernas. Toma los procesos manuales y las tareas que realizan las personas y los convierte en código de software para que las máquinas puedan hacer esas cosas en su lugar. Todo lo que los equipos necesitan entender, acordar y verificar está documentado y “codificado” como un archivo de configuración que los humanos pueden leer y luego las máquinas pueden ejecutar.

Imagínese si su cocina pudiera de alguna manera descubrir su receta favorita y luego elegir automáticamente las herramientas correctas para prepararla, el proceso correcto para cocinarla e incluso las combinaciones correctas de vino y postre, y luego servirle exactamente esa comida una y otra vez. de nuevo, siempre que lo pidas. ¿Parece imposible? …ES. Pero si su cocina fuera un proveedor de nube pública y su comida fuera una aplicación de software, eso es exactamente de lo que estamos hablando aquí.

Todo como código permite a los desarrolladores decirles a sus proveedores de la nube (o sus sistemas locales) exactamente lo que necesitan para “entregar” la aplicación perfecta, luego los sistemas, herramientas y procesos ejecutan ese plan para que esto suceda.

Aproveche las mejores prácticas de desarrollo para acelerar el tiempo de comercialización

EaC fue tanto un cambio cultural como tecnológico porque revolucionó por completo la forma en que los desarrolladores pensar en la creación, distribución y actualización de software. Por ejemplo, antes de “cómo programar”, si, digamos, una pequeña empresa necesitara ejecutar una aplicación, tendría que pasar por muchos pasos. Un administrador de TI pediría un servidor físico con la cantidad adecuada de memoria, CPU y disco físico incorporados. Llegaría unas semanas más tarde y el administrador tendría que instalar el sistema operativo, configurar el kernel para lograr la máxima eficiencia y luego conectar el servidor a una red física. Todos estos pasos requerían mucho tiempo, eran propensos a errores humanos y no eran fácilmente escalables, y solo algunas de las cosas que debían hacerse antes de que los desarrolladores de software pudieran comenzar a ejecutar sus aplicaciones.

Evento

Cumbre de seguridad inteligente

Conozca el papel fundamental de la IA y el ML en la ciberseguridad y los estudios de casos específicos de la industria el 8 de diciembre. Regístrese para obtener su pase gratis hoy.

Suscríbase ahora

Con un enfoque “como código”, un desarrollador puede describir la misma infraestructura en un archivo de configuración de políticas, que le dice al proveedor de nube elegido exactamente el tipo correcto de entorno de servidor para “iniciar”. Su proveedor de nube puede configurarlo en segundos y el desarrollo puede comenzar de inmediato. Más tarde, si el desarrollador necesita hacer un cambio o pasar de un entorno de prueba a un entorno de producción, simplemente puede editar el archivo en código, volver a enviarlo y el proveedor de la nube lo actualizará en segundos. Esto aumenta la velocidad y la escalabilidad exponencialmente, ya que las máquinas pueden ejecutar código mucho más rápido de lo que los humanos pueden realizar tareas y, cuando se hace correctamente, también puede eliminar el error humano y el trabajo repetitivo.

Ejemplos populares “como código”.

Dos de los ejemplos más populares de “como código” que forman parte del movimiento Everything as Code son la infraestructura como código y la política como código:

Infraestructura como código

El software moderno se ejecuta en un entorno hipervirtualizado, lo que agrega complejidad pero también permite un nivel de control sin precedentes. El código de la aplicación se ejecuta en contenedores virtuales, que a su vez se ejecutan en máquinas virtuales, todas conectadas con redes virtuales, todas las cuales se pueden controlar con código de software. Hoy, en lugar de pedir un servidor, los desarrolladores pueden simplemente definir lo que necesita su aplicación y luego enviar esa solicitud como código de software. Las plataformas en la nube ejecutan ese código y crean automáticamente el entorno requerido. Lo realmente importante de esto es que permite a las empresas “escalar según la demanda”: pagan por el uso real en un momento dado y pueden escalar hacia arriba o hacia abajo según sea necesario.

La política como código

Esto es cuando las políticas son un conjunto de reglas que se codifican y aplican en diferentes sistemas. Piense en la “política como código” como un conjunto de barandillas que determinan lo que puede y nunca puede suceder. La política está desacoplada o separada de la aplicación o la infraestructura. De esta manera, si es necesario cambiar una política, un desarrollador no tiene que actualizar ni preocuparse por cambiar o romper el resto de la aplicación o la infraestructura. Esto significa que puede cambiar la codificación de la política sin cambiar la codificación de la aplicación. Open Policy Agent (OPA) es un gran ejemplo de política como código: OPA es un motor de política de propósito general que proporciona un estándar único para la política que se puede aplicar en cualquier lugar.

Los tres principales beneficios de un enfoque de todo como código

Cuando dejas que los humanos sean creativos y piensen en problemas difíciles, y les permites colaborar, compartir e imaginar, todos sabemos que la magia puede suceder. Todo como código permite que los humanos decidan qué es lo correcto y luego pone a las máquinas a cargo de hacerlo de esa manera. Esto significa que obtienes lo mejor de todo, incluyendo:

  • Repetibilidad: todos los procesos, políticas y descripciones están escritos en código, por lo que son fácilmente replicables. Supongamos que un desarrollador que trabaja para un banco global quiere configurar una política que diga: “Solo los usuarios ubicados en el centro de EE. UU. pueden acceder a las cuentas corporativas entre las 9 a. m. y las 5 p. m., hora central”. Si otro desarrollador con sede en Europa quiere implementar la misma política, pero con una zona horaria actualizada, puede replicar fácilmente la política para hacerlo. Esto le ahorra tiempo al segundo desarrollador, lo libera de tener que reinventar la rueda y también significa menos margen de error.
  • Escalabilidad: Definir la configuración como código significa que los sistemas pueden escalar hacia arriba o hacia abajo a pedido con un riesgo mínimo de falla. Y debido a que los entornos se definen literalmente en el código y se pueden crear en cualquier lugar, las pruebas también se vuelven más fáciles. Los entornos de desarrollo, prueba y producción pueden ser lo más idénticos posible, y las lecciones aprendidas en uno solo se pueden aplicar a los demás con cambios de política. Con un enfoque “como código”, los desarrolladores pueden probar sus cambios antes de pasar a producción, lo que reduce el riesgo de errores y riesgos de seguridad. La automatización también libera el tiempo de los desarrolladores y les permite concentrarse en un trabajo más diferenciado.
  • Seguridad: cuando la política y la configuración de seguridad se mueven desde cajas negras, archivos PDF y reuniones de equipo dedicadas y, en su lugar, se codifican en archivos de políticas, los equipos pueden tratar esos archivos de políticas como cualquier otro archivo de software. Esto significa que lo examinan y revisan por pares. Lo repiten e implementan esa seguridad en todas partes. Se puede mover hacia adelante o hacia atrás según sea necesario. Y, cuando los equipos necesitan demostrar a los auditores que su política cumple, pueden señalar fácilmente el código.

Cuando se hace bien, “todo como código” permite a los equipos definir qué es lo correcto y luego dejar que los sistemas se encarguen de eso. Democratiza la capacidad de crear aplicaciones y resolver problemas, lo que significa que más personas pueden contribuir a un mejor producto final.

Y, por supuesto, Everything as Code no se trata solo de sistemas de auditoría. También aprovecha la cultura de trabajo que los desarrolladores de software han creado para minimizar los errores y maximizar la satisfacción y la productividad. Al automatizar la repetición y fomentar la colaboración, Everything as Code permite a los humanos concentrarse en nuevos desafíos y trabajos significativos, y deja que las máquinas se encarguen del resto.

Tim Hinrichs es CTO y cofundador de Styra.

Tomadores de decisiones de datos

¡Bienvenido a la comunidad VentureBeat!

DataDecisionMakers es donde los expertos, incluidos los ingenieros de datos, pueden compartir ideas e innovaciones relacionadas con los datos.

Si desea leer ideas de vanguardia e información actualizada, las mejores prácticas y el futuro de los datos y la tecnología de datos, únase a nosotros en DataDecisionMakers.

¡Incluso podría considerar contribuir con su propio artículo!

Leer más de DataDecisionMakers

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *