El término nativo en la nube hace referencia al concepto de creación y ejecución de aplicaciones para aprovechar la computación distribuida que ofrece el modelo de entrega en la nube. Las aplicaciones nativas en la nube están diseñadas para aprovechar al máximo la escala, la elasticidad, la resiliencia y la flexibilidad que ofrece la nube.
Como define la Cloud Native Computing Foundation (CNCF), las tecnologías nativas en la nube permiten a las organizaciones crear y ejecutar aplicaciones escalables en nubes públicas, privadas e híbridas. Las funciones, como contenedores, mallas de servicio, microservicios, infraestructura inmutable e interfaces de programación de aplicaciones (API) declarativas ilustran mejor este enfoque.
Estas funciones permiten usar sistemas débilmente acoplados que son resilientes, manejables y observables. Permiten a los ingenieros realizar cambios de alto impacto con frecuencia con un mínimo esfuerzo.
El panorama moderno de aplicaciones complejas, con usuarios que esperan innovación continua y capacidad de respuesta sin precedentes, requiere que los sistemas de negocio sean más estratégicos y cada vez más flexibles. Las tecnologías nativas en la nube tratan de ser rápidas y ágiles.
Los servicios nativos en la nube potencian el desarrollo de aplicaciones modernas mediante tecnologías como Kubernetes, Docker, funciones sin servidor, API y Kafka. Los proveedores de nube líderes del sector permiten utilizar herramientas y servicios en la nube para que los desarrolladores puedan reducir las tareas operativas y crear aplicaciones más rápido. Los servicios nativos en la nube proporcionan a los desarrolladores una plataforma completa basada en estándares para crear, desplegar y gestionar aplicaciones nativas en la nube, como microservicios y funciones sin servidor.
Descubra cómo los equipos de desarrollo pueden aprovechar todo el potencial de las soluciones nativas en la nube para crear rápida y fácilmente aplicaciones modernas en la nube que sean resistentes, manejables y escalables.
La migración a las tecnologías nativas de la nube ha alterado permanentemente el desarrollo de software y los modelos de negocio, ya que permiten maximizar las experiencias del cliente en la plataforma de una organización. Hasta no hace mucho tiempo, la infraestructura de TI de muchas organizaciones era "compatible con la nube". Los equipos de TI que se trasladan a la nube se ubican en una fuerte desventaja competitiva si no maximizan su inversión, además de crear aplicaciones nativas en la nube. Para que su empresa pueda sobrevivir y diferenciase de sus competidores, la capacidad de ajuste e iteración rápidas es una necesidad de negocio, y una infraestructura en la nube tiene la flexibilidad y las capacidades a demanda para migrar de cualquier negocio a una tecnología en la nube.
La CNCF se formó en 2015 en respuesta a la abundancia de organizaciones y servicios que estaban adoptando sistemas nativos en la nube. La CNCF es proyecto creado por la Linux Foundation y es una base de software de código abierto que promueve la adopción de tecnologías nativas en la nube. Cuenta con más de 400 miembros, incluidos proveedores de nube pública, empresas de software empresarial y startups de tecnología. Microsoft, Oracle, VMware, Intel son algunos de los miembros Platinum de la CNCF.
La CNCF se asegura de que la tecnología nativa en la nube sea accesible, disponible y fiable. Fomenta una comunidad dedicada a proyectos, como Kubernetes, Prometheus y CoreDNS, al tiempo que respalda a organizaciones que crean entornos sostenibles que organizan contenedores dentro de una arquitectura de microservicios.
La transición de una organización a la nube nativa puede ser abrumadora; sin embargo, al final, vale la pena. Este recorrido no solo consiste en volver a diseñar aplicaciones, sino en cambiar la estructura y la cultura de tu empresa y, en última instancia, hacerla crecer. Mediante el mapa de seguimiento de la CNCF, las empresas pueden adoptar tecnologías nativas de nube de forma incremental. Como se esperaba, la progresión a lo largo del "recorrido" requiere la adopción de software más complejo para ofrecer microservicios, funciones sin servidor, flujos basados en eventos y otros tipos de aplicaciones en la nube.
Las aplicaciones nativas en la nube (o aplicaciones en la nube nativas [NCA]) son programas diseñados para una arquitectura de computación en la nube. Tienen muchos beneficios.
Las aplicaciones nativas en la nube son servicios independientes, empaquetados como contenedores ligeros independientes que son portátiles y se pueden escalar (ampliar o reducir) rápidamente según la demanda. Al encapsular todo en un contenedor (como un contenedor de Docker), aísla la aplicación y sus dependencias de la infraestructura subyacente. Esto permite desplegar esa aplicación en contenedores en cualquier entorno que tenga el motor de tiempo de ejecución de contenedor. Lo importante sobre las orquestaciones de contenedores de Kubernetes es que gestionan el ciclo de vida de los contenedores. Las aplicaciones nativas en la nube se suelen entregar a través de un pipeline DevOps que incluye cadenas de herramientas de integración y entrega continuas (CI/CD). Los pipelines de CI/CD son importantes para automatizar la creación, las pruebas y el despliegue de aplicaciones nativas en la nube.
La arquitectura nativa en la nube se refiere al diseño de aplicaciones o servicios que se crearon específicamente para existir en la nube, en lugar de hacerlo en una infraestructura local más tradicional. Una arquitectura nativa en la nube de éxito debe ser fácil de mantener y soportar mediante una nube de última generación, además de rentable y autosuficiente. En comparación con los sistemas antiguos, las arquitecturas nativas de la nube tienen un mayor nivel de flexibilidad, sin tener que depender de los servidores físicos.
Aquí es donde los microservicios y las funciones sin servidor pueden desempeñar un papel muy importante. Los microservicios son la base de la arquitectura de aplicaciones nativas en la nube y se han convertido en una herramienta clave para las empresas que están realizando la migración a la nube. Los microservicios organizan una aplicación en varios servicios independientes y cada uno cumple una función específica. Muchas empresas de software aprovechan los microservicios, ya que son compatibles con DevOps, permiten flexibilidad, mejoran la escalabilidad y reducen los costos. Los microservicios nativos en la nube se comunican entre sí mediante API y utilizan arquitectura basada en eventos, que sirve para mejorar el rendimiento general de cada aplicación. Los servicios nativos de Oracle Cloud siguen la hoja de ruta de la CNCF que ayuda a simplificar la experiencia y facilita a las empresas la creación, el despliegue y la gestión de aplicaciones modernas nativas de la nube.
El término funciones sin servidor describe un estilo de arquitectura que se centra en aumentar la productividad de los desarrolladores. Una aplicación sin servidor permite escribir código en una plataforma que funciona como servicio (FaaS) mediante arquitecturas controladas por eventos y varios modelos de backend como servicio (BaaS). Esto elimina la necesidad de preocuparse por el aprovisionamiento, la aplicación de parches, el escalado, la seguridad, la alta disponibilidad, etc. Con las plataformas FaaS, como Oracle Functions, las aplicaciones se dividen en pequeños fragmentos de código (nanoservicios), que se programan dinámicamente y se ejecutan bajo demanda cuando son disparados por un evento. La ventaja de este enfoque es que el código se llama y ejecuta solo cuando es necesario, y tú pagas solo por los recursos utilizados durante la duración de la ejecución. Esto difiere de un enfoque de servidor clásico, en el que las aplicaciones se cargan en un servidor y pasan la mayor parte de su tiempo inactivo, esperando solicitudes. Por lo tanto, en la computación sin servidor, solo paga por los recursos informáticos que utiliza realmente, en lugar de pagar por recursos inactivos.
Los servicios en la nube son el núcleo de las innovaciones digitales y son clave para los análisis avanzados, las aplicaciones móviles y los bots conversacionales. Las prácticas DevOps eliminan la mayoría de las tareas de gestión asociadas con la creación, el funcionamiento y el mantenimiento de una plataforma de software compleja. Las actividades de desarrollo, implementación y prueba de software residen en la nube y se pueden ampliar o contraer a voluntad. El cambio de aplicaciones, DevOps y cargas de trabajo a una arquitectura nativa en la nube es fundamental para mantener su negocio competitivo.
Los servicios nativos en la nube de Oracle potencian el desarrollo de aplicaciones modernas en la nube mediante tecnologías basadas en estándares, como Kubernetes, Docker, funciones sin servidor, API y Kafka. A menudo descrito como el "sistema operativo para la nube", Kubernetes es una plataforma de código abierto para administrar clústeres de aplicaciones y servicios en contenedores. Los componentes clave de Kubernetes son los clústeres, los nodos y el plano de control. Los clústeres contienen nodos. Cada nodo comprende un conjunto de al menos una máquina trabajadora. Los nodos alojan pods, que contienen elementos de la aplicación implementada. El plano de control administra nodos y pods en el cluster, a menudo en muchas computadoras, para lograr una alta disponibilidad.
Oracle ofrece las herramientas en la nube y la automatización necesarias para estos servicios, de modo que los equipos de desarrollo puedan reducir las tareas operativas y crear aplicaciones rápidamente. Los servicios nativos en la nube se ejecutan en Oracle Cloud Infrastructure (OCI), que ofrece una plataforma basada en estándares con un mayor rendimiento y un menor costo. Al aprovechar los servicios basados en código abierto y estándares abiertos, OCI permite a los desarrolladores ejecutar aplicaciones en cualquier entorno local o en la nube sin necesidad de refactorización, lo que les da la libertad de centrarse en la creación y la innovación.
OCI Container Registry es un servicio de registro de Docker gestionado por Oracle y basado en estándares abiertos para almacenar y compartir imágenes de contenedor de forma segura. Los ingenieros pueden insertar y extraer imágenes de Docker fácilmente con la API y la interfaz de línea de comandos (CLI) conocidas de Docker. Para admitir los ciclos de vida de los contenedores, Container Registry funciona con Container Engine for Kubernetes de Oracle, OCI Identity and Access Management, Oracle Visual Builder Studio y herramientas de desarrollo y DevOps de terceros.
OCI Notifications es un servicio de publicación/suscripción de baja latencia y alta disponibilidad que envía alertas y mensajes a Oracle Cloud Functions, correo electrónico, SMS y socios de entrega de mensajes, incluidos Slack, PagerDuty y ServiceNow. El servicio se integra con OCI Identity and Access Management para ofrecer un acceso seguro. Además, entrega todos los mensajes, incluso durante ráfagas de tráfico. Notifications le ayuda a crear aplicaciones nativas de la nube que sean escalables y fiables.
El servicio de transmisión de OCI es una plataforma de transmisión de eventos en tiempo real, sin servidor y compatible con Apache Kafka para desarrolladores y científicos de datos. Este servicio de transmisión de eventos gestionados introduce, almacena y procesa datos de transmisión en tiempo real a escala. Reduce el bloqueo a través de la compatibilidad total con las API de Kafka de código abierto ampliamente utilizadas.
Container Engine for Kubernetes (OKE) es un servicio de organización de contenedores gestionado por Oracle que puede reducir el tiempo y el costo para crear modernas aplicaciones nativas en la nube. A diferencia de muchos otros proveedores, Oracle Cloud Infrastructure proporciona Container Engine for Kubernetes como un servicio gratuito que se ejecuta en unidades de computación de mayor rendimiento y menor costo. Los ingenieros de DevOps pueden utilizar Kubernetes de código abierto sin modificar para la portabilidad de la carga de trabajo de las aplicaciones y para simplificar las operaciones con actualizaciones y parches automáticos.
Oracle Cloud Functions es una plataforma sin servidor que permite a los desarrolladores crear, ejecutar y escalar aplicaciones sin gestionar ninguna infraestructura, y también se integra con OCI, servicios de plataforma y aplicaciones SaaS. Debido a que Functions se basa en el código abierto de Fn Project, los desarrolladores pueden crear aplicaciones que se pueden migrar fácilmente a otros entornos en la nube y locales. El código basado en Functions generalmente se ejecuta durante periodos breves y los clientes pagan solo por los recursos que utilizan.
¿El desarrollo de las aplicaciones nativas en la nube realmente ofrece aplicaciones que son mucho mejores que las desarrolladas tradicionalmente? Sí. Las ventajas de las aplicaciones nativas en la nube son claras: pueden ampliarse porque sus funciones se dividen en microservicios y permiten la gestión individual. Además, dado que no tienen en cuenta su infraestructura en la nube, las aplicaciones nativas en la nube se pueden ejecutar de forma altamente distribuida, manteniendo la independencia y asignando recursos en función de las necesidades de las aplicaciones. Las aplicaciones nativas en la nube se han convertido en una forma clave de aumentar la estrategia y el valor de negocio, ya que pueden proporcionar una experiencia uniforme en nubes privadas, públicas e híbridas. Permiten a su organización aprovechar al máximo la computación en la nube al ejecutar aplicaciones nativas en la nube con capacidad de respuesta y confiables que se pueden ampliar y reducen el riesgo.
Descubre por qué los desarrolladores están entusiasmados con la utilización de tecnologías nativas en la nube para crear la próxima generación de aplicaciones y ejecutarlas en cualquier lugar.
Aprenda a crear, observar y gestionar aplicaciones modernas, como microservicios y funciones sin servidor mediante contenedores Docker, Kubernetes, Terraform y otras tecnologías nativas en la nube.
Crea, comprueba e implementa aplicaciones en Oracle Cloud de forma gratuita.