Saltar contenido

Chapter 4

Productos y negocios digitales

Acelera tu negocio adoptando las nuevas reglas de lo digital. Dé forma a empresas digitales innovadoras, productos de alto rendimiento y experiencias extraordinarias habilitadas por la tecnología.

¿Bloquear o desbloquear el futuro?

¿Pueden las tecnologías presentadas aquí ponernos en el camino hacia un futuro mejor? ¿O corren el riesgo de llevarnos por el camino equivocado? Una mirada a la perspectiva de nuestros expertos.

En el camino correcto…

Las tecnologías y los métodos de desarrollo modernos ahora han alcanzado un nivel de madurez que realmente brinda a las empresas la oportunidad de transformarse a sí mismas a través de lo digital. Técnicamente, ya no hay obstáculos y cada problema puede resolverse mediante una elección juiciosa de herramienta o infraestructura. Combinando el buen uso de las tecnologías y las nuevas prácticas ágiles, nacen productos más sostenibles, así como ofertas más acordes con nuestro mundo y las aspiraciones de los consumidores o ciudadanos, y modelos virtuosos que forman parte de la economía circular y la economía de uso.

… o el camino equivocado?

A pesar de todas sus posibilidades, la tecnología sigue siendo una herramienta. Lo que aporta depende de los valores de quien lo esgrime: visión, creatividad, competencia, disposición a escuchar, humildad, constancia por lo mejor; insensibilidad, arrogancia, despreocupación, impaciencia por lo peor. El riesgo de olvidar esto es caer en una forma de ilusión tecno-solucionista: todo sólo podría solucionarse gracias a la tecnología y todo lo tecnológico sería esencialmente progreso. Para construir un futuro mejor, debemos mantener la distancia necesaria para que el fin siempre se anteponga a los medios.

Productos y negocios digitales

  • Adopte: 1. Angular 2. Apigee 3. CAST Highlight 4. Flutter 5. Kotlin 6. MongoDB 7. Mulesoft 8. OpenAPI /Swagger 9. PostgreSQL 10. React.js
  • Prueba: 11. ArgoCD 12. Cypress 13. GKE Autopilot 14. Go (Golang) 15. GraphQL 16. JHipster 17. Quarkus 18. Scala 19. SOPS 20. Storybook 21. Vue.js
  • Evaluar: 22. Deno 23. Robotframework 24. Rust
  • Retener: 25. Azure DevOps
  • Angular , adoptar

Angular, basado en TypeScript, es un marco gratuito de código abierto para el desarrollo de interfaces y aplicaciones de clientes. Más que una simple biblioteca, Angular proporciona todos los ingredientes necesarios para crear una aplicación web. Basado en un patrón de controlador de vista (MVC) que separa los datos, la presentación gráfica y la lógica subyacente, Angular visualiza las aplicaciones como un árbol de componentes. Este enfoque modular es especialmente adecuado para el desarrollo de grandes aplicaciones, a las que aporta rigor, claridad y rendimiento. Ampliamente utilizado, Angular también se beneficia del apoyo de una comunidad sólida, pero sigue siendo una herramienta bastante difícil de aprender. Por lo tanto, la elección de un marco de JavaScript dependerá principalmente del tipo de aplicación que se creará, pero aún más de los recursos disponibles. A diferencia de React.js o Vue.js, Angular sigue siendo muy obstinado,

  • Apigee , Adoptar

La arquitectura centrada en API está demostrando ser la base de los negocios digitales de la nueva era. Durante varios años, Apigee de Google ha sido clasificado por Gartner como uno de los líderes en gestión de API. Para facilitar la creación, la seguridad, el mantenimiento y el uso de API en toda la empresa, Apigee ofrece funciones que abarcan todo el ciclo de vida de desarrollo de API; políticas llave en mano para la seguridad, la exposición y la gestión del tráfico para crear API con confianza; y todos los componentes básicos necesarios para crear un ecosistema: gobernanza, portal para desarrolladores, catálogo de API, monetización, etc. Apigee también permite a los clientes elegir dónde alojar el tráfico de las API: en las instalaciones, en GCP o en una infraestructura híbrida. Además, con Apigee Hybrid, los clientes obtienen el control total del componente de tiempo de ejecución y, al mismo tiempo, les permiten aprovechar la gobernanza y el cumplimiento de la seguridad.

  • ArgoCD , Prueba

