Modelo de funcionalidades de ingeniería de plataformas
La ingeniería de plataformas está pensada para ser un viaje. Un enfoque gradual e iterativo suele ser más eficaz que intentar una implementación a gran escala, inmediata o basarse únicamente en mandatos de arriba abajo. El progreso incremental, a partir de productos mínimamente viables (MMV), permite a los equipos refinar su enfoque a lo largo del tiempo al incorporar comentarios a lo largo del proceso.
El ciclo de vida de ingeniería de plataformas representa un enfoque estructurado para garantizar que una plataforma sea confiable, escalable y mejore continuamente. Este ciclo de vida abarca distintas fases, cada una de las cuales contribuye al éxito a largo plazo de la plataforma.
Un elemento esencial del ciclo de vida es la Modelo de funcionalidad de ingeniería de plataformas, que proporciona un marco completo para evaluar, planear e implementar esfuerzos de ingeniería de plataformas. El modelo describe los niveles de madurez, los procedimientos recomendados y las funcionalidades críticas necesarias en cada fase del ciclo de vida, lo que garantiza la alineación con los objetivos de la organización y las necesidades del usuario.
El modelo describe el progreso de las prácticas de ingeniería de plataformas de maduración en cinco fases: Inicial, Repetible, Definida, Administraday Optimización. En la fase inicial , las organizaciones tienen una estructura limitada, con procesos ad hoc y una inversión mínima en las funcionalidades de la plataforma. A medida que avanzan a la faseRepetible, surgen procesos básicos, pero la adopción y la gobernanza siguen siendo incoherentes. La fase Definida marca el establecimiento de estándares y procesos claros, con los usuarios que empiezan a adoptar soluciones de plataforma intencionadamente. En la fase Administrada , las plataformas se rigen activamente, los recursos se aprovisionan y administran de forma eficaz, y las interacciones del usuario son coherentes mediante interfaces estandarizadas. Por último, en la faseOptimización, las plataformas se mejoran continuamente mediante mecanismos de comentarios sólidos, resultados medidos y funcionalidades adaptables alineadas con las necesidades del usuario y los objetivos de la organización.
El modelo se evalúa en función de seis capacidades: Inversión, que refleja la asignación de recursos y financiación; adopción, centrada en la detección y uso de usuarios; gobernanza, garantizando la accesibilidad de los recursos, el control de costos y la protección de datos/IP; aprovisionamiento y administración, definiendo cómo se implementan y mantienen los recursos; Interfaces, direccionando las interacciones del usuario con la plataforma; y medición y comentarios, enfatizando la mejora continua a través de métricas de rendimiento e información del usuario. Juntas, estas funcionalidades se alinean estrechamente con las áreas clave descritas en el modelo de madurez de ingeniería de plataformas de Cloud Native Computing Foundation y reflejan el nivel de madurez de la ingeniería de plataforma de la organización.
Para usar el modelo de funcionalidad de ingeniería de plataformas, primero evalúe dónde se encuentra su organización en cada una de las seis áreas de funcionalidad. Puede realizar esta evaluación manualmente o completar la encuesta modelo de funcionalidad de ingeniería de plataformas. Una vez que haya identificado las fases actuales, establezca objetivos futuros para el crecimiento y organigrama del progreso de su organización para cada funcionalidad. No es necesario que el progreso se produzca en todas las funcionalidades a la vez. Céntrese en las áreas que tengan más sentido para su organización.
futura
A medida que la capacidad de inversión evoluciona a través de cada fase, su enfoque se centra en cómo se asignan personal y fondos a las capacidades de la plataforma, con énfasis en el presupuesto y la personalización, la gestión del ámbito y la medición del retorno de la inversión (ROI).
- Inicial (voluntario): las funcionalidades de plataforma surgen de la necesidad, impulsadas por ingenieros individuales que abordan voluntariamente las necesidades tácticas inmediatas. El presupuesto y la personal son mínimos, con trabajo normalmente no financiado y realizado junto con las responsabilidades existentes. Las soluciones tienen un ámbito limitado y tienen como destino problemas específicos con un uso compartido de conocimientos limitado entre los equipos. La rentabilidad de la inversión se mide mediante la manera en que se abordan los requisitos inmediatos de forma eficaz y su impacto en los resultados principales del proyecto.
- Repetible (Ad-hoc Contributions): los equipos dedicados comienzan a abordar retos recurrentes, como el aprovisionamiento inconsistente o las brechas de seguridad, pero los esfuerzos siguen siendo en gran medida reactivos. Los presupuestos y el personal están limitados a cuestiones transversales, con un empoderamiento restringido en toda la organización. La administración de ámbitos se centra en problemas específicos sin una perspectiva más amplia para toda la plataforma. La rentabilidad de la inversión se mide mediante mejoras en la resolución de los desafíos clave, como la reducción del trabajo pendiente.
- Definido (Operativo - Equipo dedicado): surgen equipos de plataforma financiados de forma centralizada, centrados en acelerar la entrega de software y abordar los requisitos técnicos. La dirección comienza a fomentar la colaboración e implementar prácticas iniciales de DevOps, pero los desafíos siguen siendo medir el valor del equipo. El presupuesto y el personal se formalizan para que los equipos centrales satisfagan las necesidades técnicas. Las soluciones se vuelven más amplias y abordan los desafíos comunes entre los equipos, aunque el enfoque sigue siendo a corto plazo. La rentabilidad de la inversión se mide mediante ganancias en la velocidad de entrega.
- Administrado (escalable como producto): se produce un cambio cultural, tratando a los desarrolladores como clientes con liderazgo que enfatiza la empatía y un enfoque dirigido por el producto. Los equipos de plataforma operan como equipos de producto, personal con desarrolladores, administradores de productos y expertos en experiencia del usuario. La administración de ámbitos se alinea con las hojas de ruta del producto, revisadas en colaboración con los equipos de ingeniería para satisfacer las necesidades de toda la organización. La rentabilidad de la inversión se evalúa a través de una satisfacción mejorada del desarrollador, lo que refleja mejoras continuas y alineación con las necesidades del usuario.
- Optimización (ecosistema habilitado): la inversión se centra en la innovación, manteniendo la relevancia de la plataforma con contribuciones fomentadas en toda la organización. Los equipos de plataforma presentan funcionalidades avanzadas, como mejoras de seguridad y rendimiento, lo que permite a los equipos de producto crear sin depender de un trabajo pendiente centralizado. Los presupuestos se extienden más allá de los equipos centrales, con financiación disponible en toda la organización. La administración del ámbito hace hincapié en habilitar el uso compartido rápido de conocimientos en toda la organización. La rentabilidad de la inversión se mide a través de mejoras sostenidas en la satisfacción del desarrollador.
Adopción
La funcionalidad de adopción se centra en cómo los usuarios detectan y usan sus soluciones de ingeniería de plataforma y sus ofertas, reflejadas por la detección, selección y uso de servicios, herramientas y tecnologías. A medida que las organizaciones maduran, el enfoque para la adopción cambia de un uso informal y esporádico a un modelo más estructurado y participante en el que los usuarios interactúan activamente con la plataforma, contribuyen a su evolución. Esta progresión refleja cómo evolucionan las prácticas de detección de usuarios, toma de decisiones y uso a lo largo del tiempo, desde la detección informal inicial hasta la plena participación en el desarrollo de la plataforma.
- Inicial (informal): la adopción es incoherente, ya que los equipos mejoran de forma independiente los procesos sin coordinación en toda la organización. A menudo, las herramientas externas se prefieren sobre las internas. Las plataformas se detectan informalmente, principalmente a través de encuentros de palabras o posibilidades, con equipos de ingeniería que seleccionan servicios en función de sus necesidades específicas. Cada equipo mantiene sus propios scripts y herramientas adaptados a sus requisitos únicos.
- Repetible (obligatorio): la organización exige el uso de plataformas compartidas, pero las funcionalidades están limitadas a casos de uso comunes, lo que dificulta adaptarse a requisitos inusuales. La detección de usuarios se basa en la guía del equipo de plataforma, a menudo a través de directivas o documentación interna. Teams puede seleccionar servicios obligatorios a través de discusiones informales con el equipo de la plataforma. A pesar de los procesos que se crean en torno a los estándares de la plataforma, es posible que los equipos no los adopten completamente o que no estén satisfechos con los resultados.
- Definido (anunciado): las funcionalidades de la plataforma se promueven activamente y se alinean con las necesidades del equipo. El equipo de la plataforma colabora con los equipos de ingeniería para ofrecer servicios de alta calidad que reducen la sobrecarga operativa. Sin embargo, algunos equipos podrían seguir experimentando un bajo ROI debido a la dependencia de prácticas obsoletas y deuda técnica. Teams detecta funcionalidades a través de directivas que abarcan casos de uso típicos y el equipo de la plataforma fomenta el uso a través de la colaboración. La promoción del uso de la plataforma también se produce informalmente a través de embajadores de equipo.
- Administrado (controlado por valores): los equipos del producto reconocen y eligen las funcionalidades de la plataforma para el valor claro que proporcionan al reducir la carga cognitiva y ofrecer servicios de alta calidad. Las plataformas son compatibles con una amplia documentación, interfaces ergonómicas y experiencia de usuario de autoservicio para el aprovisionamiento rápido. Ahora Teams prefiere plataformas internas sobre la creación de soluciones en sí mismas o la confianza en proveedores externos. La detección y la toma de decisiones se simplifican, con equipos que usan plantillas, foros y documentación para admitir completamente la adopción de la plataforma.
- Optimización (participación): los equipos de productos contribuyen activamente a mejorar las funcionalidades de la plataforma mediante la sugerencia de nuevas características y correcciones. Los procesos están en vigor para que los usuarios identifiquen los requisitos y colaboren en las contribuciones. Los defensores y embajadores de los desarrolladores fomentan una comunidad interna, ampliando la propiedad de la plataforma a los colaboradores. Los ingenieros de plataforma trabajan estrechamente con los equipos de productos para comprender las necesidades y sugerir nuevas funcionalidades, lo que permite a los usuarios enviar solicitudes de incorporación de cambios y participar en las revisiones.
Gobernanza
A medida que evoluciona la funcionalidad de gobernanza, su enfoque consiste en garantizar que los usuarios tengan acceso a los recursos y funcionalidades que necesitan, al tiempo que administran los costos, los datos y la propiedad intelectual e industrial. Esta progresión se evalúa en función de varias categorías, incluida la definición de directivas y marcos, la implementación de directivas, la supervisión y la mitigación del cumplimiento y la administración del acceso. La gobernanza evoluciona de los procesos manuales y reactivos a un sistema predictivo integrado que equilibra el control centralizado con la administración adaptable para las necesidades en evolución.
- Inicial (independiente): la gobernanza es manual, basándose en el control centralizado y el mantenimiento de puertas, lo que dificulta la escalabilidad. Los desarrolladores y los equipos de seguridad trabajan de forma independiente, respondiendo de forma reactiva a las infracciones de directivas. El cumplimiento se mantiene a través de estándares mínimos, con las medidas de seguridad que a menudo se agregan como afterthoughts. Los permisos de acceso se conceden en función de las necesidades inmediatas, sin un proceso estandarizado.
- Repetible (documentado): la organización comienza a documentar y compartir directivas, pero estas siguen siendo básicas e incoherentes. Las herramientas de gobernanza, como los sistemas de vales, se presentan para administrar las revisiones de directivas, pero el proceso sigue siendo manual y lento. Los procesos de auditoría se establecen pero siguen siendo reactivos. Algunos roles y permisos están estandarizados, pero la aplicación sigue siendo desigual.
- Definido (estandarizado): la gobernanza se vuelve centralizada y estandarizada para mejorar la coherencia y la eficiencia en todos los equipos. Las directivas se documentan y administran centralmente, con cierto grado de automatización en el proceso de implementación. Los estándares de gobernanza clave se mantienen a través de la auditoría regular y el control de acceso se automatiza con un sistema RBAC formal, aunque los equipos de desarrollo todavía tienen un control limitado sobre los cambios de directiva.
- Administrado (integrado): la seguridad y el cumplimiento se integran perfectamente en los flujos de trabajo, con la automatización de garantizar que las directivas se apliquen de forma coherente en todos los sistemas y equipos. La supervisión en tiempo real y el análisis avanzado ayudan a detectar y evitar brechas en la gobernanza. Las directivas se insertan en canalizaciones de CI/CD y la administración del acceso se rige por principios de privilegios mínimos con revisiones automatizadas, lo que garantiza un enfoque más proactivo e integrado para la gobernanza.
- Optimización (predictiva): la gobernanza se convierte en dinámica y contextual, responde a las condiciones cambiantes y optimiza el control de acceso. El análisis predictivo ayuda a identificar posibles riesgos antes de que se produzcan, lo que permite la mitigación proactiva. Las directivas se refinan continuamente mediante análisis avanzados y el control de acceso se ajusta dinámicamente en función de factores en tiempo real, como la ubicación del usuario y el tiempo de acceso, lo que garantiza el cumplimiento al habilitar flujos de trabajo personalizados.
Aprovisionamiento y administración
Con la funcionalidad Aprovisionamiento y administración, el enfoque es cómo los usuarios crean, implementan y administran recursos. El proceso evoluciona de operaciones manuales y aisladas a un sistema adaptable y automatizado que equilibra la flexibilidad con la gobernanza, lo que garantiza que los recursos se aprovisionan de forma eficaz a la vez que cumplen los requisitos de cumplimiento. Esta progresión abarca las fases clasificadas definiendo procesos de aprovisionamiento, respondiendo y administrando solicitudes y supervisando la asignación de recursos.
- Inicial (manual): los desarrolladores configuran manualmente la infraestructura en función de las instrucciones de los equipos de TI o arquitectura, lo que conduce a incoherencias y retrasos. Sin procesos estandarizados, las solicitudes se revisan manualmente, lo que aumenta el riesgo de errores. Este enfoque se vuelve insostenible a medida que crece la demanda, con operaciones aisladas que crean ineficiencias.
- Repetible (coordinado): la organización comienza a centralizar los procesos de aprovisionamiento mediante sistemas de vales para administrar las solicitudes de infraestructura. Aunque las aprobaciones manuales siguen siendo necesarias, se reducen algunos errores, pero los cuellos de botella permanecen. Teams comienza a usar herramientas estándar para supervisar los recursos, aunque la vista sigue siendo específica del proyecto y en silos.
- Definido (Paved): los procesos de aprovisionamiento se formalizan en toda la organización mediante la infraestructura como código (IaC), la estandarización de plantillas y herramientas. Las solicitudes se controlan a través de flujos de trabajo estructurados, aunque el equipo de la plataforma puede tener problemas con el aumento de la demanda. Los paneles centralizados permiten supervisar la asignación de recursos, lo que proporciona una mejor información de rendimiento.
- Administrado (automatizado): el aprovisionamiento se automatiza e integra en canalizaciones de CI/CD, lo que minimiza el esfuerzo manual y garantiza implementaciones coherentes. Las comprobaciones de gobernanza y cumplimiento se insertan en flujos de trabajo. Las funcionalidades automatizadas de autoservicio permiten a los usuarios aprovisionar recursos dentro de parámetros controlados. El escalado se automatiza en función de los patrones de uso para optimizar el rendimiento.
- Optimización (adaptable): el aprovisionamiento se vuelve adaptable, mediante sistemas inteligentes para anticipar las necesidades de infraestructura en tiempo real. Este enfoque garantiza una asignación de recursos eficaz al tiempo que se mantiene la gobernanza y el cumplimiento. Los sistemas controlan de forma proactiva las solicitudes, equilibrando la flexibilidad con la gobernanza, mientras que el rendimiento y la rentabilidad se optimizan mediante análisis predictivos.
Interfaces
En la funcionalidad Interfaces, la consideración principal es cómo interactúan los usuarios y consumen los servicios y productos de la plataforma. Sus avances se centran en establecer estándares, aumentar la autonomía del usuario y integrar sin problemas las funcionalidades de plataforma en los flujos de trabajo existentes. El enfoque evoluciona de procesos incoherentes y manuales a un sistema integrado de autoservicio que mejora la experiencia del usuario y la eficacia operativa.
- Inicial (procesos personalizados): los usuarios interactúan con la plataforma a través de varios procesos personalizados incoherentes que abordan las necesidades inmediatas, pero carecen de normalización. Los ingenieros configuran de forma independiente entornos mediante la consultoría de compañeros o se basan en prácticas personales, y seleccionan herramientas y procesos para diagnosticar el comportamiento de la aplicación sin ninguna guía establecida. El uso compartido de conocimientos es informal y, a menudo, los servicios de aprovisionamiento requieren un soporte profundo de los proveedores debido a la falta de procesos formalizados, lo que limita la escalabilidad y la eficiencia.
- Repetible (Estándares locales): los ingenieros y los equipos comienzan a definir informalmente estándares para mejorar el uso compartido de conocimientos, aunque la coherencia sigue siendo un desafío debido a la dependencia del compromiso individual. Algunos equipos pueden usar documentación o contenedores para definir sus procesos de configuración, pero estas prácticas difieren con el tiempo, lo que requiere esfuerzo para conciliar. El diagnóstico del comportamiento de la aplicación se vuelve más estandarizado dentro de los equipos, con cierta dependencia de los equipos de DevOps o TI para acceder a los recursos implementados. Aunque surgen estándares locales, permanecen definidos de forma flexible e incoherente entre los equipos.
- Definido (herramientas estándar): las interfaces se vuelven más coherentes, con la introducción de herramientas estandarizadas y prácticas documentadas. Los equipos centrales administran plantillas y documentación, con carreteras asfaltadas o rutas doradas que guían cómo se deben aprovisionar y observar las funcionalidades. Estas herramientas y procesos satisfacen amplias necesidades organizativas, aunque el soporte técnico experto sigue siendo necesario. Teams puede modificar plantillas, pero los cambios no siempre se integran de forma centralizada, lo que puede provocar algunas ineficiencias al mantener la coherencia. El diagnóstico del comportamiento de la aplicación sigue los procedimientos estandarizados para acceder a los recursos implementados y analizarlos, lo que proporciona una mayor coherencia entre los equipos.
- Administrado (soluciones de autoservicio): La plataforma permite una mayor autonomía del usuario al proporcionar soluciones de autoservicio con un mínimo de asistencia por parte del administrador. Los usuarios tienen acceso a interfaces coherentes y fáciles de usar que les permiten detectar y modificar plantillas, creando un entorno centrado en el usuario que mejora la facilidad de uso. Las herramientas para diagnosticar el comportamiento de la aplicación y observar los recursos están disponibles a petición a través de la plataforma, lo que garantiza que los usuarios tengan los recursos que necesitan sin depender intensamente de los equipos externos. El uso compartido de conocimientos se facilita mediante la detección y modificación de plantillas, lo que aumenta el valor de las funcionalidades de la plataforma.
- Optimización (servicios integrados): las capacidades de la plataforma se integran perfectamente en las herramientas y los procesos que los equipos ya usan, como CLI o IDE, lo que las convierte en una parte natural de los flujos de trabajo de los usuarios. Algunas funcionalidades se aprovisionan automáticamente en función de las necesidades del usuario y la plataforma proporciona bloques de creación flexibles para casos de uso de nivel superior que pueden requerir una personalización más profunda. Los equipos de plataforma evalúan continuamente qué funcionalidades son más eficaces, lo que guía más inversiones para optimizar las ofertas de plataforma. La plataforma configura automáticamente la observabilidad para las aplicaciones implementadas, ofreciendo acceso en tiempo real a los datos de diagnóstico y optimizando el proceso de supervisión y administración del comportamiento de la aplicación.
Medidas y comentarios
La funcionalidad Medidas y comentarios implica recopilar, analizar e incorporar métricas y comentarios para evaluar el éxito de las prácticas de ingeniería de plataforma. Su madurez se refleja mediante la transición de métodos ad hoc e informales a una cultura proactiva controlada por datos en la que los comentarios y la información se integran en procesos de mejora continua, lo que guía las decisiones estratégicas y el desarrollo de la plataforma.
- Inicial (ad hoc): en la fase inicial, los procesos de medición y comentarios son incoherentes y fragmentados. Las métricas se recopilan sin una alineación clara con los objetivos de la organización, lo que da lugar a datos incompletos y no confiables. Las opiniones se recogen de manera informal y a menudo anecdótica, con una participación mínima de las partes interesadas. Como resultado, las decisiones se toman en función de la información limitada y la medición del verdadero ROI de las prácticas de ingeniería de plataformas es difícil. La documentación de comentarios y resultados es mínima y los aprendizajes rara vez se capturan o comparten.
- Repetible (procesos estructurados): se establecen mecanismos básicos de retroalimentación, como encuestas o foros, para recopilar las experiencias de los usuarios de forma más sistemática, pero estos procesos siguen variando entre los distintos equipos. La medición del éxito se centra a menudo en métricas basadas en actividades, como implementaciones o escalas de tiempo, lo que proporciona información sobre el rendimiento, pero carece de una perspectiva más amplia basada en resultados. Los comentarios siguen siendo informales y ascendentes, aunque comienzan a influir en la planificación. Hay cierto esfuerzo para interactuar con las partes interesadas, pero aún está limitada y se crea documentación inicial de procesos y comentarios, pero no se utiliza de forma completa o coherente.
- Definido (coherente): la recopilación de comentarios se vuelve más formalizada y estandarizada, lo que permite obtener información más detallada sobre las necesidades del usuario y las métricas clave. Las métricas cambian hacia las medidas basadas en resultados, como la productividad del desarrollador, aunque la vinculación con el rendimiento financiero sigue siendo un desafío. El análisis de comentarios es sistemático, usando métodos cualitativos y cuantitativos, y métricas estándar como DORA (DevOps Research and Assessment es un conjunto de métricas que miden el rendimiento de entrega de software, incluido el tiempo de entrega de software, la frecuencia de implementación, el tiempo medio para restaurar y la tasa de errores de cambio) o ESPACIO (satisfacción y bienestar, rendimiento, actividad, comunicación y colaboración, y eficiencia es un marco que se usa para medir la productividad del desarrollador en estas cinco dimensiones) empleado. Las sesiones de revisión periódicas con equipos multiplataforma garantizan la interacción activa con las partes interesadas. La documentación completa de los procesos de comentarios, los resultados y las lecciones aprendidas se mantiene y comparte entre los equipos.
- Administrado (Conclusiones): en esta fase, los mecanismos de comentarios y los marcos de medición son sólidos y se centran en los resultados empresariales estratégicos. Las operaciones de plataforma de la guía de información controlada por datos y los comentarios se integran en las hojas de ruta de la plataforma, lo que impulsa las mejoras continuas. Los análisis avanzados se emplean para evaluar el impacto de la plataforma en los resultados empresariales, como el crecimiento de los ingresos, y los comentarios se correlacionan con las métricas de rendimiento para identificar áreas clave para mejorar la estrategia. Las partes interesadas de toda la organización están profundamente implicadas en el proceso de comentarios, con colaboración estructurada para evitar silos. La documentación dinámica en tiempo real refleja los comentarios continuos y las lecciones aprendidas, accesibles para todas las partes interesadas.
- Optimización (Proactiva): los procesos de comentarios y medición están estrechamente integrados en la cultura de la organización, creando un enfoque proactivo para anticipar y adaptarse a futuros desafíos y oportunidades. El análisis predictivo y las métricas avanzadas se usan para predecir las necesidades y oportunidades futuras, lo que permite que la plataforma evolucione continuamente en respuesta a las condiciones cambiantes. Los comentarios se integran completamente en un ciclo de mejora continua y se establece una cultura de comentarios en todos los niveles de la organización. La documentación dinámica y en tiempo real refleja los comentarios continuos y se actualiza continuamente, lo que garantiza que las lecciones aprendidas son compartidas y accesibles para todas las partes interesadas.