Ya con el año 2022 iniciado, quiero compartirte algunas de las tendencias en desarrollo que veremos destacar este año. Predecir el futuro no es fácil, pero espero que estas tendencias sobre desarrollo sean útiles para investigar las tendencias más relevantes del momento.
1. Infraestructura centralizada: Cloud-First
El cloud seguirá reemplazando los centros de datos locales. En los próximos años, el cloud será la infraestructura de referencia para empresas, gobiernos y empresas emergentes. El cloud es ahora la herramienta que permite la innovación digital rápidamente escalable. Además que también está desempeñando un papel fundamental en la democratización de los datos con Blockchain. Gartner ha pronosticado un aumento del 16% en los ingresos de Cloud Computing en 2022.
2. Infraestructura descentralizada: Edge computing
A diferencia del Cloud, en la que pretendemos tener almacenamiento, servidores y servicios de IA/ML en una región, zona de disponibilidad, Edge Computing acerca el almacenamiento, servidores y la IA/ML a la zona geográfica del usuario. Escenarios que requieren latencia baja (juegos), o ancho de banda de red bajos (sitios en el extranjero), casos de uso que requieren el tiempo real (vehículos conectados), dispositivos inteligentes (IoT) son escenarios en los que solo es posible ejecutar con Edge Computing.
Con el auge de la 5G, la Web 3.0 y otras innovaciones tecnológicas, el Edge computing seguirá experimentando una adopción generalizada en 2022.
3. Contenedores: Kubernetes y Docker
Los contenedores son una tecnología crucial en las infraestructuras modernas. Kubernetes y Docker jugaron un papel importante en la popularización y democratización. Gracias al enorme esfuerzo, el cuidadoso diseño y la implementación, Kubernetes y Docker son ahora una tecnología sólida. Desempeña el mismo papel que jugó Linux en el mundo de los servidores. Debido a su diseño con visión de futuro, Kubernetes y Docker se pueden utilizar en muchos casos de uso sin dificultad y seguirá siendo la estrategia principal de despliegue de servidores este 2022.
4. Blockchain más allá de las criptomonedas
Blockchain a menudo se vincula con criptomonedas. Blockchain (Distributed Ledger) es una de las tecnologías más disruptivas del siglo XXI. La criptomoneda es su caso de uso más conocido, pero Blockchain es mucho más que una criptomoneda. Blockchain puede cambiar muchos campos de nuestra industria y que afecta a nuestra vida diaria.
En 2021, hemos visto un caso muy popular de Blockchain: NFT (non-fungible token). En 2022, veremos qué tecnología como NFT se utilizará en otros escenarios, más allá del arte, y también veremos nuevos casos de uso de Blockchain.
5. Adopción masiva de la inteligencia artificial (IA)
La inteligencia artificial (IA) es otra tecnología disruptiva que obtuvo una adopción masiva y un rápido crecimiento en la última década. AI continuará viendo más adopción, financiación e innovación en 2022. Uno de los santos griales de la IA es la búsqueda de "inteligencia general", donde la IA puede ser tan inteligente (o más inteligente) que los humanos. Todavía estamos lejos de lograr la inteligencia general. Pero la IA se usará más en la "Inteligencia artificial especializada", donde la IA ayudará y mejorará a los humanos en un campo en particular.
6. Bases de datos: multimodelo y multipropósito
En los últimos años, hemos visto la tendencia de usar una base de datos especializada para caso de uso, pensando en un modelo de microservicios:
- RDBMS para casos de uso transaccional con datos estructurados
- Wide-Column Database para base de datos distribuida de baja latencia
- Key-Value Store para caché distribuida
- Graph Database para datos extremadamente relacionales
- Document Database para casos de uso transaccional con datos semiestructurados
- Search Engines para texto completo y búsqueda avanzada (p. ej., búsqueda basada en la ubicación).
- Distributed SQL para base de datos distribuida de baja latencia con garantía transaccional.
- OLAP Database para almacenamiento de datos y análisis de datos.
7. Desarrollo Low Code/No Code (LCNC)
La iniciativa Low Code/No Code (LCNC) tiene como objetivo reducir la barrera para desarrollar aplicaciones web/móviles para programar a gran escala y rápidamente para generar propuestas de valor.
En 2022, veremos más casos de uso de LCNC:
- Desarrollo de aplicaciones web/móviles
- Sitios web y landing pages
- Chatbots inteligentes que utilizan el flujo de diálogo con IA
- e-Commerce
- Aprendizaje automático (ML)
- Inteligencia Artificial (Video, Audio, Imagen)
- Automatización de Procesos
8. Arquitectura de software: micro-servicios y micro-frontends
Actualmente tenemos tres opciones para el desarrollo de aplicaciones Backend: Monolito (Modular), Microservicio y Serverless. Todos tienen sus fortalezas y debilidades. Los microservicios permiten el desarrollo de aplicaciones en las que varios equipos trabajan en aplicaciones específicas. Además, los microservicios encajan perfectamente con el desarrollo nativo en Cloud, ya que los servicios que requieren más disponibilidad, se pueden derivar al Cloud y mantener otros en centros de datos locales.
9. Tecnología API: REST, gRPC y GraphQL
El desarrollo de software moderno suele ser un desarrollo impulsado por API. Las aplicaciones web o APP móvil se comunican con el backend a través de llamadas API. Además, las aplicaciones de back-end se comunican entre sí a través de llamadas API. La comunicación entre servicios es un viejo paradigma del desarrollo de software, y existen muchas tecnologías que pueden cumplir con el requisito. Pero entre ellos, tres destacan sobre el resto REST, gRPC y GraphQL, que continuará creciendo su uso en 2022.
- REST es la tecnología con más recorrido, desarrollada en el año 2000. Utiliza la tecnología World Wide Web y HTTP para la comunicación Cliente-Servidor. Es el más maduro y el más utilizado.
- Google creó gRPC como una API de comunicación de servidor a servidor basada en la antigua tecnología RPC. Aquí, cada solicitud está estructurada como una llamada a una función. A diferencia de REST, que usa formato de texto (por ejemplo, JSON, XML) para pasar mensajes, gRPC usa formato binario. Como resultado, gRPC es más eficiente y rápido para la comunicación de servicio a servicio que REST.
- Hay muchos viajes de ida y vuelta para la comunicación del cliente web al servidor si la estructura de datos es compleja. Para mitigar el problema, Facebook desarrolló la API de GraphQL en 2015. En GraphQL, cada cliente puede definir la forma de la estructura de datos para un caso de uso específico y obtener todos los datos en un solo viaje.
Conclusión
Estas han sido 9 tendencias que creo que seguirán gobernando y evolucionando este 2022. Desde infraestructura, contenedores, blockchain, IA, bases de datos, desarrollo, arquitectura de software y APIs, estas y otras, són clave para la evolución de digitalización de tu organización.
Referencias:
· 22 predictions about the Software Development trends in 2022