La ingeniería de plataformas se ha convertido en una disciplina fundamental en las organizaciones basadas en datos, pero hay una sigla que sigue generando confusión. IDP son las siglas de dos conceptos distintos: internal developer platform (plataforma interna para desarrolladores) e internal developer portal (portal interno para desarrolladores). Los dos conceptos están relacionados, pero no son lo mismo, y confundirlos podría llevar a que la organización desarrolle experiencias de desarrollo incompletas o a que no soporte adecuadamente la entrega de software moderno.
Una plataforma interna para desarrolladores (IDP) es un conjunto centralizado de herramientas, servicios y flujos de trabajo internos que una organización establece para facilitar a los desarrolladores la creación, implementación y operación de software sin necesidad de gestionar toda la infraestructura subyacente por sí mismos.
Un portal interno para desarrolladores (también abreviado, lo que puede llevar a confusión, como IDP) es una interfaz que permite a los ingenieros encontrar y acceder a las herramientas, los flujos de trabajo, las API, la documentación y las integraciones que necesitan para desarrollar y mantener software. Proporciona un destino único para los procesos de desarrollo y el conocimiento institucional de una organización, de modo que los desarrolladores puedan operar de manera eficiente con un modelo de autoservicio.
A menudo se confunden estos dos conceptos, simplemente porque comparten las mismas siglas y porque ambos se refieren a la capacitación de los desarrolladores.
Los entornos modernos de entrega de software son cada vez más complejos. Los desarrolladores deben familiarizarse con clústeres de Kubernetes, pipelines de CI/CD, infraestructura en la nube, herramientas de observabilidad, repositorios de infraestructura como código (IaC), requisitos de cumplimiento normativo y mucho más. Y a medida que las organizaciones escalan, crece el número de servicios internos y dependencias a lo largo del ciclo de vida del desarrollo de software (SDLC). Esto es especialmente cierto para las empresas que ejecutan arquitecturas de microservicios distribuidos en varios proveedores de servicios en la nube.
La ingeniería de plataformas surgió como respuesta a esta complejidad y evolucionó a partir de iniciativas de DevOps más amplias. En lugar de obligar a todos los equipos de desarrollo a convertirse en expertos en infraestructura y operaciones, las organizaciones crean equipos de plataforma centralizados responsables de construir sistemas reutilizables y "caminos dorados" que abstraen el trabajo operativo repetitivo. El objetivo es reducir la carga cognitiva entre los desarrolladores y permitir el autoservicio, para que los desarrolladores puedan centrarse en crear y entregar software.
Esta tendencia dio lugar a dos niveles distintos, pero interrelacionados: la plataforma interna para desarrolladores y el portal interno para desarrolladores.
Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.
La plataforma es la columna vertebral operativa que permite la entrega estandarizada de software y el autoservicio para los desarrolladores. Se trata del conjunto de tecnologías y herramientas que se combinan para ofrecer esas "rutas óptimas". Normalmente consta de los siguientes componentes:
Automatización de infraestructuras (como Terraform)
Pipelines de CI/CD
Abstracciones de Kubernetes
Controles de identidad y acceso
Sistemas de provisión ambiental
Medidas de seguridad
Plantillas de infraestructura como código
Orquestación nativa de la nube
Integraciones de GitHub
Observabilidad en tiempo real
Sistemas de aplicación de políticas
La magia de la plataforma es que es posible que los desarrolladores nunca interactúen directamente con muchos de estos sistemas. La plataforma se encarga del trabajo pesado detrás de la entrega de software. Normalmente lo mantiene un equipo dedicado de ingeniería de plataformas. Su propósito es exponer flujos de trabajo aprobados y patrones de infraestructura de forma reutilizable, escalable y segura
El portal es la interfaz orientada al usuario que permite a los desarrolladores descubrir e interactuar con las capacidades de la plataforma. Es como un panel de control para el ecosistema de ingeniería. Por lo general, proporciona:
Catálogos de servicios
Centros de documentación
Detección de API
Formularios de solicitud de infraestructura
Paneles de control de implementación
Metadatos de propiedad
Cuadros de mando y estado
Plantillas
Flujos de trabajo de autoservicio
Enlaces a herramientas operativas
Estos componentes suelen unificarse a través de la tecnología de código abierto llamada Backstage, un marco de portal frontend apreciado por su extensibilidad. No es una plataforma completa: las organizaciones siguen necesitando automatización de backend, orquestación y herramientas de infraestructura para proporcionar capacidades de autoservicio.
El portal centraliza el acceso a recursos de ingeniería que, de otro modo, estarían fragmentados en decenas de sistemas. No ejecuta flujos de trabajo, simplemente proporciona una interfaz fácil de usar que los activa en cualquier parte de la plataforma. La plataforma proporciona la funcionalidad operativa real.
Una plataforma de desarrollo interna puede existir sin un portal. Los desarrolladores pueden interactuar directamente a través de interfaces de línea de comandos (CLI), API, flujos de trabajo de GitOps o repositorios de infraestructura. Del mismo modo, un portal puede existir sin una plataforma sofisticada que lo sustente. En ese caso, el portal se convierte en poco más que un catálogo de servicios o una capa de documentación.
Los equipos de ingeniería más pequeños pueden obtener un valor sustancial de un portal ligero, aunque solo sea para centralizar la documentación, los metadatos, las API y el descubrimiento de servicios. Un portal tan limitado que sirva como única fuente fiable puede ofrecer ganancias rápidas al consolidar los conocimientos operativos, aunque esto requiere un gobierno sólido.
La organización madura basada en datos con cientos o miles de desarrolladores necesita tanto un portal como una plataforma. Juntos, estos sistemas crean una experiencia más fácil de usar para los ingenieros que, de otro modo, tendrían que navegar manualmente por cadenas de herramientas fragmentadas y flujos de trabajo de infraestructura.
En la práctica, muchas organizaciones comienzan su camino en la ingeniería de plataformas implementando un portal como Backstage, porque la interfaz visual genera visibilidad y impulso organizativo.
La plataforma se vuelve esencial para casos de uso como:Aprovisionamiento de infraestructura de autoservicio
Flujos de trabajo de implementación estandarizados
Orquestación multinube
Caminos dorados seguros
Aplicación de políticas
Gobierno de costes
Automatización ambiental
Gestión del ciclo de vida de las infraestructuras
Experiencias de desarrollo coherentes en todos los equipos
Sin la estandarización que ofrecen las plataformas, la productividad de los desarrolladores se verá afectada, ya que los desarrolladores serán responsables de tareas ajenas que interrumpan los principales flujos de trabajo de los desarrolladores. Esta estandarización también agiliza la incorporación.
Juntos, el portal y la plataforma ofrecen autoservicio, lo que significa que los desarrolladores pueden descubrir recursos de forma independiente y bajo demanda a través del portal, y pueden ejecutar tareas operativas a través de la plataforma.
La IA está transformando ambos componentes. Dentro de la plataforma, la IA puede automatizar tareas operativas como el aprovisionamiento de infraestructura, la optimización de CI/CD, la aplicación de políticas, el análisis de incidentes y la gestión de costes, entre otras tareas operativas.
En el portal, la IA mejora el descubrimiento y la usabilidad. Los desarrolladores pueden utilizar consultas en lenguaje natural para localizar API, documentación, plantillas, información de propiedad y flujos de trabajo operativos sin navegar manualmente por varios sistemas. Un asistente de IA como IBM® Bob puede guiar la incorporación, orientar en el proceso de incorporación, responder a preguntas sobre las herramientas internas y recomendar procedimientos estándar aprobados basados en las normas de la organización.
Gracias a la IA, el autoservicio nunca ha sido tan útil, y la aplicación de la IA tanto a los portales como a las plataformas permite a los desarrolladores centrarse en sus responsabilidades principales.
Acelere la entrega de software con Bob, su socio de IA para un desarrollo seguro y consciente de la intención.
Optimice los esfuerzos de desarrollo de software con herramientas impulsadas por IA de confianza que minimizan el tiempo dedicado a escribir código, depurar, refactorizar código o completar código, y consiga más espacio para la innovación.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.