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

adam
preguntada hace 2 meses198 visualizaciones
2 Respuestas
4
Respuesta aceptada

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 hace 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 hace 11 días

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas