0

I' m a little bit confused with caching.

So let's say i want to build a simple chat website with users login/register and photo uploading.

I plan to save uploaded files in amazon s3. user data in dynamodb.

So which type of data should i put in elasticache to improve my website performances ?

Another question, if i use elastic beanstalk, should i need to use elastic load balancing along ?

I read that Elastic beanstalk was an automated version of EC2 so no need to take care about manual processes, so is this involving ELB ?

Thanks for helping

John doe
  • 3,680
  • 7
  • 31
  • 65

1 Answers1

1

I think you are confused about terms. The technologies you are talking about are totally different things.

Elasticache is a managed Memcached/Redis solution. You use it for caching purposes, not for persistent data

Elastic Load Balancing is a managed Load Balancing solution. Like Haproxy. If you want to leverage high availability and scalability features of AWS you need it. You create an autoscaling group which spawns or kills EC2 instances whenever it is needed (according to rules you will set up) and autoscaling groups attaches or detaches EC2 instances from ELB. If you install your application only to one instance you do not have to worry about it, but if you are doing like that you're doing wrong, it is not how AWS works. Just go and use a cheaper and easier VPS company.

Elastic Beanstalk is a wrapper service. It is intented to abstract the complexity of all these EC2 stuff. It is like Heroku or Google App Engine, you give it your application file (or docker image) and it just installs everything for you.

If you are new at AWS I'd recommend you to start with Elastic Beanstalk, understand how it works under the hood and which type of resources will create for you. Once you learn the basics, you can create your own stack and customize it more. But Elasticbeanstalk is also production-ready product. You can trust in it.

Community
  • 1
  • 1
Cagatay Gurturk
  • 7,186
  • 3
  • 34
  • 44
  • Thanks for replying. So if i understand well, if i use Elastic Beanstalk so i don't need to use a Load balancer ? In case of a chat application , what kind of data should be cached in order to increase the app response time ? media (photo, video) ? user data ? anything else ? – John doe Aug 07 '16 at 02:03