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개 답변
4
수락된 답변

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
답변함 2달 전
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
답변함 10일 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