Arquitectura y conceptos en instancias sin servidor
En este tema, se muestra la arquitectura de las instancias sin servidor de IBM Analytics Engine y se describen algunos conceptos y definiciones clave.
Arquitectura de instancia
El servicio de IBM Analytics Engine se gestiona utilizando IBM Cloud® Identity and Access Management (IAM). Como propietario de una cuenta de IBM Cloud, se le asigna el rol de administrador de la cuenta.
Con una cuenta de IBM Cloud, puede suministrar y gestionar la instancia de Analytics Engine sin servidor mediante:
- Consola de IBM Cloud
- CLI
- API REST
Los microservicios de Analytics Engine del plano de control, a los que se accede a través de una pasarela de API, manejan la creación de instancias, el suministro de capacidad, la personalización y la gestión de tiempo de ejecución mientras las aplicaciones de Spark se ejecutan en espacios de nombres aislados en el plano de datos. Cada aplicación de Spark que envíe se ejecuta en su propio clúster de Spark, que es una combinación de los nodos maestro y ejecutor de Spark. Consulte Aislamiento y acceso a la red.
Cada instancia de Analytics Engine está asociada a una instancia de IBM Cloud Object Storage para los datos relacionados con la instancia que son accesibles para todas las aplicaciones que se ejecutan en la instancia. Actualmente, todos los sucesos de Spark se almacenan también en esta instancia. Los registros de aplicaciones de Spark se agregan a un servidor de registro de Log Analysis.
Conceptos clave
Con las instancias sin servidor de IBM Analytics Engine, puede crear clústeres de Apache Spark según sea necesario y personalizar las opciones predeterminadas de configuración de Spark y el tiempo de ejecución de Spark.
Las secciones siguientes describen conceptos clave al suministrar instancias sin servidor.
Instancia de servicio de IBM Analytics Engine
Un servicio IBM Cloud® es una extensión de nube que proporciona funcionalidad lista para su uso, como base de datos, mensajería y software web para ejecutar código o prestaciones de gestión o supervisión de aplicaciones. Los servicios no suelen requerir instalación ni mantenimiento y se pueden combinar para crear aplicaciones. Una instancia de un servicio es una entidad que consta de recursos que están reservados para una aplicación o un servicio determinado.
Cuando cree un IBM Analytics Engine desde el catálogo, asignará a la instancia de servicio un nombre de su elección, seleccionará el tiempo de ejecución de Spark predeterminado que desea asociar a la instancia y proporcionará la configuración
de Spark predeterminada que se utilizará con la instancia. Además, debe especificar Instance home
, que es el almacenamiento conectado a la instancia sólo para datos relacionados con la instancia.
Nota:
- Cuando crea una instancia de servicio de IBM Analytics Engine, no se incurre en costes a menos que tenga aplicaciones Spark en ejecución o que se acceda al servidor de historial de Spark.
- Se incurre en costes si se accede a IBM Cloud Object Storage a través de puntos finales públicos y cuando se habilita el reenvío de registros de IBM Analytics Engine a IBM Log Analysis.
- Existe un límite predeterminado en el número de instancias de servicio permitidas por cuenta de IBM Cloud® y en la cantidad de CPU y memoria que se pueden utilizar en una instancia de servicio de IBM Analytics Engine determinada. Consulte Límites y cuotas para instancias de Analytics Engine. Si necesita ajustar estos límites, abra una incidencia de soporte de IBM.
- No hay ningún límite en el número de aplicaciones Spark que se pueden ejecutar en una instancia de servicio de IBM Analytics Engine.
Ejecución de Spark predeterminada
En el momento del suministro de instancias, puede seleccionar la versión de Spark que se va a utilizar. Actualmente, puede elegir entre Spark 3.3 y Spark 3.4. Spark 3.3 se considera la versión predeterminada.
El tiempo de ejecución incluye binarios Spark de código abierto y la configuración le ayuda a continuar rápidamente con la creación de instancias y ejecutar aplicaciones Spark en la instancia. Además de los binarios de Spark, el tiempo de ejecución también incluye las bibliotecas de cifrado modular geoespacial, de omisión de datos y Parquet.
En toda la versión de tiempo de ejecución de Spark, puede enviar aplicaciones Spark escritas en los idiomas siguientes:
- Escala
- Python
- R
La tabla siguiente muestra la versión de tiempo de ejecución de Spark y la versión de idioma de tiempo de ejecución.
Versión de Spark | Release de Apache Spark | estado | Idiomas admitidos |
---|---|---|---|
3.1 | 3.1.2 | Eliminado (no soportado) | Java 8, Scala 2.12, Python 3.10 y R 4.2 |
3.3 | 3.3.2 | Valor predeterminado | Java 11, Scala 2.12, Python 3.10 y R 4.2 |
3.4 | 3.4.1 | Más reciente | Java 11, Scala 2.12, Python 3.10 y R 4.2 |
Las versiones de idioma se actualizan periódicamente para mantener el tiempo de ejecución libre de cualquier vulnerabilidad de seguridad. Siempre puede alterar temporalmente la versión de tiempo de ejecución de Spark al enviar una aplicación. Para obtener detalles sobre qué añadir a la carga útil, consulte Pasar la versión de Spark de tiempo de ejecución al enviar una aplicación.
Inicio de instancia
El inicio de la instancia es el almacenamiento conectado a la instancia solo para los datos relacionados con la instancia, como las bibliotecas de aplicaciones personalizadas y los sucesos de historial de Spark. Actualmente, solo se acepta IBM Cloud Object Storage para el inicio de la instancia. Esta instancia puede ser una instancia de la cuenta de IBM Cloud® o una instancia de otra cuenta.
Cuando se proporciona una instancia mediante la consola de IBM Cloud, las instancias de IBM Cloud Object Storage de la cuenta de IBM Cloud® se descubren automáticamente y se muestran en una lista para que las seleccione. Si no se encuentra ninguna instancia de IBM Cloud Object Storage en la cuenta, puede utilizar las API REST para actualizar el inicio de la instancia después de crearla.
No puede cambiar el inicio de la instancia después de la creación de la instancia. Sólo puede editar las claves de acceso.
Configuración de Spark predeterminada
Puede especificar configuraciones de Spark predeterminadas en el momento de suministrar una instancia de Analytics Engine (consulte Suministro de una instancia sin servidor de IBM Analytics Engine). Las configuraciones se aplican automáticamente a las aplicaciones Spark enviadas en la instancia. También puede actualizar las configuraciones después de crear la instancia. Puede editar la configuración desde la sección Configuración de la página Analytics Engine Detalles de instancia, Analytics Engine API REST o CLI IAE. Los valores especificados como valores predeterminados a nivel de instancia se pueden alterar temporalmente al enviar las aplicaciones de Spark.
Para obtener más información sobre las distintas configuraciones de Apache Spark, consulte Configuración de Spark.
Métodos de ejecución y características de instancia sin servidor
La tabla siguiente muestra las características admitidas de instancia sin servidor por rol de acceso y los métodos de ejecución.
Operación | Roles de acceso | Consola de IBM | API | CLI |
---|---|---|---|---|
Suministrar instancias | Administrador | ![]() |
![]() |
![]() |
Suprimir instancias | Administrador | ![]() |
![]() |
![]() |
Otorgar permiso a los usuarios | Administrador | ![]() |
![]() |
![]() |
Gestionar almacenamiento de inicio de instancia | Administrador | ![]() |
![]() |
![]() |
Configurar registro | Administrador Desarrollador Devops |
![]() |
![]() |
No disponible |
Enviar aplicaciones de Spark | Administrador Desarrollador |
No disponible | ![]() |
![]() |
Ver lista de aplicaciones de Spark enviadas | Administrador Desarrollador DevOps |
No disponible | ![]() |
![]() |
Detener aplicaciones de Spark enviadas | Administrador Desarrollador DevOps |
No disponible | ![]() |
![]() |
Personalizar bibliotecas | Administrador Desarrollador |
No disponible | ![]() |
No disponible |
Acceder a registros de trabajo | Administrador Desarrollador DevOps |
![]() |
No aplicable | No aplicable |
Ver detalles de instancia; los detalles que se muestran pueden variar en función del rol de acceso | Administrador Desarrollador DevOps |
![]() |
![]() |
![]() |
Gestionar servidor de historial de Spark | Administrador Desarrollador |
![]() |
![]() |
![]() |
Acceder al historial de Spark | Administrador Desarrollador DevOps |
![]() |
![]() |
![]() |