Omitir navegación

Obtenga flexibilidad para ejecutar aplicaciones de código abierto de la forma que desee con Microsoft Azure

Publicado el 26 mayo, 2021

Azure Distinguished Engineer

“Las empresas tecnológicas que han nacido con una mentalidad de código abierto lo entienden. Es nuestra capacidad de trabajar juntos lo que da credibilidad a nuestros sueños y, finalmente, los hace posibles. Debemos aprender a crear a partir de las ideas de otros”. —Satya Nadella, consejero delegado de Microsoft

Microsoft ha sido siempre una organización que ha dado prioridad a los desarrolladores y nos esforzamos por mejorar nuestras herramientas y plataformas para ofrecerles un mejor servicio. Por eso, Azure está diseñado para proporcionar a los desarrolladores el control sobre su infraestructura y la máxima flexibilidad, independientemente del sistema operativo, la base de datos, el lenguaje, la herramienta de implementación o la metodología, y para ampliar esas opciones al entorno local y al perímetro. Actualmente, muchos de esos sistemas son de código abierto: Linux, Kubernetes, Spark y Python son solo algunos de los ejemplos más conocidos. Y, por ese motivo, Azure se ha creado para ejecutar esas tecnologías, ya sea a nivel de infraestructura como servicio (IaaS) o de plataforma como servicio (PaaS), en Linux ejecutándose en máquinas virtuales (VM) o en Azure Kubernetes Service (AKS) para el desarrollo nativo de nube, a menudo junto con uno de nuestros servicios administrados para las bases de datos de código abierto más populares.

En Microsoft, estamos comprometidos con el código abierto. Contribuimos a Linux en Azure, Kubernetes en Azure y Visual Studio Code, y colaboramos con organizaciones de código abierto, como Cloud Native Computing Foundation (CNCF) y Open Source Security Foundation (OpenSSF). En Microsoft Build, compartiremos nuestro trabajo más reciente para permitir a los desarrolladores trabajar con flexibilidad e innovar rápidamente en Azure.

Cómo crea Microsoft código abierto

El código abierto consiste en crear una mentalidad abierta: colaborar y contribuir al conocimiento del software para crear valor agregado y basarse en el trabajo de otros. Colaboramos con comunidades, clientes y asociados para ofrecer lo mejor de sus tecnologías a nuestros clientes, y contribuimos a proyectos de código abierto con el fin de garantizar que estén en buen estado y de compartir nuestras innovaciones. Nuestros desarrolladores usan código abierto para realizar sus trabajos de una forma más eficaz. Prácticamente todos los equipos de Microsoft están involucrados en usar código abierto o en contribuir a él: 30 000 empleados de Microsoft tienen cuentas de GitHub asociadas a su identidad de Microsoft.

Flexibilidad para sus aplicaciones nativas de nube

Cada día, son más los desarrolladores que se benefician de las ventajas del desarrollo nativo de nube. Azure ayuda a modernizar las aplicaciones y a migrarlas a la nube sin interrumpir su negocio. Hemos creado Azure teniendo en cuenta a los desarrolladores para que las arquitecturas difíciles sean más sencillas. Azure es una plataforma en la nube muy segura, con la cobertura de cumplimiento normativo más amplia para que pueda tener la seguridad de que sus cargas de trabajo y sus datos están protegidos. Veamos algunos aspectos de cómo funciona.

Los servicios de contenedores, los microservicios en Azure y las soluciones de DevOps en Azure son las principales tecnologías para crear soluciones en la nube. En 2022, el 90 % de las aplicaciones nuevas tendrán una arquitectura de microservicios1. Para administrar la complejidad de las aplicaciones contenedorizadas, Azure Kubernetes Service (AKS) organiza los contenedores y escala o reduce verticalmente los recursos según sea necesario con una canalización automatizada de integración y entrega continuas (CI/CD) integrada. La ventaja de la arquitectura de microservicios es una solución abierta, eficaz, escalable y portátil que permite un desarrollo ágil con flujos de trabajo automatizados para la compilación, las pruebas y la implementación.

También trabajamos con asociados para ofrecer sus tecnologías nativas de nube a los clientes. Por ejemplo, Red Hat OpenShift en Azure ofrece clústeres de OpenShift totalmente administrados y de alta disponibilidad a petición, supervisados y gestionados conjuntamente por Microsoft y Red Hat. Kubernetes constituye el núcleo de Red Hat OpenShift. OpenShift aporta características de valor agregado para complementar Kubernetes, y eso es lo que lo convierte en una plataforma de contenedores llave en mano con una experiencia de desarrollador y operador notablemente mejorada.

