{"id":514683,"date":"2019-11-07T08:28:00","date_gmt":"2019-11-07T07:28:00","guid":{"rendered":"https:\/\/www.devoteam.com\/expert-view\/batch-processing-in-the-cloud\/"},"modified":"2019-11-07T08:28:00","modified_gmt":"2019-11-07T07:28:00","slug":"batch-processing-in-the-cloud","status":"publish","type":"expert-view","link":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/","title":{"rendered":"Batch processing in the Cloud"},"content":{"rendered":"<p>Business is scaling \u2013 up, changing their sizes \u2013 and out, increasing the number of branches. If we are speaking about IT infrastructure in growing businesses, the situation is similar. The number of servers (i.e. cores, RAM, disks) is growing rapidly and business is looking for new solutions for empowering this growth.<\/p>\n\n\n<p class=\"wp-block-paragraph\">The first solution is to scale up existing infrastructure \u2013 the servers company bought and maintain, then look for new \u201cboxes\u201d to mount in old cases. But DC capacity will end somewhere (and investment budget also). At this&nbsp;point&nbsp;the needed capacity exceeds owned infrastructure. What then? The second scenario. Lift and Shift.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The business would like to move to the cloud, in the hope that the provider can provide a bigger or (cloud sales love this) infinite capacity. Of&nbsp;course&nbsp;it is both not true. Cloud instances (VMs) are limited in totally the same way as Your own \u201cboxes\u201d. It\u2019s because cloud provider is buying the same servers as You can buy directly from Your vendor. But there is one (not so little) difference. Real cloud services provider has a scale. Instead of&nbsp;scale up, infrastructure&nbsp;need&nbsp;to be scaled out. So, if You want more computing power, stop choosing bigger instances \u2013 just start multiplying them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The bad thing (and good from&nbsp;larger&nbsp;perspective) is to re-architect your workload to enable it to be distributed across many machines. Your application&nbsp;need&nbsp;to be redesigned to scale out from 1 to 2 or more machines.&nbsp;Next&nbsp;you will be able to scale your business to 3, 10, or 100 servers \u2013 but lift and shift to the Cloud is not only about infrastructure \u2013 it is also about your mind. 100 VMs is a small scale if you want to do something fast \u2013 delivering your product to the customer much faster than your competitors without&nbsp;need&nbsp;to have massive computing power reserve. You can scale out your infrastructure to 100.000 cores and hundreds of terabytes of RAM in minutes and use it only for&nbsp;time&nbsp;you need \u2013 paying only for what you used. This is Cloud.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A great example of&nbsp;a parallel workloads&nbsp;is report or billing generating procedures in telecommunication companies or&nbsp;banking&nbsp;sector. Rather than calculating 100.000 billings in serial, these billings can be divided up to 100.000 smaller tasks and processed in parallel \u2013 like a batch, without maintaining infrastructure below your workload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Batch processing began with mainframe computers. Today, it still plays a central role in business, engineering, science, and other areas that require running lots of automated tasks \u2013 not only processing bills and payroll, but also calculating portfolio risk, designing new products, rendering animated films, testing software, searching for energy, predicting the weather, and finding new cures for disease. There is a tool created for scenarios like this \u2013 Microsoft Azure Batch. With Azure Batch, that power is available to you when you need it, without any capital investment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Azure Batch runs the applications that you use on Your workstations and clusters. It is an easy way to Cloud-enable your \u201cexe\u201d files and scripts into&nbsp;hyperscale. Azure Batch provides a queue to receive the work that you want to run and executes your applications. You only need to describe the data that need to be moved to the cloud for processing, how the data should be distributed, what parameters to use for each task, and the command to start the process. Only two elements are mandatory:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1: Client application\/script that interacts with the Batch and Storage services to execute a parallel workload on compute nodes (virtual machines). It runs on your local workstation or on \u201cmaster node\u201d you configure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2: The program that runs on compute nodes in Azure to perform the actual work. In the sample below, TaskApplication.exe parses the text in a file downloaded from Azure Storage (the input file). Then it produces a text file (the output file) that contains a list of the top three words that appear in the input file. After it creates the output file, TaskApplication uploads the file to Azure Storage. This makes it available to the client application for download. TaskApplication runs in parallel on multiple compute nodes in the Batch service.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-1-create-storage-containers\"><strong>Step 1.<\/strong><\/a>\u2013 Create containers in Azure Blob Storage.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-2-upload-task-application-and-data-files\"><strong>Step 2.<\/strong><\/a>\u2013 Upload task application files and input files to containers.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-3-create-batch-pool\"><strong>Step 3.<\/strong><\/a>\u2013 Create a Batch pool. The pool StartTask downloads the task binary files (TaskApplication) to nodes as they join the pool.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-4-create-batch-job\"><strong>Step 4.<\/strong><\/a>\u2013 Create a Batch job.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-5-add-tasks-to-job\"><strong>Step 5.<\/strong><\/a>\u2013 Add tasks to the job. 5a. The tasks are scheduled to execute on nodes. 5b. Each task downloads its input data from Azure Storage, then begins execution.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-6-monitor-tasks\"><strong>Step 6.<\/strong><\/a>\u2013 Monitor tasks. As tasks are completed, they upload their output data to Azure Storage.<\/li><li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/batch\/batch-dotnet-get-started#step-7-download-task-output\"><strong>Step 7.<\/strong><\/a>\u2013 Download task output from Storage.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With automatic scaling, you can have the Batch service dynamically adjust the number of compute nodes in a pool according to the current workload and resource usage of your&nbsp;compute&nbsp;scenario. This allows you to lower the overall cost of running your application by using only the resources you&nbsp;need,&nbsp;and releasing those you don\u2019t need.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As an example, we can use 1000 H16r (compute-optimized) Azure VM instances with RDMA, 16 Xeon E5-2667 v3 Haswell 3.2 GHz (3.6 GHz with turbo) cores, 112GB of DDR4 RAM and 2000GB of local storage each, to run Your Business Intelligence process once a Year. We will have 16.000 cores, 112TB of RAM and 2.000TB of storage. The cost of this computing power will be around 2.800 EUR\/h. To calculate in your own DC, you need to invest hundreds of thousands of Euros \u2013 just for using it once a year.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Processing parallel workloads with Azure Batch is typically done programmatically by using one of the Batch APIs. Your client application or service can use the Batch APIs to communicate with the Batch service. With the Batch APIs, you can create and manage pools of compute nodes, either virtual machines or Cloud services. You can then schedule jobs and tasks to run on those nodes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Business is scaling \u2013 up, changing their sizes \u2013 and out, increasing the number of branches. If we are speaking about IT infrastructure in growing businesses, the situation is similar. The number of servers (i.e. cores, RAM, disks) is growing rapidly and business is looking for new solutions for empowering this growth. The first solution [&hellip;]<\/p>\n","protected":false},"featured_media":374075,"template":"","categories":[],"tags":[1720,4111],"industry":[],"class_list":["post-514683","expert-view","type-expert-view","status-publish","has-post-thumbnail","hentry","tag-microsoft-be","tag-tech-insights-be"],"acf":[],"cards":"\n\t<div class=\"single-post-card\">\n\n\t\t<figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/\" target=\"_self\" ><img width=\"900\" height=\"599\" src=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Batch processing in the Cloud\" style=\"aspect-ratio:4\/3;width:100%;object-fit:cover;\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg 900w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch-300x200.jpg 300w, https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch-768x511.jpg 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/figure>\n\n\t\t\n\t\t<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-43282307 wp-block-group-is-layout-flex\">\n\t<p style=\"font-style:normal;font-weight:700\" class=\"has-link-color wp-elements-1 wp-block-lp-post-type has-text-color has-primary-color has-small-font-size\">Expert View<\/p>\n\n\t\t\n\t\t<h3 style=\"font-style:normal;font-weight:400\" class=\"wp-block-post-title has-base-font-size\"><a href=\"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/\" target=\"_self\" >Batch processing in the Cloud<\/a><\/h3><\/div>\n\t\t\n\t<\/div>\n\n","yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Batch processing in the Cloud | Devoteam<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Batch processing in the Cloud\" \/>\n<meta property=\"og:description\" content=\"Business is scaling \u2013 up, changing their sizes \u2013 and out, increasing the number of branches. If we are speaking about IT infrastructure in growing businesses, the situation is similar. The number of servers (i.e. cores, RAM, disks) is growing rapidly and business is looking for new solutions for empowering this growth. The first solution [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/\" \/>\n<meta property=\"og:site_name\" content=\"Devoteam\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/\",\"url\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/\",\"name\":\"Batch processing in the Cloud | Devoteam\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/news-batch.jpg\",\"datePublished\":\"2019-11-07T07:28:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/#breadcrumb\"},\"inLanguage\":\"en-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-BE\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/#primaryimage\",\"url\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/news-batch.jpg\",\"contentUrl\":\"https:\\\/\\\/devoteam.info\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/news-batch.jpg\",\"width\":900,\"height\":599},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/batch-processing-in-the-cloud\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/devoteam.info\\\/be\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert View\",\"item\":\"https:\\\/\\\/devoteam.info\\\/be\\\/expert-view\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Batch processing in the Cloud\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/devoteam.info\\\/be\\\/#website\",\"url\":\"https:\\\/\\\/devoteam.info\\\/be\\\/\",\"name\":\"Devoteam\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/devoteam.info\\\/be\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-BE\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Batch processing in the Cloud | Devoteam","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/","og_locale":"en_US","og_type":"article","og_title":"Batch processing in the Cloud","og_description":"Business is scaling \u2013 up, changing their sizes \u2013 and out, increasing the number of branches. If we are speaking about IT infrastructure in growing businesses, the situation is similar. The number of servers (i.e. cores, RAM, disks) is growing rapidly and business is looking for new solutions for empowering this growth. The first solution [&hellip;]","og_url":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/","og_site_name":"Devoteam","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/","url":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/","name":"Batch processing in the Cloud | Devoteam","isPartOf":{"@id":"https:\/\/devoteam.info\/be\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/#primaryimage"},"image":{"@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/#primaryimage"},"thumbnailUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg","datePublished":"2019-11-07T07:28:00+00:00","breadcrumb":{"@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/#breadcrumb"},"inLanguage":"en-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/"]}]},{"@type":"ImageObject","inLanguage":"en-BE","@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/#primaryimage","url":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg","contentUrl":"https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg","width":900,"height":599},{"@type":"BreadcrumbList","@id":"https:\/\/devoteam.info\/be\/expert-view\/batch-processing-in-the-cloud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devoteam.info\/be\/"},{"@type":"ListItem","position":2,"name":"Expert View","item":"https:\/\/devoteam.info\/be\/expert-view\/"},{"@type":"ListItem","position":3,"name":"Batch processing in the Cloud"}]},{"@type":"WebSite","@id":"https:\/\/devoteam.info\/be\/#website","url":"https:\/\/devoteam.info\/be\/","name":"Devoteam","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devoteam.info\/be\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-BE"}]}},"uagb_featured_image_src":{"full":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg",900,599,false],"thumbnail":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch-150x150.jpg",150,150,true],"medium":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch-300x200.jpg",300,200,true],"medium_large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch-768x511.jpg",768,511,true],"large":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg",900,599,false],"1536x1536":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg",900,599,false],"2048x2048":["https:\/\/devoteam.info\/wp-content\/uploads\/2024\/12\/news-batch.jpg",900,599,false]},"uagb_author_info":{"display_name":"Julien Pawlowski","author_link":"https:\/\/devoteam.info\/be\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Business is scaling \u2013 up, changing their sizes \u2013 and out, increasing the number of branches. If we are speaking about IT infrastructure in growing businesses, the situation is similar. The number of servers (i.e. cores, RAM, disks) is growing rapidly and business is looking for new solutions for empowering this growth. The first solution&hellip;","_links":{"self":[{"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/expert-view\/514683","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/expert-view"}],"about":[{"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/types\/expert-view"}],"version-history":[{"count":0,"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/expert-view\/514683\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/media\/374075"}],"wp:attachment":[{"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/media?parent=514683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/categories?post=514683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/tags?post=514683"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/devoteam.info\/be\/wp-json\/wp\/v2\/industry?post=514683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}