What is the best Architecture for Social Media App


Hi everyone,

We are currently working on a social media app and are in need of assistance in selecting the best AWS tools for our project. Our app will be developed using React Native and will include basic features such as posts, profiles, and chat functionalities. Our backend will be built using Node.js, with data stored in Postgresql and ElasticSearch.

For the backend structure, we are considering the following setup:

Storage for images, video, and audio -> Amazon S3 Content Delivery Network (CDN) -> Amazon CloudFront Database -> Amazon RDS for PostgreSQL Search functionality -> Elastic Cloud for Elasticsearch Node.js microservices -> AWS Lambda Gateway for handling API requests -> Amazon API Gateway Our aim is to internally connect all components within AWS to enhance security while maintaining simplicity for easier maintenance.

What are your thoughts on this setup? Are there any alternative solutions that might be easier to implement and potentially more cost-effective?

Also is there a solution in AWS for authentification?

1 Answer

Your proposed architecture for the social media app looks solid, leveraging various AWS services to handle different aspects of your application. regarding cost-effectiveness, using AWS services offers a pay-as-you-go model, allowing you to scale resources based on demand and optimize costs. However, make sure to monitor your usage and optimize resource utilization to avoid unexpected expenses.

Overall, your proposed architecture seems well-suited for building a social media app, leveraging the scalability, reliability, and security features of AWS services. Make sure to consider factors like data privacy, compliance requirements, and performance optimization as you design and implement your application.

Hope it clarifies and if does I would appreciate answer to be accepted so that community can benefit for clarity, thanks ;)

profile picture
answered 25 days ago
  • If I may ask, is it a good choice to use on top of that Amazon Cognito or should I use my own Authentification Setup using nodejs

  • I think it is better to Implement user authentication and authorization using Amazon Cognito. It provides features like user sign-up, sign-in, and access control, along with support for social identity providers and incase of any issues you can always count on AWS for support.Use AWS Identity and Access Management (IAM) to manage permissions for accessing AWS resources securely

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions