X
BLOG

Mitigar el costo y el riesgo de desarrollar software de código abierto

Mitigar el costo y el riesgo de desarrollar software de código abierto Tiempo de leer: 5 minutos

El actor estrella en muchas tiendas de TI empresariales es el código abierto. Hace veinte años, ¿quién podría haber predicho los miles de millones de dólares en valor generados solo por las contribuciones a Linux y la Fundación Apache, y mucho menos el ecosistema de proyectos que se han convertido en productos de software maduros a su alrededor?

El software de código abierto es algo hermoso. Prácticamente gratis, traído de forma transparente al mundo y reforzado por comunidades de desarrolladores preocupadas. Pero desarrollar su propio software empresarial sobre el código abierto no es todo "Kum-ba-ya" y sol. Este software gratuito no es totalmente gratuito ni está exento de riesgos.

Prepárese para un programa, porque el desarrollo de código abierto puede venir acompañado de algo de drama.

Las empresas que se embarcan en proyectos comerciales críticos que utilizan código abierto deben sopesar los costos ocultos, los riesgos de calidad y los desafíos de trabajar con esta clase de software ahora madura, pero completamente única.

Detrás de escena: ¿Motivación de costo o calidad?

El mercado ha hablado. Más que El 98% de los desarrolladores ahora dicen que usan software de código abierto. en su trabajo. Muchas empresas están siguiendo esta demanda, tomando una decisión estratégica para aprovechar los marcos y herramientas de código abierto para los esfuerzos de desarrollo y prueba, donde sea que tengan sentido.

El software de código abierto ya no es únicamente el dominio del desarrollo de bricolaje incondicional. Por el contrario, muchas herramientas DevTest de código abierto tienen una usabilidad que se acerca a la calidad comercial a medida que la comunidad y las empresas comerciales de código abierto mejoran y refuerzan cada producto, y están bien catalogadas con bibliotecas y plantillas gratuitas en GitHub y en otros lugares.

Siempre tendremos más pruebas de Junit y Selenium listas para cargar. Más código SOAPUI y Postman para agregar valor. Más componentes de Maven listos para descargar y fragmentos de código en Stack Overflow. Más guiones de creación de Jenkins y recetas de chef.

El código abierto ofrecía ventajas de costes de TI de forma innata frente al software propietario. La más obvia fue la eliminación de los draconianos contratos de licencia. Si sus equipos pueden descargar libremente el código y utilizar o modificar democráticamente estas herramientas para sus propios fines, ¿por qué pagarle a un proveedor? (Llegaremos a esa parte).

Y a la inversa, ¿por qué empresas como IBM, Microsoft, Google y Facebook renuncian a las tarifas de licencia para contribuir con su IP a las herramientas fundamentales de desarrollo / prueba bajo licencias de código abierto? Ya sea Eclipse o Visual Studio, Kubernetes o React, estos titanes también son creyentes del código abierto, que luchan por la participación de los desarrolladores y la adopción neta de ideas que alguna vez fueron propietarias.

Claramente, hay más factores que los ahorros de costos de licencia en juego en esta escena, o no vería tantos proveedores importantes y empresas comerciales de código abierto invirtiendo fuertemente en proyectos de código fuente.

Pague sus cuotas con mano de obra premium

Cuando construye sobre marcos y componentes de código abierto, puede evitar ciertos costos de licencia, pero esencialmente está invirtiendo en una anualidad con sus horas de desarrollo a medida que crea más activos y depende de la cadena de herramientas seleccionada.

Para continuar obteniendo valor de esta inversión, las empresas deben atraer y retener talentos capacitados (es decir, probablemente bastante costosos) para administrar de manera proactiva el uso de productos de código abierto en relación con el software y los servicios construidos sobre ellos.

Las personas que comprenden la naturaleza interconectada del código de la empresa con el estado actual de las herramientas de código abierto rara vez tienen tiempo libre, lo que genera un mayor costo de mano de obra para la implementación, la administración de la configuración, las pruebas y el monitoreo.

Afortunadamente, tenemos dos palancas para mantener bajos los costos laborales: contribución y automatización. Más que El 55% de todos los desarrolladores dicen ahora que contribuyen regularmente al código abierto. proyectos y, de hecho, la mayoría de estos desarrolladores consideran la libertad de contribuir al código abierto como un elemento esencial de satisfacción laboral.

Permitir la contribución es un incentivo que ayuda a atraer y retener a los empleados de desarrollo, y paga dividendos en términos de una mejor conciencia y orientación de los proyectos de código abierto.

Quizás aún más importante para controlar los costos laborales es un enfoque incesante en la automatización, uno de los principios básicos del movimiento DevOps. Obtener una mejor reutilización de los artefactos de desarrollo, construcción y prueba es el camino más rápido para obtener valor para muchas empresas.

