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.
|
|
|
|
|
2017-07-21 20:56:49 +03:00
|
|
|
Batch Shipyard is now integrated directly into
|
|
|
|
[Azure Cloud Shell](https://docs.microsoft.com/en-us/azure/cloud-shell/overview)
|
|
|
|
and you can execute any Batch Shipyard workload using your web browser or
|
|
|
|
the Microsoft Azure
|
|
|
|
[Android](https://play.google.com/store/apps/details?id=com.microsoft.azure&hl=en)
|
|
|
|
and [iOS](https://itunes.apple.com/us/app/microsoft-azure/id1219013620?mt=8)
|
|
|
|
app.
|
|
|
|
|
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
|
2017-05-13 00:40:06 +03:00
|
|
|
* Support for [Low Priority Compute Nodes](https://docs.microsoft.com/en-us/azure/batch/batch-low-pri-vms)
|
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)
|
2017-05-13 00:40:06 +03:00
|
|
|
on [Azure N-Series VM instances](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-gpu)
|
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:
|
2017-05-13 00:40:06 +03:00
|
|
|
* [A-Series](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/a8-a9-a10-a11-specs): STANDARD\_A8, STANDARD\_A9
|
|
|
|
* [H-Series](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/a8-a9-a10-a11-specs): STANDARD\_H16R, STANDARD\_H16MR
|
|
|
|
* [N-Series](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes-gpu): 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)
|
2017-06-06 19:31:32 +03:00
|
|
|
* Support for [custom host images](https://github.com/Azure/batch-shipyard/blob/master/docs/63-batch-shipyard-custom-images.md)
|
2016-08-31 20:44:38 +03:00
|
|
|
|
2016-09-01 07:43:03 +03:00
|
|
|
## Installation
|
2017-07-21 20:56:49 +03:00
|
|
|
### Azure Cloud Shell
|
|
|
|
Batch Shipyard is now integrated into Azure Cloud Shell with no installation
|
|
|
|
required. Simply request a Cloud Shell session and type `shipyard` to invoke
|
|
|
|
the CLI.
|
|
|
|
|
|
|
|
### Local 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.
|