This project is for URL shortening service website. You also have to be familiar with setting up Amazon Web Services infrastructure as I will be using it to host my website.
The Website itself is very simple. A URL shortener like tinyurl.com or bit.ly, users enter a link in the box, click Shorten It, and a shortened URL appears as the result.
Here is the website outline I designed via html to get an idea of what it's like: http://static.m.ly/mcly.html
Because the website is simple I really want to make it that somehow a users connect to the website via CDN (Content Delivery Network) and the CDN will be able to connect to database (NoSQL) directly without the need of a server processing to save resources. This method saves server resouces and protect the website from Denial of Service attack effectively.
If it's not possible for you, I will consider this infrastructure below:
1. Multiple auto-scale EC2 micro instances on all locations in available, Route53 will determine where to point users to depends on where they are. You have to be able to make them scalable to be able to withstand high traffic and DDoS attack.
2. One DynamoDB table as database for the shortened links.
3. Amazon S3 & Cloudfront will be used to store and distribute static contents.
I want 301 redirect for the service, the website needs to be simple and has extremely fast access speed from all over the world.
To save and recycle resources, links that are not clicked at least once during a 30 days period will be removed completely from the database.
For custom shortened URL of choice, the service will charge 0.99£ (GBP) per month.
An API available like is.gd
links are alphanumeric, lower cased letters with number and not case sensitive.
Have a statistic subdomain (Example: stats.sho.rt/ab12) to display total clicks per month and such.
Dimensions: 960px by 960px
Background color: 3bb9ff