Descripción general de App Hub

Muchas aplicaciones en la nube evolucionan para incluir varios recursos de infraestructura de uno o más proyectos de Google Cloud, lo que puede dificultar que los desarrolladores y los operadores administren y comprendan estos recursos. App Hub introduce una forma centrada en la aplicación para organizar estos recursos y ayudarte a comprender las interacciones de los recursos y admitir funciones empresariales.

Este documento está dirigido a las personas que configuran, administran y usan aplicaciones de App Hub.

Organización centrada en la aplicación

App Hub se alinea con tus objetivos comerciales, ya que te permite organizar tus recursos de Google Cloud de una manera centrada en la aplicación, de la misma manera en que piensas en las funcionalidades comerciales. App Hub está administrado por completo por Google Cloud y no requiere que instales ninguna infraestructura adicional.

Los administradores de App Hub pueden administrar fácilmente los recursos de infraestructura provenientes de uno o más proyectos de Google Cloud, lo que simplifica las operaciones y la administración empresarial complejas a gran escala. App Hub ayuda a organizar estos recursos de infraestructura mediante la creación de aplicaciones de App Hub que incluyen estos recursos como servicios y cargas de trabajo de App Hub. Registrar servicios y cargas de trabajo en una aplicación puede ayudarte a responder las siguientes preguntas:

  • ¿Cuántas aplicaciones existen en todos mis proyectos?
  • ¿Cómo dependen los servicios y las cargas de trabajo de mis aplicaciones entre sí?
  • ¿Quién es el propietario de estas aplicaciones, servicios y cargas de trabajo?
  • ¿Cuántas aplicaciones son fundamentales?
  • ¿Cuántas aplicaciones están en producción?

Por ejemplo, es posible que tengas varios equipos involucrados en el desarrollo de aplicaciones para tu empresa. Estos equipos pueden crear cientos o miles de recursos de Google Cloud dispersos en muchos proyectos de Google Cloud. App Hub descubre automáticamente los recursos de infraestructura y los representa como abstracciones de servicios y cargas de trabajo. Puedes registrar estos servicios y cargas de trabajo en aplicaciones para aclarar la propiedad de los recursos y la criticidad. Para obtener más información, consulta Conceptos y modelo de datos de App Hub.

Cuando los recursos están organizados en aplicaciones, puedes aplicar la lógica empresarial y las políticas a una aplicación, sabiendo que solo esa aplicación se ve afectada y cuáles son las personas de tu organización que son responsables de esa aplicación. Por ejemplo, puedes crear una aplicación para un entorno particular, como producción, y proporcionar acceso con muchos privilegios a sus propietarios.

Si tu empresa experimenta un cambio en la estructura del equipo, puedes transferir fácilmente la propiedad de las aplicaciones con App Hub. También puedes determinar con mayor facilidad las dependencias entre diferentes recursos y aplicaciones cuando usas App Hub.

Casos de uso

App Hub admite los siguientes casos de uso:

  • Organiza y categoriza tus aplicaciones: App Hub te permite organizar y categorizar tus aplicaciones con atributos como Owner, Criticality y Environment. Esto facilita la búsqueda y administración de aplicaciones específicas y sus recursos asociados.

  • Comprende los recursos de tu aplicación: App Hub te ayuda a comprender las composiciones de tus aplicaciones. Esto puede ayudar a los desarrolladores y a los operadores a comprender cómo funcionan tus aplicaciones y cuáles son sus dependencias.

  • Supervisa los recursos de tu aplicación (versión preliminar): App Hub proporciona una descripción general de las métricas de los siguientes indicadores de oro de la supervisión: tráfico, tasa de error del servidor, latencia de P95, uso de CPU y uso de memoria. Estos indicadores pueden ayudar a los operadores a comprender el rendimiento de las aplicaciones y a identificar dependencias para resolver problemas.

Conceptos y modelo de datos

App Hub tiene tres conceptos clave:

  • Una aplicación es una agrupación funcional de servicios y cargas de trabajo que genera una funcionalidad comercial de extremo a extremo.
  • Una carga de trabajo representa una implementación binaria que realiza el subconjunto lógico más pequeño de una funcionalidad empresarial, por ejemplo, un grupo de instancias administrado (MIG) o una implementación de Google Kubernetes Engine (GKE).
  • Un servicio es una interfaz de red o API que expone la funcionalidad a los clientes para su consumo a través de la red; por ejemplo, la regla de reenvío de un balanceador de cargas.

App Hub se basa en el concepto de una aplicación.

Puedes usar las aplicaciones y sus atributos asociados para crear límites operativos y de administración alrededor de las abstracciones de servicios y cargas de trabajo. Luego, puedes usar estos atributos para organizar y ubicar aplicaciones y sus servicios y cargas de trabajo asociados mientras realizas actividades como la observabilidad, la auditoría y la gobernanza.