ArgoCD (CD para entrega continua) es una herramienta de GitOps para Kubernetes. Le permite ver los objetos de Kubernetes, administrar las versiones almacenadas en Git (descritas en los gráficos de Helm, por ejemplo), compararlas con el estado deseado y restaurarlas automáticamente. Con esta torre de control centralizada de recursos, los desarrolladores pueden desplegar sus aplicaciones más rápido y con la certeza de utilizar siempre la versión correcta y deseada. Con sus diversas posibilidades (SSO, recuperación ante desastres, escalado, etc.) y la posibilidad de integrarse con un pipeline de CI/CD (Jenkins, Gitlab, etc.), esta solución de código abierto es una opción interesante para industrializar la producción y despliegue de aplicaciones en contenedores.

  • Azure DevOps , espera

El sucesor de Team Foundation Services (TFS) y Visual Studio Team System (VSTS), Azure DevOps es un conjunto de herramientas que cubre todo el ciclo de vida de la aplicación: gestión de proyectos, gestión de requisitos, gestión de versiones, pruebas, implementación, generación de informes, etc. Azure DevOps , disponible como solución SaaS o local, se adapta especialmente bien a las necesidades de las grandes organizaciones, permitiéndoles racionalizar y consolidar sus herramientas. Es compatible con la mayoría de los entornos de desarrollo (IDE) y se puede utilizar en todo tipo de proyectos, independientemente de las tecnologías y metodologías utilizadas. En particular, facilita la aplicación de las políticas de empresa y fomenta la colaboración entre equipos y entre entidades, posibilitando ganar en productividad, trazabilidad y control sobre el proceso de desarrollo.

  • CAST Destacar , Adoptar

CAST Highlight es una herramienta de análisis de cartera de aplicaciones que mide el valor comercial de las aplicaciones, identifica oportunidades de modernización y cuellos de botella potenciales, y destaca ciertos riesgos estructurales (componentes de código abierto, violaciones de licencias, manejo de datos confidenciales, defectos de diseño, etc.). Basado en el análisis de código y un cuestionario rápido, CAST Highlight puede auditar cientos de aplicaciones en unos pocos días, en comparación con varios meses para un proceso manual. A continuación, proporciona elementos de decisión objetivos y sintéticos, tanto tecnológicos como de negocio, que nos permiten planificar y gestionar la racionalización, modernización y migración a la nube de sus aplicaciones. Para las organizaciones con una gran cantidad de aplicaciones heterogéneas, los beneficios de CAST Highlight pueden ser considerables.

  • Ciprés , Prueba

Cypress es una herramienta de prueba para aplicaciones web basada en marcos front-end modernos como React, Angular o Vue. Un motor de prueba funcional todo en uno, Cypress le permite escribir escenarios en Javascript/Typescript, seguir su ejecución paso a paso, depurar el código y obtener un informe detallado. Inyectado directamente en la aplicación, el código Cypress reproduce el comportamiento del usuario en el navegador sin tener que pasar por el engorroso proceso de una API. Además, Cypress se beneficia de numerosos complementos que permiten, por ejemplo, realizar pruebas visuales de no regresión o escribir pruebas con Gherkin y Cucumber. Ligero, fácil de usar, bien documentado y respaldado por una gran comunidad, Cypress se está convirtiendo en una herramienta esencial para el desarrollo front-end.

  • Deno , Evaluar

