Skip to main content

Posts

Showing posts from July, 2020

Case Study: AWS Infrastructure Design for Web Application

In this article, you'll learn the basic components to spin up a web application in AWS. The first step is to draw an architecture graph. It's important to communicate the design with team members.  LucidChart is a great free tool to do this.  https://www.lucidchart.com/  They have libraries to support the AWS components. Please refer to the graph below. Click to zoom in for details Work in progress :)

AWS in Action - Deploy Static Website

Work in progress :) Two main components are: 1. S3 service It offers static web hosting. If your website doesn't need back-end processing, S3 is your place to go. It's cheap because you don't pay for computing resources but only pay for storage resources. 2. CloudFront CDN service for caching Dependencies Cloud Services Amazon Web Services S3 - Resource hosting and deployments AWS CloudFront - CDN for SPA AWS EKS - Backend API AWS DynamoDB - Persistent Datastore AWS Cognito - User Authentication Performance Tracking and DevOps Tools: AWS CloudWatch - Performance and Health checks Sentry - Bug Reporting Alternates: TBD Google Analytics - Usage Reporting Alternates: Mixpanel Travis (CI/CD) Frameworks: Ionic (Javascript) (Frontend) Node.js (Javascript) (Backend)

AWS services in a nutshell

AWS is a very powerful platform for your enterprise application. Do you wonder how to navigate through it? I've learned a wide range of topics and I just made it simple for you. Let's dive in. Fundamentals EC2: your physical server on the cloud. EBS : your physical hard drive attached to EC2. VPC : your private network in the cloud. A VPC spans all availability zones in a region. Lambda : Execution tool triggered by the event, the "compute power". Elastic Beanstalk : an orchestration service to deploy a web application in one click. Storage & Content delivery S3 : Storage/File system for objects. S3 Glacier : Cheaper storage solution for infrequently accessed files, e.g. log file. DynamoDB : NoSQL DB with flexibility and scalability. RDS : Relational DB management. Redshift : Data warehouse for Big data, usually stores historical data. e.g. Redshift stores orders in the last 10 years. RDS stores orders within 1 year. It leverages machine learning to...