Muchos clientes consideran que las tecnologías sin servidor proporcionan la plataforma para las aplicaciones de próxima generación. Las ventajas de los microservicios se pueden maximizar usando una arquitectura controlada por eventos para la comunicación entre servicios desacoplados mediante eventos, al tiempo que se mantiene la independencia, la abstracción y la flexibilidad. Kubernetes Event-Driven Autoscaling (KEDA) es un proyecto de código abierto que incorpora la escala controlada por eventos y sin servidor a cualquier contenedor. La comunidad ha ayudado a crear compatibilidad con más de 35 orígenes de eventos que abarcan todas las nubes. También puede emparejar KEDA con un entorno de ejecución sin servidor como Azure Functions. Azure Functions se basa en una experiencia de desarrollo sin servidor y un entorno de ejecución para arquitecturas controladas por eventos. Azure Functions abarca 10 proyectos de código abierto en GitHub con 60 colaboradores de la comunidad que hacen cientos de commits. Las aplicaciones sin servidor reducen los costos, aumentan la productividad de los desarrolladores y aceleran el ritmo de innovación. Los desarrolladores pueden, finalmente, centrarse en la creación de aplicaciones y no en la administración de la infraestructura. 

Una arquitectura de microservicios se puede mejorar aún más con un proyecto de código abierto, Dapr (Distributed Application Runtime), que ayuda a los desarrolladores a centrarse en la creación de aplicaciones en lugar de dedicar tiempo a resolver las mismas dificultades de las aplicaciones distribuidas una y otra vez. Dapr ofrece una colección de bloques de creación que evita dificultades como guardar el estado para crear aplicaciones con estado, la invocación de servicios y la administración de secretos. Al integrarse con más de 70 componentes diferentes que permiten a los desarrolladores usar las principales tecnologías de código abierto específicas de la nube, Dapr simplifica el desarrollo de aplicaciones nativas de nube. Esta simplificación ayuda a los desarrolladores a crear aplicaciones en menos tiempo sin sacrificar la flexibilidad de elegir qué lenguaje usar o dónde ejecutar la aplicación (en el entorno local, en cualquier nube o en un dispositivo perimetral). Dapr se ejecuta junto con la aplicación como un sidecar, de modo que el código de la aplicación permanece independiente y Dapr se escala con ella. Con el reciente lanzamiento de la versión v1.0, Dapr ya está listo para producción y algunos clientes de Azure, como ZEISS e Ignition Group, ya han usado Dapr para crear aplicaciones nativas de nube que se ejecutan en AKS.

Azure le permite crear soluciones como desee, gracias a la compatibilidad integrada con herramientas, lenguajes y marcos de código abierto. Para los desarrolladores de Java, se acaba de anunciar la disponibilidad general de Microsoft Build of OpenJDK, una distribución de OpenJDK de soporte técnico a largo plazo (LTS) que es de código abierto y está disponible de forma gratuita para que cualquier usuario la pueda implementar en cualquier lugar. Nuestra nube abierta ofrece portabilidad y flexibilidad de las aplicaciones para que pueda centrarse en crear soluciones impactantes. Si desea obtener más información sobre el nuevo Microsoft Build of OpenJDK, lea nuestra reciente entrada de blog "Azure es el lugar para las aplicaciones de Java empresariales".

Acelerar la innovación

Azure también proporciona una serie de servicios que ayudan a crear aplicaciones basadas en inteligencia artificial. Con Azure Machine Learning puede crear, entrenar e implementar modelos de Machine Learning con bibliotecas y plataformas de aprendizaje automático de Python de código abierto . Puede administrar y hacer un seguimiento del ciclo de vida completo del aprendizaje automático mediante MLflow, eliminar los cuellos de botella que merman el rendimiento con PyTorch Profiler y optimizarlo e implementarlo en cualquier lugar mediante ONNX Runtime, un motor de inferencia y entrenamiento de alto rendimiento. ONNX Runtime ahora permite el entrenamiento acelerado de modelos de transformador y los hace hasta un 45 % más rápidos. Con PyTorch Enterprise, puede obtener soporte técnico experto para proyectos de aprendizaje profundo mientras ejecuta código de PyTorch 100 % de código abierto. Azure se adapta a cualquier desarrollador y, para aquellos que no tienen un conocimiento especializado del aprendizaje automático, ofrecemos modelos de inteligencia artificial previamente entrenados para incorporarlos a sus aplicaciones. Azure Bot Services es un marco completo para crear experiencias de inteligencia artificial conversacional de nivel empresarial. Bot Framework permite crear, probar y publicar bots para cualquier escenario, desde ventas hasta el servicio de asistencia al cliente y la productividad de los empleados.