Aunque Node.js es ahora el entorno de ejecución de JavaScript del lado del servidor más popular, su diseñador, Ryan Dahl, lo considera imperfecto, especialmente desde el punto de vista de la seguridad. Como resultado, desarrolló una alternativa, llamada Deno, que, al igual que su predecesor, se basa en el motor Google V8, pero esta vez escrito en Rust en lugar de C++. También incorporó los últimos avances en JavaScript, así como la compatibilidad con TypeScript, y revisó por completo la administración de dependencias para evitar el uso de Node Package Manager (NPM). Desde el lanzamiento de la versión 1.0 en mayo de 2020, Deno ha crecido extremadamente rápido y Slack lo seleccionó para su nueva plataforma de desarrollo. Basado en código abierto, se puede implementar en varias nubes, incluidas Azure y AWS.

  • Revolotea , Adopta

Presentado por Google en 2017, Flutter es un kit de desarrollo y programa de código abierto multiplataforma que permite desarrollar aplicaciones para dispositivos Android e iOS con un solo código. Flutter elimina así los costos adicionales, los errores y las dificultades que la coexistencia de las dos plataformas causa a los equipos de proyecto. Tomando prestado de los mejores enfoques existentes y compatible con los entornos de desarrollo comunes, Flutter se caracteriza por su simplicidad y rendimiento. Muy fácil de aprender y universalmente apreciado, cuenta con el apoyo de una comunidad aún pequeña pero muy activa y entusiasta. Ya hay más de 150 000 aplicaciones en tiendas móviles desarrolladas con Flutter, que tiene el potencial de convertirse en el idioma elegido por los desarrolladores móviles durante los próximos cinco años.

  • Piloto automático de GKE , prueba

La gestión de clústeres de Kubernetes a menudo puede ser compleja y llevar mucho tiempo sin crear siempre valor. Es por eso que Google ofrece GKE Autopilot, un servicio que aprovecha las mejores prácticas de ingeniería de Google para respaldar y automatizar gran parte del mantenimiento de los clústeres de GKE. El cliente pierde algunas posibilidades de personalización, pero gana varios aspectos: garantías de nivel de servicio, facturación por uso de pod, seguridad por defecto, etc. Serverless desde el punto de vista del desarrollador, GKE Autopilot puede optimizar el consumo de recursos, pero su principal ventaja es que libera a los equipos de problemas de infraestructura y les permite concentrarse en la dimensión empresarial del desarrollo.

  • Ir (Golang) , Prueba

El lenguaje Go (a veces llamado Golang) fue creado por Google en 2009 con el objetivo inicial de facilitar el desarrollo de microservicios y al mismo tiempo ser accesible para desarrolladores menos experimentados. Como lenguaje compilado, Go requiere muy poca memoria (10 veces menos que un programa Java equivalente), lo que mejora considerablemente el rendimiento de los servicios. Simple, estructurado y conciso, Go también requiere muy pocas líneas de código y es relativamente fácil de aprender, especialmente para desarrolladores familiarizados con C, en el que se inspira. Go es de propósito general, potente y multiplataforma, y ​​ha ganado mucha popularidad en los últimos años, en particular gracias al escaparate proporcionado por Docker y Kubernetes, que se desarrollaron con él.

  • GraphQL , prueba

GraphQL, que fue inventado por Facebook y ahora es de código abierto, es un lenguaje de consulta API y un entorno de ejecución para estas solicitudes. Como alternativa al modelo de arquitectura REST, GraphQL permite a los clientes solicitar solo los datos que desean, lo que aumenta el rendimiento al evitar intercambios innecesarios y facilita el escalado de las API. GraphQL es especialmente adecuado cuando los datos solicitados se organizan en gráficos o árboles. Aunque se presta idealmente para muchos casos de uso, GraphQL sigue siendo relativamente poco común porque requiere un replanteamiento profundo de la forma en que se diseñan las API.

  • Quarkus , Prueba

