Hi, <br>Recently I was requested to move my application to Amazon AWS. My app is written in Haskell and I find it a little bit difficult to scale Haskell app naturally in AWS. So I started thinking about rewriting my app in Erlang as it provides natural environment for concurrent applications. <br>
I don't have much experience with Erlang and will be happy to get advise on what Erlang systems AWS will be able to scale efficiently. There are several main things I need: <br>1) A persistent key-value store. I am thinking about using Mnesia or Amazon SimpleDB.  I would prefer Mnesia, as I want to be able to run my app also locally, without live connection to AWS. Yet I don't know how to run Mnesia in AWS in efficient, scalable way.<br>
2) My app today consists of several standalone processes that communicate by means of simple files. I move from files to key-value store, but would like to preserve independent processes communicating with each other. What is a natural Erlang way to do this? How this natural way will be able to scale in AWS?<br>
3) My app works with blog messages and does some NLP and a lot of text processing, also works with JSON. As I understand, processing text in Erlang is a bit tough. What Erlang libraries can help here - string tokenizers, JSON libs, etc.?<br>
4) What libraries Erlang has to serialize data structures in/from files 
(need this for debugging mostly, anything similar to Python pickling)?  <br><br>Thanks!<br>Dmitri<br><br>