Developing a URL Shortening Service (TinyURL)

Developing a URL Shortening Service (TinyURL)
Developing a URL Shortening Service (TinyURL)

CLOUD LABS



Developing a URL Shortening Service (TinyURL)

In this Cloud Lab, you’ll learn how to build a URL shortening service on AWS and how multiple fully managed AWS services help meet our application’s nonfunctional requirements.

10 Tasks

intermediate

2hr

Certificate of Completion

Desktop OnlyDevice is not compatible.
No Setup Required
Amazon Web Services

Learning Objectives

Hands-on experience deploying a URL shortener on Amazon Web Services (AWS)
Expertise in application load balancer traffic management
Ability to use Auto Scaling groups to automatically provision resources
Hands-on experience with AWS WAF and Shield for rate limiting

Technologies
DAX
EC2 logoEC2
DynamoDB logoDynamoDB
ALB logoALB
WAF
Cloud Lab Overview

A URL shortening service takes long URLs, making them shorter and easier to handle. When clicked, these shortened URLs forward users to their longer counterparts.

This Cloud Lab focuses on developing a highly available, scalable, and resilient URL shortening service using AWS. The initial step involves setting up a DynamoDB table and DAX cluster for caching and storing key pairs of long URLs and their short URL equivalents. You’ll then create a Flask application within your EC2 instance. Next, you’ll configure an Auto Scaling group to manage your EC2 instances. Lastly, you’ll use an Application Load Balancer to manage incoming traffic and implement rate limiting with WAF. 

After completing this Cloud Lab, you can deploy a fully functional, end-to-end URL shortening service, leveraging the power and scalability of AWS cloud services. The provisioned infrastructure is provided in the architecture diagram below for reference.

URL shortening system using AWS services
URL shortening system using AWS services
Cloud Lab Tasks
1.Introduction
Getting Started
2.Set Up the Network
Create a VPC
3.Set Up the Database and Cache
Create a DynamoDB Table
Create a DAX Cluster
4.Set Up the Server
Launch the EC2 Instance
5.Set Up Load Balancers
Create an Application Load Balancer
Create an Auto Scaling Group (ASG)
6.Add Rate Limiting
Create the Web ACL
7.Conclusion
Clean Up
Wrap Up
Labs Rules Apply
Stay within resource usage requirements.
Do not engage in cryptocurrency mining.
Do not engage in or encourage activity that is illegal.

Relevant Courses

Use the following content to review prerequisites or explore specific concepts in detail.

Trusted by 1.4 million developers working at companies including

Don’t take our word for it. See what our developers have to say.

Your method is simple, straight to the point and I can practice with it everywhere, even from my phone, that's something I have never had in other learning platforms.

Felipe Matheus
TestimonialsImg

I highly recommend Educative. The courses are well organized and easy to understand.

Adina Ong
TestimonialsImg

I prefer Educative courses because they have a nice mix of text & images. I find that with full video courses, it can often be too easy to go into passive learning mode.

Clifford Fajardo
TestimonialsImg

I prefer Educative courses because they have a nice mix of text & images. I find that with full video courses, it can often be too easy to go into passive learning mode.

Clifford Fajardo
TestimonialsImg
Don’t take our word for it. See what our developers have to say.

Your method is simple, straight to the point and I can practice with it everywhere, even from my phone, that's something I have never had in other learning platforms.

Felipe Matheus
TestimonialsImg

I highly recommend Educative. The courses are well organized and easy to understand.

Adina Ong
TestimonialsImg

I prefer Educative courses because they have a nice mix of text & images. I find that with full video courses, it can often be too easy to go into passive learning mode.

Clifford Fajardo
TestimonialsImg

Get access to Educative Cloud Labs

Course Footer Image
Course Footer Image