Qué es un desarrollador de edge y qué habilidades necesita

Los desarrolladores de aplicaciones de software a menudo son considerados como solitarios, independientes y tipos reclusivos, aficionados a trabajar en entornos solitarios. Si hubiera un paralelo para la vida al límite, los programadores ya lo encarnarían, lo que les da una afinidad natural para codificar en entornos de cómputo en el borde.

Qué es un desarrollador de edge y qué habilidades necesita - Borde | Imagen 1 Newsmatic

Todos los desarrolladores son iguales. Es una afirmación controvertida, pero al menos aplica si estamos de acuerdo en que todos los desarrolladores de aplicaciones de software son criaturas de hábito: todos tienen un enfoque exhaustivo de los detalles, comparten un tipo de cerebro naturalmente analítico y experto en resolución de problemas, y la mayoría tienen una inclinación un tanto inquietante por las sodas y las pizzas.

Pero por supuesto, no todos los desarrolladores son iguales. Algunos se enfocan en interfaces de "capa de presentación" superiores, algunos son especialistas en redes, otros son gurús de la plataforma central enfocados en funcionalidad y rendimiento, mientras que otros son arquitectos de sistemas, probadores de penetración, campeones de la ciencia de datos, y así sucesivamente.

VER: Kit de contratación: Desarrollador de Python (Newsmatic Premium)

Pero los desarrolladores no solo se clasifican según la naturaleza de su especialización en ingeniería, también se distinguen por la implementación de superficie a la que se aplica su trabajo. Algunos se enfocarán en teléfonos inteligentes, algunos en computadoras de escritorio, otros en sistemas integrados y algunos en aplicaciones nativas en la nube que podrían abarcar todos los dominios potenciales.

Acelera tu negocio con el auge del cómputo en la nube: ¡$156 billones para 2030!
Índice de Contenido
  1. Inmersión en los límites en evolución
  2. ¿Qué hace a un desarrollador de bordes?
  3. Cómo gestionar microclusters masivos
  4. Borde: Velocidad, recursos y comprensibilidad
  5. El desarrollo en el borde sigue siendo desarrollo

Inmersión en los límites en evolución

Dentro de ese último grupo de programadores, encontramos a los programadores integrados de computación a menudo despreciados. Cercanos en mentalidad a los desarrolladores de bordes, los desarrolladores integrados no son exactamente iguales, ya que históricamente se ha definido su rol para enfocarse en todo, desde sistemas de calefacción doméstica hasta rastreadores de actividad física, e incluso el control remoto de tu televisor.

Pero como sabemos, estos dispositivos integrados ahora son parte del Internet de las cosas (IoT). Las computadoras en los quioscos de los aeropuertos se están procesando en tiempo real, los sistemas de los automóviles ahora están conectados a la web, las máquinas de tránsito y recaudo tienen una conexión intermitente con la nube, y los robots de fábrica y los sistemas médicos ahora operan en un plano de datos siempre activo y conectado.

Algún cómputo integrado seguirá siendo conocido como cómputo integrado, pero muchos de estos dispositivos, y específicamente los sensores y medidores dentro de ellos, ahora formarán la estructura de lo que se conoce como el borde de cómputo. Esto es lo que diferencia al borde del cómputo integrado y del cómputo distribuido. Estas no son solo máquinas que se están alejando del centro de datos, son máquinas que realizan un trabajo específico.

Como Newsmatic ya nos ha enseñado: "El cómputo en el borde es diferente [al cómputo distribuido] debido a la forma en que el cómputo en el borde está vinculado a los datos del IoT que se recopilan desde sensores remotos, teléfonos inteligentes, tabletas y máquinas. Estos datos deben analizarse e informarse en tiempo real para que sus resultados sean inmediatamente aplicables al personal en el sitio".

Con toda esa explicación expuesta, surge la pregunta: ¿qué hace a un desarrollador de bordes?

¿Qué hace a un desarrollador de bordes?

"Cuando hablamos de dispositivos de borde, por supuesto que estamos hablando de llevar el procesamiento de datos y el análisis más cerca del dispositivo", dijo Alessandro Chimera, director de la estrategia de digitalización de la empresa de plataformas de datos empresariales Tibco. "Esto naturalmente nos brinda la oportunidad de reducir la latencia y aumentar los tiempos de respuesta del software del borde".

Los desafíos y tendencias del cómputo en el borde

