Performing Batch Processing Locally When Using AWS

By John Paul Mueller

Localized batch processing, even when using AWS, uses the built-in capabilities of systems owned by an organization. You can use batch processing for a variety of tasks. Larger businesses will naturally want to use cloud-based batch processing for common needs, partly because their IT departments are large and complex.

However, a smaller business could use localized batch processing for all needs depending on what those needs are. Something as simple as Task Scheduler on Windows can enable you to perform tasks and a schedule on AWS. Interestingly enough, many localized task-scheduling applications include programmable access through APIs, so you can turn even a rudimentary capability into something better suited to meet needs in the cloud. Here are some issues to consider for localized batch processing:

  • Management: Many organizations want to reduce software management requirements and localized batch processing does need local talent to maintain. However, offsetting the need for additional human resources is the capability to maintain firm control over the batch process.
  • Integration: Cloud-based batch processing may not work well with local batch-processing needs. Where you need to integrate local and cloud resources, using a localized batch-processing strategy may work better.
  • Reliability: There is a misperception that cloud-based means extreme reliability. However, AWS can and does go offline. The stories at GeekWire and The Register tell you how bad things can get. In this case, AWS didn’t even tell anyone it was down, so no one could know there was even a need to recover. A localized batch-processing solution can prove to be every bit as reliable as a cloud-based solution. The difference is the kinds of issues that will affect the two solution types. A localized solution is more susceptible to local events, such as outages due to weather. Cloud-based solutions are more susceptible to global events or to human error (because far more humans are involved, more potential failure points exist).
  • Security: Using local batch processing is generally more secure than using cloud-based batch processing because you can exercise tighter control over when and how the batches execute. The more sensitive the data you manage using batch processes, the more careful you need to be with regard to security.
  • Speed: No matter how you look at it, unless your data resides with just a single cloud provider in just one location and you have no need to integrate local data, local batch processing is going to be faster than a cloud-based solution. Given that developers are constantly fighting time (in that users want everything fast, and then faster still), speed is a major concern when considering the use of localized batch-processing techniques.