lundi 20 avril 2015

What aws services can I use in my architecture to apply high availability and tolerant

Im starting to learn about amazon web services, and Im trying to develop a simple application to start to learn better the concepts.

The application architecture at this moment consists in a client that sends a text file, a mapper file and a reducer file to s3, and also sends a message to sqs indicating that client is asking for that files to processing. Then I have a elastic mapreduce cluster, where an ec2 instance starts and get the messages from sqs, get the files from s3, process the files and then store the result processing file in s3. After this processing is sent a notification, using sns to user saying that the result file is available in s3.

Now I would like to use more services in this application to have a tolerant and high availability architecture so I can understand better this two concepts.

But my doubts at this moment are: in this simple aplication what service can I use so the app can be tolerant? And what service can I use so the app can have high availabilty?

Im reading about elastic load balancing, having more than one availability zone and if an ec2 stops working in a specific availabilty zone its not a problem because we have the elb with other availability zone.

But in my aplication example I dont have always a server/ec2 instance running, it just starts running when the client sends files for processing and only at this moment the elastic mapreduce cluster starts an ec2 instance to process the files.

So my doubt is, if in my basic application scenario I can implement tolerant and high availabilty, and if yes, which would be a good way/services to do this?




Aucun commentaire:

Enregistrer un commentaire