Las cinco principales tendencias de desarrollo de software de 2018: por Igor Lebedev, director de tecnología de SONM
Publicado: 2021-08-09Hasta ahora, 2018 ha sido un año transformador para los desarrolladores. El desarrollo de software se ha superado con nuevas versiones y soluciones de mayor calidad que hacen que las tareas informatizadas sean más fáciles y eficientes que nunca. Las bases de datos ahora son capaces de cuantificar grandes grupos de información sin interrupciones, los servidores se venden como series en lugar de unidades singulares y blockchain ha abierto puertas mediante el uso de un sistema descentralizado. Estas son las cinco principales tendencias de desarrollo de software que están revolucionando el mundo de la tecnología este año:
Big Data
El crecimiento constante de los datos corporativos y públicos conduce a una situación en la que las bases de datos y los instrumentos de almacenamiento tradicionales ya no son capaces de usar y administrar el volumen de datos. Los viejos enfoques ya no funcionan, habiendo visto de primera mano que los RDBMS (sistemas de gestión de bases de datos relacionales) ya no son capaces de contener todo. Esto conduce a la aparición de nuevas herramientas y enfoques, pero lo que es más importante, conduce al fin del dominio de las bases de datos monolíticas tradicionales. El nuevo enfoque consiste en almacenar los datos compartidos en varios nodos. Los datos centrales todavía se almacenan en bases de datos centralizadas tradicionales, pero se almacena más volumen de datos por separado y se reduce la proporción de bases de datos monolíticas. El desafío del big data en 2018 es que requiere que reescriba sus aplicaciones convencionales de una manera nueva para manejar grandes grupos de datos.
Escalabilidad horizontal
La solución de escalado tradicional siempre fue comprar un servidor más nuevo y más grande. Este nuevo servidor tendría más núcleos, caché de modo, frecuencias más altas, bancos de memoria más grandes, buses más rápidos y más discos. Sin embargo, esta solución de escalado tiene limitaciones y esas limitaciones ya se han alcanzado. El chasis de servidor común puede tener como máximo 2 o 4 CPU, y no puede agregar CPU sin límites, ya que no puede aumentar las frecuencias. En algún momento, la escala vertical alcanza sus límites. El siguiente paso es la escala horizontal. Esto significa que en lugar de comprar un servidor más grande para reemplazar el anterior, compra uno o más servidores adicionales del mismo tipo para agregar a su grupo existente. Este enfoque parece más flexible, pero requiere una arquitectura de software diferente y, nuevamente, requiere que vuelva a escribir el software. Si hace esto, recibirá los beneficios de una mejor administración de recursos con la capacidad de compartir recursos. Aquí vemos los microservicios, la ejecución sin estado y Kubernetes como tendencias.
Descentralización
Los cambios que vemos en el mundo, traen nuevos desafíos. Pueden estar relacionados con la política, los costos de entrega, la confianza o las situaciones del mercado, pero la tendencia sigue siendo que las empresas tienden a descentralizar sus servicios y software. Las redes de entrega de contenido implementan servidores en su ISP, los proveedores de SaaS abren CD en su país y las empresas piensan en la recuperación ante catástrofes. Esto lleva a que las empresas ya no tengan un solo centro de datos principal, sino dos o más, al tiempo que requieren que sus ingenieros piensen en cambiar algunos aspectos de la arquitectura de su aplicación.
Procesamiento de niebla
El uso del procesamiento de datos aumenta cada día. IoT genera cada vez más datos en el borde de la red. Estos datos se procesan tradicionalmente en los países en desarrollo o en la nube. Sin embargo, teniendo en cuenta el hecho de que las líneas ópticas modernas son ultrarrápidas y el rendimiento de la red aumenta de año en año, la cantidad de datos crece mucho más rápido. Las redes son y siempre fueron el “cuello de botella” del procesamiento global de la información. Si no técnicamente (por ancho de banda y latencia), entonces económicamente (por precio por transmisión). Actualmente, la forma más rápida y económica de migrar su almacén de datos a otro centro de distribución es llamar a un vehículo de carga y, literalmente, llevar los discos duros a una nueva ubicación. No, no es una broma.

Esto lleva a la idea fundamental de la industria del procesamiento Edge and Fog, lo que significa que la mayor cantidad de datos posible deben procesarse localmente. Las principales empresas de TI trabajan en soluciones para procesar y proporcionar datos cerca de los dispositivos. Este tipo de procesamiento es la niebla. Hay dificultades para esto. No puede simplemente copiar el código de la nube y esperar que funcione, porque en la nube todos los datos son accesibles localmente, mientras que en la niebla ningún nodo tiene todos los datos y debe pedir a otros nodos la información requerida. Requiere que los desarrolladores de aplicaciones adopten su arquitectura y reescriban el código, de modo que las tareas puedan resolverse de la manera MPP (procesamiento paralelo masivo). Esto da una razón más para reescribir el código y la IaaS descentralizada; hasta que se convierta en una plataforma atractiva para alojar su aplicación recién nacida.
Tolerancia a fallos
Vivimos en una época en la que es más difícil vender algo que producir. La concurrencia del mercado aumenta y las empresas que ejecutan software piensan en un mejor SLA para tener una ventaja y generar la confianza de los usuarios. Con los puntos mencionados anteriormente, la probabilidad de que falle un solo componente del sistema aumenta de manera crítica. No se puede confiar en la capacidad del clúster de la base de datos de Oracle para manejar una falla porque muchos de los datos se encuentran afuera. En lugar de tener un par de servidores súper confiables con doble fuente de alimentación, ahora puede haber 10 o incluso 100 servidores y la expectativa matemática de una falla de un solo nodo alcanza cerca de 1 (uno, 100%). Algo probablemente fallará y las empresas deben estar preparadas para esto nuevamente al observar la arquitectura de su aplicación. El mundo, y la TI en particular, cambia constantemente y se mueve a un ritmo increíblemente rápido. Los enfoques más antiguos no funcionan. Las empresas están reescribiendo su software con big data, escalabilidad horizontal, descentralización y procesamiento de niebla, todo en el núcleo. Los ingenieros tienen en cuenta constantemente las tolerancias de fallas en el lado de la aplicación.
Estas tendencias de desarrollo de software han llevado a la aparición de nuevos requisitos para el hardware y su disponibilidad, que es menos crítico para la falla de un solo nodo y con más opciones de escalamiento horizontal. Al mirar hacia el futuro, anticipamos un excedente de nuevas tendencias en desarrollo, que con suerte se mantendrán al día con nuestra tecnología en evolución y la necesidad de un mayor soporte de hardware.
Acerca de Igor Lebedev:
Igor Lebedev es un especialista en informática con más de 15 años de experiencia en TI. Su experiencia radica en arquitecturas de sistemas clásicas, clases de sistemas, bases de datos, computación en la niebla, sistemas de comercio automatizados, contratos inteligentes y microelectrónica. Igor actualmente se desempeña como director de tecnología y jefe del equipo de desarrollo de SONM desde julio de 2017. Como director de tecnología, Igor proporciona información y una contribución valiosa a la visión del producto y el proceso de desarrollo general, mientras construye continuamente un equipo de desarrolladores que crean el proyecto SONM de computación en la niebla. .