aws cloud infrastructure and cost estimation for angular site
DESCRIPTION
Aws cloud infrastructure and cost estimation for angular site. High level design and cost calculation for angular siteTRANSCRIPT
ZZZ cloud infrastructure
Introduction:
- ZZZ project uses angular framework with many static resources.
- Using Amazon Web Services have many benefits:
● High availability.
● Faster static delivery with global CDN.
● Reduce API server workload.
● Optimize performance.
● Pay as you go.
● Horizontal scaling.
Deployment Architecture:
Amazon Web Service Components:
1. Amazon CloudFront:
Amazon CloudFront is a content delivery web service. It integrates with other
Amazon Web Services to give developers and businesses an easy way to distribute
content to end users with low latency, high data transfer speeds, and no commitments.
2. Amazon S3:
Amazon S3 is storage for the Internet. It is designed to make web-scale
computing easier for developers.
In ZZZ project, S3 is main static storage for Image and Javascript with revision
supporting.
3. Amazon EC2:
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides
resizable compute capacity in the cloud. It is designed to make web-scale computing
easier for developers.
EC2 is used as API server. With integrated load balancing, system shall be easily
to scale by adding more instances.
4. Amazon EBS:
Amazon Elastic Block Store (Amazon EBS) provides persistent block level
storage volumes for use with Amazon EC2 instances in the AWS Cloud.
EBS will be used as storage location for virtual machine and application code.
5. Amazon RDS:
Amazon Relational Database Service (Amazon RDS) is a web service that
makes it easy to set up, operate, and scale a relational database in the cloud. It
provides cost-efficient and resizable capacity while managing time-consuming database
administration tasks, freeing you up to focus on your applications and business.
RDS serves as database system for high reliability.
Deployment strategy:
- Proof of concept of system will be tested with scaling ability for short time.
- There is 2 options for database:
1. Using RDS, no need to installation and maintaining of DBMS.
2. MySQL installation on EC2, reduce costing for separated database service
but difficult for scaling application API services.
For cost-efficient, we might use second option.
For sustainable system design, we should use first option.
Estimated Cost:
● Visitors : 60.000 visits
● Bandwidth : 240 GB
1. Storage & Delivery
● CloudFront : $55 (variable costs)
● S3 : $3
● EBS : $2
2. Elastic Compute Cloud:
Instance type : m3.medium
Instance amount : 1
(2 payment options)
On-Demand : $60
1 year upfront : $25
3. Relational Database Service:
Instance type : m3.medium
Instance amount : 1
(2 payment options)
On-Demand : $70
1 year upfront : $26
Total estimated cost: $190 / month
1 year upfront ($444) : $111 / month
Note:
- Calculation is based on US Standard region price.
- Delivery cost depends on number of visits and bandwidth. Monitor Amazon
CloudWatch shall send alert if the cost is higher than norms.
- Configuration and cost might be changed after stress test as business requirements.
Requirements:
- Amazon Web Services account for sandbox testing environment.
- Code refactoring for splitting API from Angular GUI (static files: image, css, js).
- Code reviewing for switch from Windows XAMPP to Linux Apache.
Reference:
http://media.amazonwebservices.com/architecturecenter/AWS_ac_ra_web_01.pdf
http://www.zdnet.com/blog/btl/migrating-to-amazon-web-services-the-blueprint/11275
http://calculator.s3.amazonaws.com/index.html