how to design the architecture for hosting app on AWS

1

Hi: I plan to host an app on AWS, with some features: 1, the app and data should be separated due to privacy(app maintenance, such as fixing crashes, is independent of data ). 2, the app will upload the picture to the AWS, and some Python programs will process the pic and send results to the app 3, the app will also pass on some user information to the server, and the server will run some python programs according to the user information, and send results to the app. Currently, looks like we should host app on Ec2, data to then use lambda to S3? run python on lambda? I am very new, please suggest your ideas, also any very related background I should learn asap? thanks

2 Respostas
4
Resposta aceita

Tier 1: Web Tier

  • AWS Elastic Beanstalk: You can use AWS Elastic Beanstalk to deploy and manage your web application's front-end code. Elastic Beanstalk automatically provisions and configures the necessary resources, such as EC2 instances, load balancing, and auto-scaling, making it easier to deploy and manage your web application.
  • Elastic Load Balancing: Elastic Beanstalk automatically sets up an Elastic Load Balancer (ELB) to distribute incoming traffic across multiple EC2 instances. This ensures high availability and fault tolerance for your web application.

Tier 2: Application Tier

  • AWS Lambda: You can use AWS Lambda to run your Python programs and business logic. Lambda functions can be triggered by events from other AWS services, such as API Gateway or S3.
  • Amazon API Gateway: API Gateway can be used to create and manage APIs that your web application can call to send user information and receive results from the Lambda functions.

Tier 3: Data Tier

  • Amazon S3: As mentioned earlier, you can use S3 to store user data and uploaded images securely.
  • Amazon RDS or DynamoDB: If your application requires a relational database, you can use Amazon Relational Database Service (RDS) to provision and manage a database instance. Alternatively, if you need a NoSQL database, you can use Amazon DynamoDB, a fully managed NoSQL database service.

I recommend you to follow this workshop for a Hands On experience with these services.

profile pictureAWS
respondido há 2 meses
0

a new question, since App UI is developed by another company A, I will put my algorithm and Python functions on lambda to calculate the pics passed by the App. The trick thing is: that my algorithms are confidential, company A needs to access EC2 and S3 for hosting the app, but I need to block their access to lambda functions, what is the best strategy here?

adam
respondido há 10 dias

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas