In a cloud environment, what's a good way, using which technologies, to have a client upload a file to be processed? [closed] In a cloud environment, what's a good way, using which technologies, to have a client upload a file to be processed? [closed] kubernetes kubernetes

In a cloud environment, what's a good way, using which technologies, to have a client upload a file to be processed? [closed]


In a cloud environment, you want your Java service to be "highly available" and, when dealing with "millions of customer records" per client, even "secure." This is where Kubernetes and Yarn come in.

If you are running one VM, with a Java process saving sensitive customer data unencrypted to the local file system- what happens when:

  • the VM is compromised by an attacker. All data compromised.
  • the Java process crashes. New customers can't be onboarded.
  • the VM crashes. New customers can't be onboarded, and onboarding work in progress is lost.
  • the process that does the importing of customer data crashes.

You get the idea, there are an infinite number of failure and compromise scenarios.

Kubernetes and Yarn, in different ways, support architectural patterns that allow you to run multiple Java upload and import processes across a collection of VMs so that there can be sensible handling for the various failure cases, and sensible custodial machinery for the sensitive aspects of this process, at scale, with live data.