Los marcos del mundo Java, y en particular Spring Boot, el más popular de ellos, se crearon para aplicaciones locales monolíticas, no para
aplicaciones en la nube distribuidas. Cuando los usamos para desarrollar microservicios, el resultado son muchos “micromonolitos” que son engorrosos, lentos para comenzar y requieren muchos recursos. Quarkus es un marco de Java dedicado específicamente a microservicios y entornos de Kubernetes y fue diseñado para abordar este problema. Al eliminar lo innecesario y especializar la construcción para la plataforma de destino, Quarkus permite la creación de microservicios mucho más livianos y listos para la nube. Simple y poderoso, Quarkus tiene todos los activos para competir en el futuro con Spring como el principal marco de desarrollo de Java.

  • JHipster , Prueba

Muy a menudo, las aplicaciones Java se basan en los mismos principios arquitectónicos y utilizan los mismos componentes básicos. JHipster aprovecha estas similitudes para mejorar tanto la productividad como la solidez de los desarrollos. Como plataforma low-code de código abierto, JHipster permite la generación de código fuente Java completo y la creación rápida de una aplicación funcional basada en microservicios lista para implementarse en la nube. Para lograr una pila de tecnología completa, JHipster reúne ingeniosamente una serie de marcos y herramientas comunes, como Angular y Bootstrap en el lado del cliente, y Spring Boot en el lado del servidor. JHipster ahorra una cantidad considerable de tiempo en proyectos, ya sean nuevos desarrollos o la modernización de aplicaciones heredadas.

  • Kotlin , Adoptar

Kotlin es el último lenguaje de desarrollo basado en JVM (Java Virtual Machine). Fue creado por JetBrains, el líder en herramientas de desarrollo, para superar
algunas limitaciones de Java para el desarrollo moderno. Compatible con todo el ecosistema Java (bibliotecas, herramientas, etc.), Kotlin satisface las necesidades tanto del desarrollo móvil (es el lenguaje oficial de la plataforma Android) como del desarrollo back office, con tecnología Kotlin/Native que permite, si es necesario, para acabar con la máquina virtual y tener un código único para las plataformas específicas. Kotlin, moderno, conciso, seguro y unánimemente apreciado, está creciendo en popularidad y parece tener los recursos para durar. Es utilizado en particular por Google, Netflix y Airbnb para sus aplicaciones móviles.

  • MongoDB , Adoptar

MongoDB es el sistema de gestión de bases de datos NoSQL más popular. Es un sistema orientado a documentos (es decir, contenido semiestructurado organizado en archivos JSON según un modelo clave/valor), que permite almacenar datos masivos y complejos al tiempo que facilita la indexación y la búsqueda. Mucho más flexible que una base de datos relacional ya que los documentos no tienen un esquema predefinido, MongoDB se adapta perfectamente a los objetos de programación habituales y facilita el escalado horizontal. MongoDB está disponible como una versión de código abierto (Comunidad), con licencia con herramientas de administración adicionales (Enterprise) o como servicio en la mayoría de las plataformas en la nube (Atlas). La versión Enterprise se recomienda especialmente cuando se requiere replicación y fragmentación.

  • MuleSoft , Adoptar

Anypoint Platform de MuleSoft es una suite integral que cubre todas las dimensiones de la integración (API, seguridad, mensajería, monitoreo, etc.), independientemente del entorno (heredado, nube, híbrido, etc.). Anypoint le permite administrar, a través de una única plataforma, todo el ciclo de vida de las API, los conectores y los modelos de integración, tanto desde el punto de vista técnico como funcional: desarrollo, seguridad, implementación, monitoreo, mantenimiento, uso compartido, distribución, escalado, reutilización, etc. Diseñado desde el principio en la nube y para la nube, Anypoint es simple de implementar y usar, se integra naturalmente con procesos de TI como DevOps y proporciona herramientas para proyectos de transformación y modernización de aplicaciones. Adquirida por Salesforce en 2018, MuleSoft continúa su rápida expansión, basándose particularmente en un rico ecosistema de socios.

  • OpenAPI/Swagger , Adoptar

