Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A medida que crece la organización, también lo hace la cantidad de cosas que necesita controlar. Las organizaciones a menudo duplican esfuerzos internos porque los equipos no conocen los proyectos de otros equipos. A medida que las personas se mueven entre equipos, las nuevas personas se unen a la empresa y otras dejan, los proyectos pueden quedar huérfanos. Los inventarios ayudan a resolver estos problemas y son una parte clave de la ingeniería de plataformas.
Un inventario es una herramienta o sistema que se usa para realizar un seguimiento, administrar y organizar los recursos técnicos de una organización. Estos recursos incluyen código, API, contenedores, máquinas virtuales (VM), permisos de equipo y mucho más.
No realizar un seguimiento de los activos conduce a la expansión técnica y los residuos simplemente porque no se puede descubrir fácilmente lo que ya existe. Perder de vista lo que ya existe es un desafío común.
Tenemos una gran cantidad de contenedores o instancias de [VM] en ejecución. ¿Podemos eliminar nuestras máquinas virtuales antiguas? Nadie sabe. Tenemos que buscar una manera de limpiar las cosas antiguas y usar etiquetas adecuadas para que sepamos quién es el propietario o equipo que nos puede informar sobre lo que podemos hacer y cuál es el ciclo de vida. No sabemos si podemos apagar una máquina virtual determinada porque no estamos seguros de lo que ocurrirá. - Martin, ingeniero de DevOps, gran empresa logística
Seguimiento de recursos
Necesita un inventario para realizar un seguimiento de todas las cosas que ha creado o integrado en su ecosistema, y que los clientes internos pueden visualizar de forma comprensible.
Un inventario puede mejorar la seguridad, promover la reutilización y, por lo general, facilitar la detección. Hay diferentes herramientas disponibles para realizar el seguimiento de diferentes tipos de recursos. Cada una de estas herramientas proporciona un inventario para ayudarle a administrar, realizar un seguimiento y limpiar los residuos.
Las herramientas de seguimiento disponibles incluyen:
- Los entornos de implementación de Azure permiten realizar un seguimiento de la infraestructura compleja creada a través de la infraestructura como código (IaC) como un entorno abstracto.
- Azure API Center proporciona una manera de que los desarrolladores detecten y consuman api.
- Los registros de paquetes como Paquetes de GitHub o Azure Artifacts (u otros inventarios de paquetes y SDK aprobados) mejoran la seguridad de la cadena de suministro.
Para obtener visibilidad sobre los inventarios, tenga en cuenta el mejor enfoque para su organización. Algunas organizaciones permiten a todos los desarrolladores ver recursos de software, pero solo algunos pueden modificarlos (similar a una cocina abierta). Otros, especialmente en sectores regulados, restringen el acceso más estrechamente, a veces incluso limitando la visibilidad a los nombres de proyecto debido a la sensibilidad.
Mejora de la detectabilidad, la gobernanza y la reutilización
Tener uno o varios sistemas de inventario que le ayuden a realizar un seguimiento de lo que tiene es fundamental para las prácticas de ingeniería de plataformas y evitar la expansión técnica. Inicialmente, tener un conjunto de listas de inventario plano podría ser suficiente. Sin embargo, puede mejorar aún más la detectabilidad agregando relaciones entre distintos recursos en varios inventarios. Independientemente del nivel de visibilidad que necesite, tener un punto de agregación centralizado permite a los equipos buscar y detectar rápidamente todos los recursos disponibles para ellos. Esto promueve la reutilización, reduce la redundancia y establece un enfoque coherente para la gobernanza.
Considere la relación entre una definición de API y el código de aplicación implementado que implementa la interfaz. Este código se almacena en un repositorio y lo administra un equipo y proporciona documentación sobre su uso. Se crean entornos de desarrollo, prueba, producción e incluso entornos sandbox temporales. En escenarios nativos en la nube, es posible que los entornos se implementen en un clúster de Kubernetes compartido. El equipo de desarrollo que crea la API y los consumidores internos de ella deben poder obtener información sobre cada una de estas cosas, pero la relación de los recursos no es obvia.
Para empezar, puede usar algo tan sencillo como una página wiki para ayudar a realizar un seguimiento de cómo se relaciona cada cosa entre sí. La documentación envejece rápidamente y puede ser difícil de encontrar y de interpretar. Idealmente, tendría un sistema con un grafo de relaciones que puede impulsar las interfaces de usuario para recorrer estas relaciones en el inventario. Para mejorar realmente la detectabilidad, debe poder asociar elementos almacenados en varios tipos de inventarios o gráficos juntos. Es posible que no necesite consumir inventarios directamente, pero es probable que quiera asociarlo con información en un sistema de catálogo de API.
Vinculación de inventarios con gráficos relacionales y catálogos
Para usar la analogía de la tienda digital, también puede ser útil asociar los elementos (plantillas) del catálogo con el contenido del inventario resultante. Por ejemplo, si se da cuenta de que una de las plantillas crea una configuración no segura, debe encontrar rápidamente todos los recursos que se crearon con la plantilla para corregirlos. Las plantillas de aplicación Start Right son paquetes iniciales en este catálogo que se vinculan a otros tipos de elementos del mismo (como plantillas de IaC). El seguimiento de estas asociaciones le permite encontrar proactivamente cualquier aplicación que haga referencia a una plantilla de IaC incorrecta incluso si aún no se aprovisiona ninguna infraestructura.
Una variación simplificada de este gráfico conceptual de plataforma para desarrolladores de alto nivel se puede encontrar en algunos kits de herramientas y productos hoy en día, aunque la forma en que se le denomina varía. Por ejemplo, el kit de herramientas del portal de código abierto Backstage.io llama a este catálogo de software mientras que otros productos usan términos diferentes. Sin embargo, la mayoría de estos productos y kits de herramientas asumen que usa su conjunto de características más amplio y requieren que el contenido de los inventarios se duplique dentro de ellos. Esta duplicación significa que el contenido de la base de datos de catálogo no es específico del usuario, puede quedar obsoleto y no está controlado por los mecanismos reales de autorización de usuario del sistema de origen. Sin embargo, esto puede funcionar bien para su organización si sigue un enfoque de cocina abierta.