Cloud Computing

Technology
Cloud Computing
LinkedIn Article

The following are system designs for difference scenarios using Amazon Web Services as a cloud provider. Each design includes the problem statement (the initial request), an architecture diagram of the solution, and the steps involved when using the solution.

Web Data Collection

Problem: provide a website that collects and stores user submitted information

Solution:

  1. Develop a static website with a form
  2. Static website is stored on S3 and served via CloudFront
  3. Website submits form data via API Gateway to the Lambda function
  4. Lambda function will store the collected data in DynamoDB

Diagram:


Data File Upload

Problem: provide the ability to upload a data file for processing and display

Solution:

  1. Setup upload location in S3
  2. Create a data processor hosted in Fargate
  3. Data processor will store data in DynamoDB
  4. Develop a static website to display the data
  5. Static website is stored on S3 and served via CloudFront
  6. Requests for data will route to Lambda@Edge function
  7. Lambda@Edge function will return data from DynamoDB

Diagram:


Mobile Data Storage

Problem: provide mobile app to store and retrieve data and send notifications

Solution:

  1. Mobile app will call API Gateway and routes to Lambda functions
  2. Lambda function #1 will send notifications via SNS
  3. Lambda function #2 will store and retrieve data from DynamoDB

Diagram:


Batch Data Processing

Problem: provide ability to batch process data from a backend data source

Solution:

  1. AWS Batch calls Lambda function #1
  2. Lambda function #1 gathers data from the backend data source
  3. Lambda function #1 then stores the data in a local DynamoDB
  4. Client will call Lambda function #2
  5. Lambda function #2 returns batched data from DynamoDB

Diagram: