2016-08-31 20:44:38 +03:00
[![Build Status ](https://travis-ci.org/Azure/batch-shipyard.svg?branch=master )](https://travis-ci.org/Azure/batch-shipyard)
[![Docker Pulls ](https://img.shields.io/docker/pulls/alfpark/batch-shipyard.svg )](https://hub.docker.com/r/alfpark/batch-shipyard)
2016-10-27 07:39:00 +03:00
[![Image Layers ](https://images.microbadger.com/badges/image/alfpark/batch-shipyard:cli-latest.svg )](http://microbadger.com/images/alfpark/batch-shipyard)
2016-08-31 20:44:38 +03:00
2016-09-01 07:43:03 +03:00
# Batch Shipyard
2016-09-01 06:57:10 +03:00
[Batch Shipyard ](https://github.com/Azure/batch-shipyard ) is a tool to help
2017-03-12 23:48:57 +03:00
provision and execute batch processing and HPC Docker workloads on
2016-09-01 06:57:10 +03:00
[Azure Batch ](https://azure.microsoft.com/en-us/services/batch/ ) compute
2016-09-01 07:43:03 +03:00
pools. No experience with the
[Azure Batch SDK ](https://github.com/Azure/azure-batch-samples ) is needed; run
2016-09-01 19:09:43 +03:00
your Dockerized tasks with easy-to-understand configuration files!
2016-08-31 19:38:33 +03:00
2017-03-22 19:53:30 +03:00
Additionally, Batch Shipyard provides the ability to provision and manage
2017-03-24 01:01:20 +03:00
entire [standalone remote file systems (storage clusters) ](https://github.com/Azure/batch-shipyard/blob/master/docs/65-batch-shipyard-remote-fs.md )
2017-03-22 19:53:30 +03:00
in Azure, independent of any integrated Azure Batch functionality.
2016-09-01 07:43:03 +03:00
## Major Features
2016-09-02 19:39:35 +03:00
* Automated [Docker Host Engine ](https://www.docker.com ) installation tuned
for Azure Batch compute nodes
2016-09-01 01:35:33 +03:00
* Automated deployment of required Docker images to compute nodes
2016-08-31 20:44:38 +03:00
* Accelerated Docker image deployment at scale to compute pools consisting of
2016-09-01 07:43:03 +03:00
a large number of VMs via private peer-to-peer distribution of Docker images
among the compute nodes
2016-10-17 00:42:25 +03:00
* Comprehensive data movement support: move data easily between locally
2017-03-12 22:55:13 +03:00
accessible storage systems, remote filesystems, Azure Blob or File Storage,
and compute nodes
2016-11-19 19:54:52 +03:00
* Docker Private Registry support
* [Azure Container Registry ](https://azure.microsoft.com/en-us/services/container-registry/ )
* Any internet accessible Docker container registry
* Self-hosted [private registry backed to Azure Storage ](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-docker-registry-in-blob-storage ) with automated private registry
instance creation on compute nodes
2017-03-24 01:01:20 +03:00
* [Standalone Remote Filesystem Provisioning ](https://github.com/Azure/batch-shipyard/blob/master/docs/65-batch-shipyard-remote-fs.md )
2017-03-18 01:48:20 +03:00
with integration to auto-link these filesystems to compute nodes with support for
2017-03-12 22:55:13 +03:00
* [NFS ](https://en.wikipedia.org/wiki/Network_File_System )
* [GlusterFS ](https://www.gluster.org/ ) distributed network file system
2016-11-19 19:54:52 +03:00
* Automatic shared data volume support
2017-03-12 22:55:13 +03:00
* Remote Filesystems as provisioned by Batch Shipyard
2016-09-15 22:47:43 +03:00
* [Azure File Docker Volume Driver ](https://github.com/Azure/azurefile-dockervolumedriver )
2016-11-19 19:54:52 +03:00
installation and share setup for SMB/CIFS backed to Azure Storage
2017-03-12 22:55:13 +03:00
* [GlusterFS ](https://www.gluster.org/ ) provisioned directly on compute nodes
2016-08-31 20:44:38 +03:00
* Seamless integration with Azure Batch job, task and file concepts along with
2016-09-01 07:43:03 +03:00
full pass-through of the
[Azure Batch API ](https://azure.microsoft.com/en-us/documentation/articles/batch-api-basics/ )
to containers executed on compute nodes
2016-09-19 23:13:27 +03:00
* Support for
[Azure Batch task dependencies ](https://azure.microsoft.com/en-us/documentation/articles/batch-task-dependencies/ )
2016-10-26 06:53:09 +03:00
allowing complex processing pipelines and DAGs with Docker containers
2016-09-02 19:39:35 +03:00
* Transparent support for
2016-12-09 22:32:05 +03:00
[GPU-accelerated Docker applications ](https://github.com/NVIDIA/nvidia-docker )
on [Azure N-Series VM instances ](https://azure.microsoft.com/en-us/blog/azure-n-series-general-availability-on-december-1/ )
2016-09-22 23:44:42 +03:00
* Support for multi-instance tasks to accommodate Dockerized MPI and multi-node
2016-10-31 01:45:58 +03:00
cluster applications on compute pools with automatic job completion and Docker
task termination
2016-09-01 08:16:22 +03:00
* Transparent assist for running Docker containers utilizing Infiniband/RDMA
2016-09-26 21:17:50 +03:00
for MPI on HPC low-latency Azure VM instances:
2016-12-09 22:32:05 +03:00
* [A-Series ](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-a8-a9-a10-a11-specs?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json ): STANDARD\_A8, STANDARD\_A9
* [H-Series ](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json#h-series ): STANDARD\_H16R, STANDARD\_H16MR
* [N-Series ](https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json#n-series ): STANDARD\_NC24R (not yet ready with Linux hosts)
2016-11-02 19:02:34 +03:00
* Automatic setup of SSH users to all nodes in the compute pool and optional
2016-11-19 19:54:52 +03:00
tunneling to Docker Hosts on compute nodes
2017-01-10 22:21:11 +03:00
* Support for credential management through
[Azure KeyVault ](https://azure.microsoft.com/en-us/services/key-vault/ )
2017-03-29 18:56:19 +03:00
* Support for execution on an
[Azure Function App environment ](https://github.com/Azure/batch-shipyard/blob/master/docs/60-batch-shipyard-site-extension.md )
2016-08-31 20:44:38 +03:00
2016-09-01 07:43:03 +03:00
## Installation
2016-11-02 19:02:34 +03:00
Installation is typically an easy two-step process. The CLI is also available
as a Docker image:
[alfpark/batch-shipyard:cli-latest ](https://hub.docker.com/r/alfpark/batch-shipyard ).
2016-11-18 09:07:30 +03:00
Please see [the installation guide ](https://github.com/Azure/batch-shipyard/blob/master/docs/01-batch-shipyard-installation.md )
2016-11-02 19:02:34 +03:00
for more information regarding installation and requirements.
2016-08-31 21:09:08 +03:00
2016-11-02 19:02:34 +03:00
## Documentation
2016-11-18 09:07:30 +03:00
Please refer to the
[Batch Shipyard Guide ](https://github.com/Azure/batch-shipyard/blob/master/docs )
for a complete primer on concepts, usage and a quickstart guide.
2016-08-31 21:09:08 +03:00
2016-11-18 09:07:30 +03:00
Please visit the
[Batch Shipyard Recipes ](https://github.com/Azure/batch-shipyard/blob/master/recipes )
for various sample Docker workloads using Azure Batch and Batch Shipyard
after you have completed the introductory sections of the Batch Shipyard
Guide.
2016-08-31 20:44:38 +03:00
2016-09-01 07:43:03 +03:00
## Batch Shipyard Compute Node OS Support
2016-09-08 21:03:40 +03:00
Batch Shipyard is currently only compatible with
[Azure Batch supported Marketplace Linux VMs ](https://azure.microsoft.com/en-us/documentation/articles/batch-linux-nodes/#list-of-virtual-machine-images ).
2016-08-31 19:38:33 +03:00
2016-12-09 22:32:05 +03:00
## Change Log
2016-08-31 19:38:33 +03:00
See the [CHANGELOG.md ](https://github.com/Azure/batch-shipyard/blob/master/CHANGELOG.md )
file.
2016-07-18 18:15:56 +03:00
* * *
2016-08-31 17:59:45 +03:00
This project has adopted the
[Microsoft Open Source Code of Conduct ](https://opensource.microsoft.com/codeofconduct/ ).
For more information see the
[Code of Conduct FAQ ](https://opensource.microsoft.com/codeofconduct/faq/ ) or
contact [opencode@microsoft.com ](mailto:opencode@microsoft.com ) with any
additional questions or comments.