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 la administración y la comprensión de estos recursos tanto para los desarrolladores como para los operadores. App Hub presenta una forma de organizar estos recursos centrada en las aplicaciones para ayudarte a comprender las interacciones de los recursos y admitir funciones empresariales.

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

Organización centrada en las aplicaciones

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

Los administradores de App Hub pueden administrar con facilidad los recursos de infraestructura extraídos de uno o más proyectos de Google Cloud, lo que simplifica las operaciones empresariales complejas y la administración 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 unos de otros los servicios y las cargas de trabajo de mis aplicaciones?
  • ¿Quién es el propietario de estas aplicaciones, servicios y cargas de trabajo?
  • ¿Cuántas aplicaciones son fundamentales?
  • ¿Cuántas aplicaciones hay 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 repartidos en muchos proyectos de la plataforma. App Hub descubre automáticamente los recursos de infraestructura y los representa como abstracciones de servicio y carga de trabajo. Puedes registrar estos servicios y cargas de trabajo en aplicaciones para aclarar la propiedad y la importancia de los recursos. 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, con la certeza de que solo esa aplicación se ve afectada y con el conocimiento de las personas de tu organización que son responsables de esa aplicación. Por ejemplo, puedes crear una aplicación para un entorno en particular, como el de producción, y proporcionar acceso con un gran nivel de 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:

  • Organizar y categorizar tus aplicaciones: App Hub te permite organizar y categorizar tus aplicaciones mediante 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 operadores a comprender cómo funcionan tus aplicaciones y cuáles son sus dependencias.

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 da como resultado una funcionalidad empresarial 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 red o interfaz de API que expone la funcionalidad a los clientes para el consumo en toda la red; por ejemplo, la regla de reenvío para un balanceador de cargas.

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

Puedes usar aplicaciones y sus atributos asociados para crear límites operativos y de administración en torno a 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 administración.

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

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

  • Descubridos: Son servicios y cargas de trabajo que puedes registrar en una aplicación. Los servicios y las cargas de trabajo descubiertos incluyen servicios o cargas de trabajo que borras o cancelas del registro de 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 del registro se actualiza de descubierto a registrado.
  • Independiente: Son los servicios y las cargas de trabajo registrados en una aplicación cuyos recursos subyacentes se borran. Por ejemplo, si se borra la regla de reenvío que representa un servicio, el Estado de registro se actualiza a Desvinculada. Los servicios y las cargas de trabajo desconectados permanecen en la aplicación hasta que canceles el registro.

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 proyectos de servicio que están vinculados 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 host y aplicaciones que se adapten a necesidades empresariales específicas. Los proyectos 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 host para diferenciar los recursos de infraestructura subyacentes de los conceptos de modelos de datos de App Hub. Si necesitas varios proyectos host, por ejemplo, un proyecto host para cada unidad de negocios independiente, te recomendamos que crees una carpeta nueva y le agregues los proyectos.

Según las funciones de Identity and Access Management (IAM) que se otorgaron al proyecto host (apphub.admin, apphub.editor y apphub.viewer), puedes crear aplicaciones, asignar atributos a ellas 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 la creación de proyectos host, consulta Configura App Hub.

Proyectos de servicio

Un proyecto de servicio es un proyecto de Google Cloud que contiene los recursos de infraestructura subyacentes. Debes conectar un proyecto de servicio al proyecto host a fin de que los recursos de infraestructura que contiene estén disponibles para agruparse en una aplicación.

No puedes vincular un proyecto de servicio a más de un proyecto host. Un proyecto host puede ser un proyecto de servicio en 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 para un servicio o una carga de trabajo. Las propiedades ayudan a identificar información significativa en los recursos de infraestructura subyacente que puede ayudar con la experiencia de registro para servicios o cargas de trabajo. Las propiedades son inmutables y se actualizan con el recurso subyacente. Entre los ejemplos, se incluyen los IDs de proyectos, 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. Los atributos compatibles de App Hub incluyen los siguientes:

  • El atributo Owners contiene información de contacto de una aplicación, un servicio o una carga de trabajo. Los tipos de propietarios admitidos son los siguientes:
    • developer_owners: Equipo de desarrollo encargado de las tareas de desarrollo y programación.
    • operator_owners: Es el equipo operador que garantiza la integridad del entorno de ejecución y las operaciones.
    • business_owners: Es un equipo empresarial que garantiza la calidad y el cumplimiento de las expectativas del usuario.
  • La importancia de una aplicación, un servicio o una carga de trabajo indica su importancia para el negocio. Los valores admitidos son los siguientes:

    • Fundamental
    • Alta
    • Media
    • 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
    • Probar
    • Desarrollo

API y referencia de gcloud

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

¿Qué sigue?