Azure Batch is a cloud-scale job scheduling and compute management service that makes it easy to run large-scale jobs in parallel. You can just inform Batch what kind of VM you need, how to configure them, the jobs and tasks to run, and the service takes care of the rest. At Build 2016, Microsoft announced a preview of Azure Batch for Linux virtual machines.
This brings the power of Batch “scheduling-as-a-service” to customers with Linux applications and workflows across industries and scientific research. Under the covers, Batch is using Virtual Machine Scale Sets to deploy and manage Linux virtual machines. The Batch agent that manages job and task execution on compute nodes is written in Python for portability. This compliments the support in Batch for Cloud Services. VM Scale Sets will provide us with additional features down the road such as custom VM images.
Batch provides a consistent experience for developers across Linux and Windows virtual machines with the REST API. To better enable Linux users, Microsoft has published the Batch client in the Azure Python SDK and Azure Node.js SDK. Java support will be available soon.