Recordando que muchos dispositivos de borde se instalan en automóviles conectados, Chimera señala que habría demasiada latencia para conectarse a cualquier tipo de servicio en la nube en estos entornos, y de todos modos, esa acción sería imposible si el automóvil está en un túnel. Entonces, de muchas maneras, estamos hablando de revertir nuestra noción moderna de cómputo continuamente conectado.

"Todo eso significa que los desarrolladores de bordes deben pensar en la cantidad de datos que están enviando de vuelta a un centro de datos en la nube en un momento dado; deben pensar más cuidadosamente en qué datos pueden procesarse localmente", agregó Chimera. "Cuando los dispositivos de borde tienen limitaciones de energía, los desarrolladores de bordes deben considerar el uso de la batería al diseñar y construir sus aplicaciones de borde. La transmisión a la nube consume energía, por lo que si una aplicación puede retrasar una conexión de una vez cada 15 minutos a una vez cada hora, especialmente cuando no es crítica en términos de tiempo o función, eso tiene sentido desde el punto de vista de la ingeniería".

Joe Drumgoole, director senior de relaciones con los desarrolladores en MongoDB, coincide en gran medida con los sentimientos de Chimera, pero cree que ya hemos estado aquí antes.

"Desarrolladores de bordes: Qué noción pintoresca y quijotesca", dijo Drumgoole. "Crecí con el lenguaje de programación Ada, que fue diseñado específicamente para esta idea de los desarrolladores de bordes. En esos días, los llamábamos ingenieros en tiempo real o desarrolladores de sistemas integrados. El lenguaje Ada en gran parte ha quedado en el olvido, pero el desarrollo de bordes aún tiene muchas de las mismas limitaciones. Sin embargo, ahora las herramientas son mejores, los lenguajes son más diversos y el mundo está construyendo conjuntos de herramientas para desarrolladores de bordes".

Pero Drumgoole tiene una visión filosófica sobre el estado de la evolución del software y el progreso en general, y cree que algunas cosas no cambian. Como sabemos, los sensores de borde a menudo son unidades de hardware simples que ejecutan un solo programa relativamente sencillo. Las limitaciones de memoria son reales -¿quién se preocupa hoy por el consumo de memoria al ejecutar un programa en Python?-, pero las dificultades de trabajar en hardware sin pantalla, teclado o mouse siguen existiendo.

"Esa es la fuente de la tortura y la alegría de la programación en el borde", dijo Drumgoole. "Hay algo muy honesto en quemar dispositivos de memoria programable de solo lectura. O funciona o no, y el costo de que no funcione puede ser dramático. Los mejores programadores de bordes entienden de hardware y software, no les importa un poco de soldadura, pueden leer un osciloscopio y todavía recuerdan la ley de Ohm".

Riesgos y desafíos del cómputo en el borde

Cómo gestionar microclusters masivos

Mucho está cambiando en este espacio. Hoy en día, un desarrollador de borde necesita comprender las mejores prácticas de desarrollo nativo de la nube. Quizás más fundamentalmente, deben ser conscientes de las adaptaciones que deberán hacer para adaptarse a las particularidades del borde.

El gerente general de edge en SUSE, Keith Basil, cree que esto puede ser bastante desafiante. Él dice que esto se debe a que combina conjuntos de habilidades de industrias típicamente dispares, todas necesarias en un solo equipo. Con su equipo de bordes dedicado, SUSE tiene experiencia específica en este espacio; incluso aquí se sugiere que quizás deberíamos pensar en zonas de borde densamente pobladas con un nuevo término.

"En un sentido DevOps, la idea [de borde como] un conjunto de 'microclusters' a gran escala tiene un gran impacto", dijo Basil. "Aquí vemos a los desarrolladores necesitando trabajar con nuevas restricciones al construir software en contenedores, todo lo cual debe tener en cuenta las diferentes arquitecturas de CPU, la memoria limitada y los tamaños más pequeños de los discos que se encuentran en el hardware en el borde".

Con el borde, los clústeres de Kubernetes se ejecutan en una ubicación remota y los dispositivos del Internet de las cosas industrial son pares en la misma red.

"Como desarrollador de borde, una de las primeras preguntas que surgen es la conectividad con esos dispositivos del IIOT", dijo Basil. "¿Se construye soporte para el protocolo IIOT en la aplicación, o se extiende un proyecto de código abierto existente para manejar la gestión del acceso al dispositivo?"