Modelo de datos de App Hub
Figura 1. Modelo de datos de App Hub.

El estado de registro de un servicio o una carga de trabajo en tu proyecto host tiene uno de los siguientes valores:

  • Descubiertos: Son los servicios y las cargas de trabajo que puedes registrar en una aplicación. Los servicios y las cargas de trabajo descubiertos también incluyen los servicios o las cargas de trabajo que borras o cancelas el registro desde una aplicación.
  • Registrado: Son los servicios y las cargas de trabajo registrados en una aplicación. Solo puedes registrar un servicio o una carga de trabajo descubiertos. Después de registrar el servicio o la carga de trabajo, el estado de registro se actualiza de descubierto a registrado.
  • Desconectado: Son los servicios y las cargas de trabajo registrados en una aplicación cuyos recursos subyacentes se borraron. Por ejemplo, si se borra la regla de reenvío que representa un servicio, el Estado de registro del servicio se actualiza a Desconectado. Los servicios y las cargas de trabajo desvinculados permanecen en la aplicación hasta que los canceles.

Proyectos host

Un proyecto host aloja recursos de App Hub (aplicaciones, servicios y cargas de trabajo). Los servicios y las cargas de trabajo de App Hub sirven como abstracciones para los recursos que descubres en los proyectos de servicio que se adjuntan al proyecto host. Un proyecto host actúa como un límite administrativo, y las aplicaciones forman parte de este límite. Puedes crear límites separados con varios proyectos y aplicaciones de host que se adapten a necesidades comerciales específicas. Los proyectos de host también te permiten administrar aplicaciones entre proyectos, en las que los servicios y las cargas de trabajo de una aplicación están presentes en varios proyectos.

Te recomendamos que crees un proyecto de Google Cloud nuevo como proyecto de host para diferenciar los recursos de infraestructura subyacentes de los conceptos del modelo de datos de App Hub. Si necesitas varios proyectos host, por ejemplo, un proyecto host para cada unidad de negocio independiente, te recomendamos que crees una carpeta nueva y agregues los proyectos a ella.

Según los roles de Identity and Access Management (IAM) otorgados al proyecto host (apphub.admin, apphub.editor y apphub.viewer), puedes crear aplicaciones, asignar atributos a las aplicaciones y registrar o ver servicios y cargas de trabajo. Para obtener más información, consulta Roles y permisos de App Hub.

Para obtener más información sobre cómo crear proyectos de host, consulta Cómo configurar App Hub.

Proyectos de servicio

Un proyecto de servicio es un proyecto de Google Cloud que contiene los recursos de la infraestructura subyacente. Conectas un proyecto de servicio al proyecto host para hacer que los recursos de infraestructura que contiene estén disponibles para agruparse en una aplicación.

No puedes adjuntar un proyecto de servicio a más de un proyecto host. Un proyecto host puede ser un proyecto de servicio para sí mismo, pero no para otro proyecto host.

Propiedades y atributos

El modelo de datos de App Hub también ofrece propiedades y atributos que pueden mejorar la funcionalidad de las aplicaciones, los servicios y las cargas de trabajo.

Las propiedades son campos que describen los recursos de infraestructura subyacentes de un servicio o una carga de trabajo. Las propiedades ayudan a identificar información significativa en los recursos de infraestructura subyacentes que pueden ayudar con la experiencia de registro de servicios o cargas de trabajo. Las propiedades son inmutables a través de App Hub y solo se actualizan con cambios en el recurso subyacente. Algunos ejemplos son los IDs de proyecto, la ubicación y la zona.

Los atributos son campos mutables que se pueden configurar para aplicaciones, servicios y cargas de trabajo para identificarlos y organizarlos mejor. Entre los atributos compatibles de App Hub, se incluyen los siguientes:

  • El atributo Owners contiene información de contacto para una aplicación, un servicio o una carga de trabajo. Los tipos de propietarios admitidos son los siguientes:
    • developer_owners: El equipo de desarrollo que es propietario del desarrollo y la programación.
    • operator_owners: El equipo de operadores que garantiza la integridad de las operaciones y el entorno de ejecución.
    • business_owners: El equipo empresarial que garantiza la calidad y se asegura de que se cumplan las expectativas de los usuarios.
  • La importancia de una aplicación, un servicio o una carga de trabajo indica qué tan fundamental es para la empresa. Los valores admitidos son los siguientes:

    • Servicio crítico
    • Alta
    • Medio
    • Low (Baja)
  • El entorno de una aplicación, un servicio o una carga de trabajo es la etapa del ciclo de vida de un software, por ejemplo, producción, etapa de pruebas o desarrollo. Los valores admitidos son los siguientes:

    • Producción
    • Etapa de pruebas
    • Prueba
    • Desarrollo

API y referencia de gcloud

Para obtener más información sobre las propiedades de App Hub, consulta las siguientes referencias:

¿Qué sigue?