You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
22 SharePoint y Azure – Azure Batch<br />
Introducción<br />
Muchos de los servicios ofrecidos por Azure se pueden<br />
utilizar para ampliar y mejorar el funcionamiento de SharePoint,<br />
tanto on-premises como en la nube. Uno de los<br />
servicios que ofrece Azure es «Azure Batch», que es una<br />
solución de Plataforma como Servicio (PaaS) que proporciona<br />
toda la infraestructura física más el software de base<br />
para ejecutar programas en grupos, eliminando cargas excesivas<br />
de servidores de producción. Azure Batch se encarga<br />
de crear Máquinas Virtuales que ejecuten los procesos,<br />
repartir la carga entre las diferentes Máquinas Virtuales,<br />
manejar los resultados y ponerlos a disposición del sistema<br />
que inicia la consulta.<br />
El proceso para ejecutar una operación de Azure Batch es<br />
el siguiente (figura tomada del sitio de Microsoft Azure):<br />
es una solución de Plataforma como Servicio<br />
(PaaS) que proporciona toda la infraestructura<br />
física más el software de base para<br />
ejecutar programas en grupos<br />
Como funciona Azure Batch<br />
Azure Batch funciona íntimamente ligado a Azure Storage.<br />
Un proceso Batch requiere un número de archivos que<br />
contengan los datos a procesar y un archivo ejecutable<br />
(con todos sus archivos de recursos) que procese esos datos;<br />
los resultados del proceso también deben ser archivos<br />
que se puedan almacenar. Primero es necesario subir tanto<br />
los archivos de datos como los del ejecutable a un Blob<br />
de Azure Storage. Luego, Azure Batch recibe los comandos<br />
necesarios para procesar los archivos y sube los resultados<br />
a otro Blob de Azure Storage, desde donde la aplicación<br />
que inició el proceso puede utilizarlos.<br />
Azure Batch se encarga de crear Máquinas Virtuales en<br />
donde se ejecutará la aplicación para procesar los datos.<br />
Es posible utilizar hasta 1000 cores de CPU para el procesamiento<br />
de un Batch, lo que significa que se pueden crear<br />
hasta 1000 Máquinas Virtuales, cada una de un solo core,<br />
o 100 máquinas de 10 cores cada una, o cualquier combinación<br />
deseable. También es posible utilizar más de 1000<br />
cores (sin límites), pero en ese caso es necesario tomar<br />
contacto con Microsoft para la creación del sistema.<br />
Imagen 1.- Proceso para ejecutar una operación de Azure Batch.<br />
1.– Primero se crean los contenedores de Azure Storage<br />
Blob, ya sea manualmente utilizando la interface<br />
de usuario de Azure, por medio de PowerShell o<br />
programáticamente. Es necesario crear tres contenedores:<br />
uno para los datos a procesar, otro para los<br />
datos procesados y uno para los ejecutables.<br />
2.– La aplicación cliente que maneja el Batch sube los<br />
archivos de datos y ejecutables a los contenedores.<br />
3.– Se crea el Pool de Azure Batch manualmente o<br />
por medio de programación o PowerShell. Un Pool<br />
contiene y maneja todas las Máquinas Virtuales<br />
(“Nodos”) que Azure Batch va a crear para procesar<br />
los datos. Cada Nodo recibe una copia de los ejecutables<br />
y una o más Tareas a ejecutar.<br />
4.– Se crea un Job de Azure Batch, ya sea manualmente,<br />
por medio de PowerShell o programáticamente.<br />
El Job contiene las Tareas a ejecutar.<br />
5.– La aplicación cliente le envía las Tareas al Job.<br />
Una tarea es un comando que inicia el ejecutable<br />
que procesa los datos. El ejecutable es normalmente<br />
una aplicación Windows de Línea de Comandos.<br />
6.– La aplicación puede monitorear las Tareas para<br />
comprobar si ha habido algún problema, o si están<br />
tomando más tiempo de lo diseñado para ejecutar.<br />
7.– Cuando las Tareas terminan de ejecutar, suben<br />
22