Esa es la parte difícil del cómputo en el borde: Parte de esta discusión aún está abierta a debate, debido a la naturaleza aún incipiente de tantas implementaciones.

Las mejores prácticas para el viaje del cómputo en el borde

Borde: Velocidad, recursos y comprensibilidad

Debido a que los sensores de borde están diseñados e incluso requieren enviar datos extremadamente rápido en tiempo real o casi en tiempo real dentro de espacios de cómputo altamente limitados, está bastante claro que cada microgramo de energía cuenta. Según Alan Jacobson, director de datos y análisis de la empresa de autodiagnóstico y ciencia de datos Alteryx, las tres áreas clave de enfoque de un desarrollador de borde son: velocidad, recursos de cómputo restringidos y comprensibilidad.

En el caso del socio tecnológico de Alteryx, McLaren Racing, cada automóvil de Fórmula 1 tiene alrededor de 300 sensores de telemetría que entregan más de 100,000 parámetros de pista en el transcurso de un fin de semana de carrera. En segundos, se envían grandes conjuntos de datos en todo el mundo para ciertos tipos de análisis, mientras que en otros casos se utilizan los datos ya sea en la pista o se analizan en el vehículo.

Con la generación de grandes volúmenes de datos de sensores en el borde, no siempre es viable llevar los datos a los análisis. Tener plataformas analíticas que permitan al usuario mover la potencia de cómputo donde se necesita es esencial en un mundo definido por grandes datos, cómputo rápido y la necesidad de sistemas resilientes. La capacidad de analizar estos grandes conjuntos de datos es lo que hace Alteryx.

"Esta necesidad de velocidad requiere tecnología que sea comprensible tanto para los desarrolladores como para los expertos en el dominio", explicó Jacobson. "Cualquier conocimiento generado es inútil si el ingeniero en la pista no puede comprenderlo fácilmente. Para el cómputo en la borde, donde la velocidad de la información es clave, hay poco tiempo para realizar QA en los resultados: el conocimiento es útil de inmediato o es descartado. Se necesitan desarrolladores flexibles que sepan cuándo extender o llevar los cálculos".

El desarrollo en el borde sigue siendo desarrollo

Si hemos pintado un cuadro de alguna nueva zona de cómputo distópica donde los desarrolladores de bordes hacen lo que hacen de una manera más clínica y granular, solo saliendo ocasionalmente del pantano primordial para alimentarse de pizza y sodas, entonces estaríamos equivocados.

VER: Kit de contratación: Desarrollador de Backend (Newsmatic Premium)

Cómo la computación en el borde y IoT pueden trabajar juntos para mejorar el rendimiento

El desarrollo en el borde sigue siendo en realidad desarrollo de aplicaciones de software, dice Chris Darvill, vicepresidente de soluciones y API nativas de la nube en EMEA de la compañía Kong.

"Los requisitos para los desarrolladores de bordes no son tan diferentes de los de los desarrolladores más tradicionales, y en el futuro, no será cuestión de elegir uno u otro, sino que ambos serán necesarios para ofrecer soluciones al mercado", dijo Darvill. "Los desarrolladores de bordes deberán utilizar prácticas modernas de desarrollo caracterizadas por API bien definidas para acelerar la creación de nuevas aplicaciones y servicios mediante la reutilización de API de borde y centralizadas existentes, y también deberán adoptar herramientas consistentes que se puedan utilizar para garantizar que se apliquen estándares adecuados a las aplicaciones en desarrollo, con un enfoque sólido en seguridad, gobernabilidad y observabilidad".

Sí, es probable que haya un aumento en el uso de microservicios, contenedores y Kubernetes en la programación de software en el borde. Y, innegablemente, prácticamente todos los trabajos de ingeniería de software en este espacio deberían avanzar hacia un estado nativo en la nube, incluso cuando se realiza cómputo en las instalaciones físicas.

Pero el desarrollo en el borde sigue siendo código, y tal vez en 10 años lo aceptemos como parte del espectro de competencias de programación que se espera que todo desarrollador pueda mostrar y ejecutar, al igual que el desarrollo móvil es parte del establecimiento hoy en día.

El código en el borde se está afilando, al igual que las herramientas y conjuntos de herramientas, así que asegúrate de empacar guantes resistente al clima.

Qué es el edge computing y cuáles son sus beneficios

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Borde, allí encontraras muchos artículos similares a Qué es un desarrollador de edge y qué habilidades necesita , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.