Compartir a través de


Definición del espacio de problemas

A medida que se dirige a definir su plataforma de desarrollador interna, primero debe definir su plataforma viable más delgada (TVP ). Un TVP es una variación de la idea de un producto mínimo viable (MVP) en la gestión clásica de productos.

Una buena manera de averiguar qué trabajos deben formar parte de su TVP es evaluar las prácticas de ingeniería de plataforma de su organización con el modelo de funcionalidades de ingeniería de plataforma. El modelo de funcionalidades de ingeniería de plataforma puede ver cuáles son los puntos fuertes actuales de ingeniería de plataforma de su organización y establecer objetivos para el futuro.

Este diagrama puede ayudarle a orientar su pensamiento sobre cómo la plataforma de desarrollo puede evolucionar con el tiempo. Tenga en cuenta que el problema principal de su organización puede hacer que se desvíe de lo que se describe aquí debido a las inversiones existentes o a las necesidades de la organización. No es necesario pasar a la siguiente fase a menos que la organización la necesite.

Diagrama para mostrar cómo la ingeniería de plataformas puede evolucionar con el tiempo.

Si empieza desde cero, esta secuencia representa una progresión común. En las primeras fases, céntrese en la detección de funcionalidades necesarias, análisis de diferencias de ajuste de los productos encapsulados con reducción y creación de las herramientas de número mínimas o funcionalidades de la plataforma. A continuación, a medida que escale, es probable que empiece a centrarse en la reutilización y guiar a las personas por rutas de acceso predefinidas con recursos reutilizables. Por último, se mueve hacia un modelo de almacén digital similar al consumidor para facilitar la compilación y el mantenimiento de las aplicaciones. Debe seguir una mentalidad de producto a lo largo de todo, por lo que no se recomienda saltar al final y su recorrido específico varía. Estas fases finales se asemejan más al producto encapsulado de reducción en el sentido tradicional, pero este es un destino, no un punto de partida.

Áreas de temas de ingeniería de plataforma

Dado el tamaño de este tema, se recomienda desglosar cómo hablar de ingeniería de plataforma internamente en cuatro áreas de temas:

Sistemas de ingeniería: combinación mantenida de conjuntos de DevOps como GitHub y Azure DevOps y otras herramientas y servicios de desarrollo. Además de las herramientas y servicios críticos de DevOps, como CI/CD o administración de paquetes, esta área también incluye funcionalidades que se usan directamente durante el proceso de codificación, como entornos de codificación basados en la nube, escáneres de código y litros, y asistentes de inteligencia artificial como GitHub Copilot.

Plataforma de aplicaciones: una selección mantenida de servicios (como IaaS, PaaS y observabilidad) que tienen como destino cada pila de aplicaciones (clase de aplicación, modelo de aplicación, lenguajes) que una organización quiere usar para ofrecer valor empresarial. Esto incluye una combinación de servicios específicos de la pila de aplicaciones junto con los servicios comunes que se usan en todo. Un ejemplo de una plataforma de aplicaciones podría incluir Azure Container Apps, Cosmos DB para almacenamiento, Azure Key Vault para secretos, para el control de acceso basado en roles y identidades, Azure Policy para cumplimiento y auditoría, observabilidad a través de Grafana y una topología de red relacionada.

Plantillas de aplicación: un conjunto de plantillas de inicio rápido bien definidas y creadas por la organización que encapsulan el inicio correcto y se mantienen instrucciones adecuadas para una plataforma de aplicaciones, un lenguaje y un conjunto de sistemas de ingeniería determinados. Pueden hacer referencia a otras plantillas centralizadas y proporcionar código de inicio, referencias de API y SDK, canalizaciones de CI/CD, configuración de herramientas, etc.

Funcionalidades de autoservicio del desarrollador: este es el pegamento para su esfuerzo de ingeniería de plataforma. Se trata de una combinación de API, orquestadores, catálogos, plantillas y experiencias de usuario diseñadas para reducir el trabajo de los desarrolladores y permitir que los equipos de desarrollo sean más autónomos, a la vez que siguen cumpliendo con las selecciones y la guía/gobernanza de las tres áreas anteriores.

Gráfico de áreas principales de ingeniería de plataformas.

La integración de sistemas de ingeniería, plataformas de aplicaciones, plantillas de aplicación y funcionalidades de autoservicio para desarrolladores constituye la piedra angular de una estrategia de ingeniería de plataformas. Al combinar las herramientas de DevOps, los servicios en la nube y las funcionalidades de autoservicio, las organizaciones pueden reducir significativamente el trabajo del desarrollador, mejorar la productividad y garantizar el cumplimiento de los estándares de gobernanza.