DevOps en la era de Blockchain
- Gestión de apps
Si bien Blockchain se ha convertido en una de las palabras de moda más importantes de 2018, es importante explorar cómo esta tecnología se aplicará al flujo de trabajo de los desarrolladores en los próximos años.
El estado actual del desarrollo de software da como resultado una gran cantidad de esfuerzos redundantes. La misma funcionalidad se genera repetidamente, lo cual es una pérdida de tiempo y recursos para una empresa. El código abierto ha sido una solución parcial, pero no resuelve completamente el problema de las actualizaciones de código confiables, que son fundamentales para mantener una alta velocidad de innovación. Esto es especialmente grave en las redes descentralizadas, donde las nuevas versiones deben enviarse a potencialmente miles de nodos independientes.
La cultura de DevOps ha estado avanzando para solucionar este problema central mediante la racionalización y la automatización de los procesos de entrega. Asumiendo la propiedad de todos los niveles del ciclo de desarrollo: mayor frecuencia de publicación, construcción, prueba e integración, los desarrolladores de software han sido más capaces de mantenerse al día con los objetivos comerciales.
Desde una perspectiva empresarial, los principios inherentes a DevOps son geniales, pero solo son el primer paso. Si bien la automatización y la integración continua han ayudado a acelerar el proceso de desarrollo, la utilización de la tecnología blockchain puede convertirse en una forma de ayudar a que el proceso sea instantáneo y transparente.
Actualización de contratos
Una distinción importante entre un equipo de DevOps en su iteración actual y la integración continua de la era blockchain es la capacidad de actualización del contrato inteligente. Una compañía tradicional de software como servicio (SaaS) tiene control total sobre las versiones del software que publica en sus servidores. En las redes distribuidas basadas en cadenas de bloques, actualizar el código de contrato inteligente no es tan trivial y, a menudo ni siquiera es compatible de forma nativa (por ejemplo, en Ethereum).
La gobernanza distribuida todavía se encuentra en los primeros días, y dado que cada actualización a los contratos inteligentes tiene que pasar por los procedimientos de gobierno, es difícil encontrar una solución única para la mayoría de los modelos. Esto lleva a implementaciones manuales propensas a errores de migraciones de contratos inteligentes que pueden causar errores, pérdidas financieras e incluso incapacidad para realizar más actualizaciones. Los estándares y las herramientas están por surgir en este campo.
Dicho esto, es fácil ver cómo las migraciones de código basadas en blockchain agregan transparencia y responsabilidad en comparación con los sistemas centralizados, donde una sola entidad tiene control total sobre la lógica de la aplicación y puede modificarla en cualquier momento sin tener en cuenta los intereses del consumidor. El uso de blockchain en este caso no pretende hacerse cargo de un equipo DevOps, sino integrarse con el trabajo del equipo y hacer que el proceso sea más transparente para todas las partes involucradas.
Apoyar a los desarrolladores
No todos los desarrolladores tienen actualmente las habilidades para crear en la cadena de bloques. Pero este es un tema de interés en los detalles y el tiempo del nivel de protocolo. En lugar de esperar que los desarrolladores aprendan cada línea de código y configuración utilizada en las aplicaciones de blockchain, necesitamos herramientas para casos de uso común en software empresarial para que los desarrolladores no reinventen la rueda cada vez. Nuevamente, esto habla de la naturaleza complementaria de las tecnologías blockchain para DevOps. Queremos crear un conjunto de herramientas para hacer que la experiencia de DevOps sea aún más fácil.
En la era emergente de blockchain, DevOps aún aporta las mejores prácticas necesarias para lanzar software. Al agregar aplicaciones y herramientas de blockchain al ciclo de desarrollo de los equipos de DevOps, DevOps alcanzará nuevas alturas de productividad.
Descubre la innovación
Para asegurar el éxito empresarial, ahora y a futuro, es imprescindible maximizar el retorno de la inversión existente en software, a la vez que innovar y adoptar nuevas tecnologías. Los retos que hay abordar para competir en un mundo de TI Híbrida incluyen DevOps, Seguridad, Gestión de riesgos y Análisis predictivo. Puedes obtener más información sobre cómo abordar estos retos e innovar en este enlace.