El aprendizaje automático es fundamental para mitigar la parcialidad, proteger a los usuarios con privacidad diferencial y documentar el ciclo de vida del aprendizaje automático con hojas de datos. Estamos poniendo en práctica una serie de principios de aprendizaje automático responsable y convirtiendo en código abierto kits de herramientas de aprendizaje automático para permitir que los científicos de datos y los desarrolladores innoven de forma responsable.

La inteligencia artificial no tendría ningún valor sin datos. Por eso, ofrecemos conjuntos de datos como código abierto para que pueda ahorrar tiempo en la detección y preparación de datos. Azure Open Datasets es una serie de conjuntos de datos disponibles públicamente que están listos para usarlos en flujos de trabajo de aprendizaje automático con el fin de mejorar la precisión. A estos conjuntos de datos se accede a través de una API e incluyen datos de dominio público sobre meteorología, censos, vacaciones, seguridad pública, etc. Si decide usar sus propios datos, puede almacenarlos en nuestras bases de datos de código abierto totalmente administradas, como Azure Database for PostgreSQL, Azure Database for MySQL, Azure Database for MariaDB y Azure Cache for Redis, así como en Azure Cosmos DB, una base de datos NoSQL totalmente administrada con API de código abierto para MongoDB y Cassandra.

Permitimos que los desarrolladores puedan crear nuevas aplicaciones inteligentes con los kits de herramientas de aprendizaje automático más novedosos y los ayudamos de forma proactiva a innovar de manera responsable. Si desea obtener más información sobre cómo aprovechar el valor de la inteligencia artificial en sus aplicaciones, lea nuestra reciente entrada de blog "Aproveche el potencial de los datos y la inteligencia artificial en sus aplicaciones con Azure".

Ecosistema de código abierto de Azure

El ecosistema de código abierto de Azure incorpora soluciones de muchas empresas y desarrolladores individuales. Un requisito para que Azure sea una excelente plataforma para los desarrolladores es admitir todos los servicios que ellos esperan, independientemente del origen. Y también trabajamos para convertir Azure en una gran plataforma para nuestros asociados. Hemos mencionado el servicio Red Hat OpenShift en Azure, pero también colaboramos con Red Hat, SUSE, Databricks, HashiCorp, VMware y otras empresas para crear conjuntamente y admitir sus soluciones en forma de servicios administrados. Juntos podemos crear una experiencia fluida entre las áreas de operaciones, identidad, seguridad y facturación que le hace la vida más fácil a los usuarios. Para ampliar aún más este impulso, hemos anunciado en Microsoft Build una nueva integración nativa de Elastic en Azure que permite a los clientes que usan servicios de Elastic en Azure acceder a una facturación integrada, un soporte técnico completo y la integración en Azure Portal.

A medida que miramos hacia el futuro, estamos encantados de colaborar con empresas que están tan implicadas en el desarrollo de tecnologías de código abierto como nosotros.

Azure es la nube para los desarrolladores de código abierto

Nuestra misión en Microsoft es capacitar a todas las personas y organizaciones del planeta para lograr más cosas". Azure puede ayudarlo a innovar hoy, mañana y en el futuro. Capacitamos a los desarrolladores para crear e innovar en sus aplicaciones usando nuestra plataforma como un lugar abierto donde disponen de los mejores bloques de creación y herramientas. No tiene por qué saber ya lo que va a crear, pero estamos deseando ver su creación. Eche un vistazo a nuestra sesión de Microsoft Build, Ejecute aplicaciones de código abierto como desee en Microsoft Azure y nuestras fantásticas demos para ver cómo capacitamos a los desarrolladores para que innoven libre y rápidamente. Lea las entradas más recientes del blog de Microsoft sobre el código abierto para saber cómo están innovando nuestros ingenieros con el código abierto y síganos en Twitter.


1IDC FutureScape: Worldwide IT Industry 2019 Predictions

Azure. Invente con un objetivo.