OpenAPI es un estándar abierto e independiente para describir, desarrollar, probar y documentar las API (interfaces de programación de aplicaciones) que se ajustan al estilo de arquitectura REST (transferencia de estado representacional). Una definición de OpenAPI puede ser utilizada por generadores de documentación para presentarla, herramientas de administración de API para crear un entorno de prueba, generadores de código para crear clientes y servidores en diferentes idiomas, herramientas de prueba para generar datos de prueba o servidores ficticios, etc. El desarrollador original de OpenAPI, SmartBear continúa brindando herramientas para crear, mantener y compartir API que se ajustan a la especificación OpenAPI. Ahora de código abierto y con el respaldo de los principales actores como Google, IBM y Microsoft, OpenAPI se ha convertido en uno de los lenguajes de descripción de API RESTful más utilizados.

  • PostgreSQL , adoptar

Aunque las bases de datos relacionales compiten cada vez más con otras formas de representación de datos (bases de datos NoSQL, documentos semiestructurados, etc.), siguen desempeñando un papel importante. Por otro lado, para liberar los recursos necesarios para sus nuevos proyectos, las organizaciones tienden a alejarse de las soluciones propietarias en favor de las bases de datos de código abierto. Esto también les permite liberarse de las opciones técnicas, de precios y de soporte impuestas por el editor. Con mucho, la base de datos relacional de código abierto más popular, PostgreSQL apareció en 1996 y ha seguido progresando desde entonces, demostrando su madurez y confiabilidad a través de importantes referencias. Con el respaldo de una comunidad extremadamente activa y profesional, también se beneficia de un completo conjunto de herramientas que facilita enormemente los proyectos de migración y el paso a la nube.

  • React.js , Adoptar

Una biblioteca de JavaScript gratuita y de código abierto para crear interfaces de usuario basadas en componentes, React se utiliza para desarrollar sitios web y aplicaciones móviles. Las características distintivas de React incluyen su enfoque Virtual DOM (Document Object Model), una representación selectiva que solo maneja las diferencias entre el documento y su representación en memoria, lo que aumenta considerablemente el rendimiento, y su extensión de sintaxis para JavaScript, JSX, que lo hace más fácil. para manipular componentes. React permite así mejorar la productividad, la claridad y la reutilización de los desarrollos web. React, uno de los marcos de JavaScript más utilizados, debe su popularidad a su facilidad de aprendizaje, legibilidad y mantenimiento. También cuenta con el apoyo de una comunidad muy activa y el respaldo de su creador, Meta (Facebook).

  • Robot Framework , evaluar

