Project Presentation Saad Arif Dept. of Electrical Engineering and Computer Science University of Central Florida - Orlando, FL November 7, 2013
1 Introduction
1 Introduction 2 Gallery
1 Introduction 2 Gallery 3 Implementation
1 Introduction 2 Gallery 3 Implementation 4 Demo
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
Introduction Cloud Computing provides on-demand delivery of IT resources via the Internet with pay-as-you-go pricing Amazon provides Amazon Web Services (AWS) AWS provides Compute services Storage services Database services Why AWS Highly durable storage services Low latency databses Wide range of application development tools available at AWS Marketplace Payment for services only as they are used Flexible capacity Global reach
AWS Cloud Computing Use Cases Web, mobile and social apps Big data Backup and storage Digital media Enterprise application Gaming
Project Goals General goals Learn about AWS Learn about various serivces offered by AWS Learn how to launch a service instance and connect to it Specific goals Develop application on AWS Learn Amazon Elastic Cloud Compute (EC2) for compute Learn Amazon Elastic Block Storage (EBS) for storage Learn Amazon Relational Database Service (RDS) for database
Application Requirements Website known as Gallery for sharing photos User must login to upload data Should have database of users and their uploads User can view photos after logging in Services used EC2 to host the webserver EBS to provide storage for uploaded data RDS to provide database for users and their uploads CloudWatch for performance monitoring
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
Introduction Gallery Application Details Navigations Login a user Registeration for a new user My photos Upload a photo Logout Contact info Several picture libraries Implementation Demo Questions
Application Details (contd) Registration page User provides personal info Required fields are First Name, Username and Password Once registered, user automatically gets logged in Validation checks Username exists or not Both passwords match
Application Details (contd) Logged user privilages Can upload photos on Upload tab Can view uploaded photos on My Photos tab Can view all submission on All Submissions page
Application Details (contd) User photos My Photos provides list of user uploaded photos Upload Photos provides interface to upload new photo
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
Elastic Compute Cloud - EC2 Provides resizable compute capacity in the cloud Simple web based interface Reduces time required to obtain and boot new server instances Designed for use with other Amazon Web Services Reliable Secure Located in a Virtual Private Cloud (VPC) Access defined by security groups (allow/block IP or range of IPs) Inexpensive Easy to start Elastic IPs
Elastic Compute Cloud - EC2 (contd) Used: Amazon Linux AMI Configured LAMP server (Linux, Apache, MySQL, PHP) Instance type: t1.micro Region: Oregon Using elastic IP
Elastic Block Storage - EBS 8 GB storage mounted on EC2 Used for storing image files
Relational Database Service - RDS Simple to deploy Managed Compatible Fast, predictable performance Scalable Reliable Designed for use with other Amazon Web Services Secure Similar security groups provide firewalls Inexpensive
Relational Database Service - RDS (contd) Used: MySQL Instance type: db.t1.micro Region: Oregon Belongs to same VPC as EC2 instance Allows webserver on EC2 to access MySQL server on RDS without security group
Database Structure Tables: tbl Members, tbl Uploads Root directory is on EBS volume filelink provides path to each uploaded photo
CloudWatch Provides performance monitoring Various performance matrices available
CloudWatch Provides performance monitoring Various performance matrices available
Program Flow Clients connect to the webserver running on EC2 EC2 interacts with both MySQL server on RDS and EBS When client uploads photo Webserver (EC2) saves data file on EBS Webserver (EC2) sends file s location info to MySQL server (RDS) Webserver (EC2) responds to client after success
Program Flow (contd) When client requests for an uploaded photo Webserver (EC2) queries MySQL server (RDS) MySQL Server (RDS) replies with the path to the file Webserver (EC2) creates redirect link for the path When client clicks the link, data is copied from EBS to Webserver (EC2) and displayed to client
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
Demo Public DNS for the webserver instance on EC2 is http://ec2-54-200-253-133.us-west-2.compute.amazonaws.com/ Public DNS for the MySQL server instance on RDS is mysqlinstance.crlfby6hbult.us-west-2.rds.amazonaws.com:3306
1 Introduction 2 Gallery 3 Implementation 4 Demo 5 Questions
Questions