Edge Computing es una de las muchas nuevas tecnologías que surgen todos los días y que, para los desarrolladores, representa tanto un desafío como una oportunidad. Especialmente hoy en día, la amplia gama de habilidades que los desarrolladores deben adquirir y aplicar puede ser, en ocasiones, abrumadora, pero el aprendizaje de nuevas tecnologías es esencial, ya que pueden habilitar aplicaciones más potentes, mejorar las experiencias de los usuarios, simplificar el desarrollo o, en el caso de edge computing, todos ello a la vez.
Al contar con baja latencia, mejor disponibilidad, seguridad mejorada, automatización y reducción de costos, el edge no solo mejora la UX (experiencia del usuario), sino que amplía sus posibilidades de desarrollo. Cuando se combina con la computación serverless, cualquier desarrollador puede aprovechar el potencial de edge computing para crear aplicaciones de clase mundial y hacer la transición del prototipo a escala planetaria utilizando marcos de JavaScript.
En este sentido, Alessandro Cauduro, CDXO (Chief Developer Experience Officer, director de experiencia del desarrollador) de Azion y fundador de Haus, ecosistema de marketing digital, considera que todos los desarrolladores deben aprender a aprovechar edge computing. Para este artículo, hablamos con Alessandro sobre cómo el edge está haciendo posible la próxima ola de aplicaciones que utilizan las macrotendencias y que les encantan a los desarrolladores.
P: Alessandro, ¿cuál es el mayor desafío al que se enfrentan los desarrolladores hoy en día?
R: Hoy en día, las empresas se enfrentan a una brecha de habilidades, por lo que, a menudo, el desarrollador es la única persona técnica del equipo, responsable del ciclo de vida completo del desarrollo (planificación, frontend, backend, infraestructura, pruebas e implementación). El frontend (la capa de presentación o la interfaz de usuario) requiere un conjunto de habilidades diferente al del backend, donde se realiza la lógica empresarial. Aprender todas estas habilidades puede ser complicado, pero afortunadamente los desarrolladores de hoy tienen buenas herramientas de desarrollo, lo que permite que un desarrollador realice su actividad a niveles de clase mundial.
P: ¿Puedes mencionar algunas de las soluciones para desarrolladores que hacen esto posible?
R: Por ejemplo, las soluciones serverless permiten que un solo desarrollador brinde soluciones de clase mundial, ya que eliminan la necesidad de DevOps. Eso significa que los desarrolladores no tienen que preocuparse por configurar y monitorear servidores, y estos recursos pueden escalar automáticamente. Además, los marcos de frontend de JavaScript como Next.js se están convirtiendo en marcos full stack, ya que el frontend y el backend de una aplicación se pueden desarrollar en JavaScript, y combinándolos con bases de datos serverless, como PlanetScale, se pueden crear aplicaciones modernas escalables cuando se despliegan en el edge.
P: ¿Cuál es la relación entre la computación serverless y edge computing?
R: Serverless es un modelo de ejecución en la cloud donde los proveedores abstraen la oferta y se encargan de gestionar los servidores en nombre de sus clientes. Google y AWS fueron pioneros en esto y ahora se popularizó en el sector de la tecnología, ya que simplifica la implementación y la planificación de recursos.
Comenzó con un modelo centralizado basado en la localización geográfica de los datacenters. Las plataformas edge serverless como la de Azion van un paso más allá y ayudan a los desarrolladores a automatizar el proceso de distribución de funciones y aplicaciones de edge en todo el mundo para recibir solicitudes cuando se necesitan y estar muy cerca del usuario final, lo que se traduce en una latencia más baja y aplicaciones con tiempos de respuesta inmediatos.
P: ¿Qué otras tecnologías impulsa el edge?
R: Jamstack, que es un tipo de arquitectura de aplicación moderna que aprovecha JavaScript, API y Markdown para crear aplicaciones web modernas que se implementan en la CDN y se renderizan en el lado del navegador, lo que da como resultado aplicaciones que tienen tiempos de respuesta instantáneos
y usan menos recursos del servidor. Se adapta perfectamente a las ofertas serverless, por lo que es más fácil de escalar y elimina la necesidad de gestionar un servidor. Además, cuenta con un front-end y un back-end totalmente desacoplados para una mayor flexibilidad.
Este modelo de arquitectura es muy flexible y también se denomina headless (sin cabeza) o API-first. Esta separa la capa de presentación de la lógica empresarial proporcionada por las API, por lo que puede suministrar cualquier capa de presentación de frontend: aplicación de escritorio, aplicación web, aplicación nativa o CLI.
Además, hay runtimes increíbles, como WebAssembly, que puede ejecutarse en el edge y permite un alto desempeño con velocidades casi nativas que pueden ejecutarse más rápido y usar menos recursos que los contenedores. Al igual que Jamstack, puede aprovechar los recursos del lado del cliente. Aunque el inconveniente de WASM, por ahora, es que es para desarrolladores avanzados, ya que requiere el uso de lenguajes como Rust, C++ o Go. En este momento está en un estadio temprano de desarrollo, pero gracias a su modelo de cómputo eficiente veremos desarrollos y cambios emocionantes en la forma en que se implementarán las aplicaciones en el futuro.
P: ¿Ves algún escenario de riesgo en el que las herramientas que simplifican el trabajo del desarrollador pudieran resultar en un desarrollo de aplicaciones menos flexible o potente, o al contrario?
R: En algunos casos existen herramientas de código bajo o sin código como Bubble, Outsystems o Microsoft PowerApps que permiten a cualquier persona, incluso a no desarrolladores, implementar la lógica comercial y activar un MVP, pero corren el riesgo del vendor lock-in (dependencia del proveedor). Sin embargo, con las herramientas serverless, que se basan en estándares abiertos, puedes contar con aplicaciones de código bajo que también ofrecen mucha flexibilidad. Uno de los beneficios de la Plataforma de Edge Computing de Azion es que se trata de una plataforma de edge y es serverless, basada en estándares abiertos, lo que permite un uso fácil y amplía posibilidades para los desarrolladores.
P: En este sentido, ¿dirías que edge computing serverless es el futuro del desarrollo?
Sí, el mercado y las macrotendencias de los desarrolladores apuntan al edge como el futuro, pero brindar una experiencia de desarrollador fantástica es la mejor manera para que una empresa se destaque y se prepare para su crecimiento. Espero trabajar con la comunidad de Azion para simplificar su vida mientras logran sus objetivos con nuestra plataforma.