Robot Framework es un marco RPA y de automatización de pruebas basado en palabras clave, implementado en Python y genérico con un amplio ecosistema. Con origen en Nokia, ahora es de código abierto, de uso gratuito y respaldado por la Fundación Robot Framework sin fines de lucro. Robot Framework tiene una sintaxis simple que utiliza palabras clave legibles por humanos, y sus capacidades se pueden ampliar a través de bibliotecas. Robot Framework también se puede integrar fácilmente con otras herramientas (por ejemplo, herramientas/marcos de prueba, herramientas de CI/CD) para crear soluciones de automatización de prueba potentes y flexibles. Como resultado de sus orígenes, Robot Framework se usa ampliamente en el mundo de las telecomunicaciones para pruebas de redes y nubes, pero también se usa cada vez más en el dominio de aplicaciones, como parte de enfoques ágiles y DevOps para pruebas unitarias (Test Driven Development, TDD ) y pruebas de validación (Desarrollo impulsado por pruebas de aceptación,

  • Óxido , Evaluar

Rust, creado por Mozilla Research, es un lenguaje de desarrollo diseñado con un enfoque dual en seguridad y velocidad. En particular, Rust impone requisitos y controles que garantizan la seguridad de la memoria. ¡Se vuelve casi complicado escribir código vulnerable y de baja calidad en Rust! Por otro lado, estas mismas propiedades facilitan la paralelización del código y, por lo tanto, mejoran el rendimiento. Como muestra de sus méritos, Rust se ha convertido, después de C, en el segundo lenguaje del kernel de Linux. Rust sigue siendo un lenguaje especializado, utilizado para software sensible y de estructuración (sistemas operativos, navegadores web, criptomonedas…). Adoptado por la mayoría de los jugadores principales, respaldado por una comunidad muy fuerte y bien equipado, tiene el potencial de ampliar sus casos de uso y ser el sucesor de C++.

  • Escala , Prueba

Scalaes un lenguaje de programación en JVM (Java Virtual Machine) que combina programación funcional y orientada a objetos, un enfoque original que permite expresar modelos complejos de una manera muy limpia. También es un lenguaje mucho más expresivo y legible que Java, y su sintaxis se ha vuelto aún más clara con su reciente versión 3. Scala, un lenguaje de propósito general, se puede usar para cualquier tipo de programa, pero se usa más particularmente en el El mundo del Big Data, ya que con él se han escrito varias herramientas importantes (Apache Spark, Apache Kafka, Twitter’s Scalding…). A pesar de sus puntos fuertes, Scala está luchando por ganar popularidad porque su curva de aprendizaje es empinada y su principio sigue siendo impenetrable para muchos desarrolladores formados únicamente en programación orientada a objetos. Como resultado, las habilidades son bastante escasas en el mercado, especialmente fuera de los EE. UU. Aunque,

  • SOPS , prueba

SOPS significa Secrets Operations y es una herramienta para administrar el secreto (contraseñas, claves de cifrado, tokens, etc.) en Git. SOPS le permite editar archivos cifrados de varios formatos (yaml, json, binary…) utilizando un administrador de claves de terceros como OpenPGP, Azure Key Vault, AWS KMS o GCP KMS. Estos archivos se almacenan de forma centralizada en Git y SOPS permite gestionar el ciclo de vida de los archivos y la información que contienen. Finalmente, el descifrado de secretos se realiza localmente, en el momento del despliegue. De código abierto (bajo la égida de Mozilla), agnóstico, económico, fácil de usar y muy seguro, SOPS es una alternativa a HashiCorp Vault, en particular.

  • Libro de cuentos , Prueba

Storybook es una herramienta de código abierto que le permite mostrar los componentes visualmente. Con grandes marcos de desarrollo como React o Angular, a veces es difícil aislar un solo componente para definirlo, probarlo, optimizarlo y documentarlo. Storybook responde a esta necesidad diaria de los desarrolladores a través de una interfaz agradable e intuitiva. Los componentes resultantes son totalmente compatibles con diferentes marcos y, lo que es más importante, se pueden guardar en un repositorio para compartirlos y reutilizarlos (por ejemplo, componentes de marca en colores corporativos). Extremadamente popular desde su lanzamiento en 2019, Storybook se ha establecido rápidamente como una palanca valiosa para la productividad y la calidad de los desarrollos y proyectos. Sin embargo, ya compite con otra herramienta prometedora, bit.dev.

  • Vue.js , Prueba

Vue.js se lanzó en 2014 y es un marco Javascript de código abierto accesible, escalable y potente para crear interfaces y aplicaciones web modernas. Vue.js destaca en particular por su enfoque basado en componentes, lo que permite ganar en interactividad y velocidad de visualización, y así mejorar la experiencia del usuario. Por el lado del desarrollo, este principio también es una forma de promover la reutilización de código, reducir el mantenimiento y aumentar la productividad. Es liviano, receptivo y se integra fácilmente con bibliotecas y proyectos existentes. Vue.js es fácil de aprender y usar, especialmente para los desarrolladores de Javascript con algo de experiencia. Detrás de React y Angular, los dos frameworks principales en el mercado (especialmente en términos de habilidades disponibles), Vue.js es una alternativa que no debe ser ignorada.