“Construimos nuestro Jtest y Selenico productos para admitir marcos de código abierto Junit y Selenium de una manera neutral con respecto al proveedor, lo que significa que los desarrolladores y evaluadores pueden conectar sin problemas las herramientas de Parasoft sin quedar 'bloqueados por el proveedor' ”. dijo Mark Lambert, vicepresidente de productos de la firma de calidad de software Parasoft.

“Además, cuando los equipos necesitan ir más allá de lo que pueden proporcionar las herramientas de código abierto, como SOAPUI y Postman, ingerimos las pruebas de estas herramientas y trasladamos la inversión de prueba existente del equipo a pruebas automatizadas más grandes que abarcan varios niveles y van más allá del soporte REST. . "

La participación a través de la contribución de los desarrolladores con la reutilización y la automatización mantiene a las empresas preparadas para la secuela en todo momento.

Logre el cumplimiento sin sorpresas

Después de docenas de fallas de software de alto perfil y violaciones de datos, los gobiernos y los grupos de la industria están pidiendo niveles más altos de responsabilidad para el software, tanto para la privacidad de datos como GDPR en la UE, como regulaciones específicas de la industria como HIPAA para atención médica y PCI para bancario.

La empresa de ciberseguridad, Sonatype, informó recientemente que más de 10,000 empresas, incluido el 57% de las Fortune 1000, han descargado la misma versión vulnerable de Apache Struts, que expuso la violación masiva de datos de clientes de Equifax.

Para abordar los riesgos de cumplimiento, las empresas deben proporcionar documentación auditable del proceso completo de entrega de software, incluida la demostración del manejo seguro de datos y los controles de cambios. No hacerlo puede resultar en multas de miles de millones de dólares. Es un golpe para el valor de una empresa que incluso se puede sentir en la sala de juntas.

Eso puede resultar difícil en un entorno en el que los desarrolladores descargan y copian miles de millones de componentes y fragmentos de código al año de bibliotecas de código abierto.

Las pruebas automatizadas continuas deben suceder en cada evento de cambio de software. Más allá de eso, debe generar un informe completo de ese proceso con el contexto para hacer algo sobre cualquier falla expuesta o riesgos de seguridad que surjan.

Supongamos que su última auditoría de entrega de software descubre que "algo anda mal" en el entorno de ensayo y necesita un parche o una actualización para solucionarlo de inmediato. ¿A quién llamas?

Código abierto con soporte comercial

Los directores de sistemas de información y los líderes de desarrollo expertos entienden que, si bien el software de código abierto puede aliviar los contratos draconianos de los proveedores y el bloqueo, el desarrollo de soluciones encima, a escala empresarial, aún requiere un camino a seguir con soporte comercial.

Siempre existe la posibilidad de que un proyecto de código abierto popular salga mal o se convierta en noticia de ayer. ¿Qué sucede si la comunidad de desarrolladores se traslada a pastos más verdes y descuida las herramientas en las que trabajaron ayer?

Alguien tendrá que estar pendiente y respaldar los lanzamientos con las actualizaciones necesarias y la garantía de que los componentes de código abierto en juego son adecuados para su propósito. Se ha formado un ecosistema de proveedores de desarrollo y pruebas en torno a estas consideraciones. En los momentos en que el cliente necesita certificar la integridad de las herramientas de código abierto, o el soporte a nivel empresarial de las integraciones, servicios y pruebas que se ejecutan sobre ellas, el cliente puede firmar con un proveedor para asumir la responsabilidad del éxito.

Además de este nuevo espíritu de código abierto con soporte comercial, los proveedores a menudo proporcionan un costo de entrada gratuito a las herramientas comerciales para la educación de los desarrolladores individuales y los esfuerzos de contribución. Por ejemplo, hay un "Community Edition" sin costo de Virtualize producto, por lo que los desarrolladores, probadores y SRE puede aprender sobre la virtualización de servicios mientras crea y documenta entornos de prueba virtuales para promover la colaboración.

La toma Intellyx

Los marcos de código abierto pueden robar el show por ofrecer valor en su tienda de TI mientras intrigan a los desarrolladores para que se involucren, pero no es necesario que se convierta en una prima donna como resultado.

Las empresas deben ir más allá de los modelos simplistas de costos finales o los cálculos de ROI para considerar la experiencia completa del cliente y del empleado. Se logra trabajando con un conjunto completo de herramientas comerciales y de código abierto, al tiempo que busca las organizaciones de servicios y las comunidades detrás de ellas para ayudar a mitigar el riesgo.

Busque asideros fáciles para empezar, ponga al día a los desarrolladores y probadores individuales y reutilice los activos de código abierto.

Verifique y certifique su entorno de forma continua. La automatización y la transparencia predecibles eliminarán el drama del código abierto en todo momento.

Escrito por

Jason Inglés

Jason English es Analista Principal y CMO en Intellyx, donde asesora a los principales proveedores de soluciones tecnológicas y a las nuevas empresas de software mientras navegan por la transformación digital. Su experiencia incluye experiencia del cliente y diseño interactivo, ciclo de vida de desarrollo / prueba de software empresarial, virtualización, nube y blockchain.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.

Prueba Parasoft