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.

Hear what others have to say
Join 1.4 million developers working at companies like