Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about...

Preview:

Citation preview

Introduction Gallery Implementation Demo Questions

Project Presentation

Saad Arif

Dept. of Electrical Engineering and Computer ScienceUniversity of Central Florida - Orlando, FL

November 7, 2013

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

Introduction

Cloud Computing provides on-demand delivery of IT resourcesvia the Internet with pay-as-you-go pricing

Amazon provides Amazon Web Services (AWS)

AWS provides

Compute servicesStorage servicesDatabase services

Why AWS

Highly durable storage servicesLow latency databsesWide range of application development tools available at AWSMarketplacePayment for services only as they are usedFlexible capacityGlobal reach

Introduction Gallery Implementation Demo Questions

AWS Cloud Computing Use Cases

Web, mobile and social apps

Big data

Backup and storage

Digital media

Enterprise application

Gaming

Introduction Gallery Implementation Demo Questions

Project Goals

General goals

Learn about AWSLearn about various serivces offered by AWSLearn how to launch a service instance and connect to it

Specific goals

Develop application on AWSLearn Amazon Elastic Cloud Compute (EC2) for computeLearn Amazon Elastic Block Storage (EBS) for storageLearn Amazon Relational Database Service (RDS) for database

Introduction Gallery Implementation Demo Questions

Application

Requirements

Website known as ’Gallery’ for sharing photosUser must login to upload dataShould have database of users and their uploadsUser can view photos after logging in

Services used

EC2 to host the webserverEBS to provide storage for uploaded dataRDS to provide database for users and their uploadsCloudWatch for performance monitoring

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

Application Details

Navigations

Login a userRegisteration for a new userMy photosUpload a photoLogoutContact infoSeveral picture libraries

Introduction Gallery Implementation Demo Questions

Application Details (contd)

Registration page

User provides personal infoRequired fields are ’FirstName’, ’Username’ and’Password’Once registered, userautomatically gets logged in

Validation checks

Username exists or notBoth passwords match

Introduction Gallery Implementation Demo Questions

Application Details (contd)

Logged user privilages

Can upload photos on’Upload’ tabCan view uploaded photos on’My Photos’ tabCan view all submission on ’AllSubmissions’ page

Introduction Gallery Implementation Demo Questions

Application Details (contd)

User photos

’My Photos’ provides list ofuser uploaded photos’Upload Photos’ providesinterface to upload new photo

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo 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 ofIPs)

Inexpensive

Easy to start

Elastic IPs

Introduction Gallery Implementation Demo Questions

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

Introduction Gallery Implementation Demo Questions

Elastic Block Storage - EBS

8 GB storage mounted on EC2

Used for storing image files

Introduction Gallery Implementation Demo Questions

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

Introduction Gallery Implementation Demo Questions

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 RDSwithout security group

Introduction Gallery Implementation Demo Questions

Database Structure

Tables: tbl Members, tbl Uploads

Root directory is on EBS volume

fileLink provides path to each uploaded photo

Introduction Gallery Implementation Demo Questions

CloudWatch

Provides performance monitoringVarious performance matrices available

Introduction Gallery Implementation Demo Questions

CloudWatch

Provides performance monitoringVarious performance matrices available

Introduction Gallery Implementation Demo Questions

Program Flow

Clients connect to the webserverrunning on EC2

EC2 interacts with both MySQLserver on RDS and EBS

When client uploads photo

Webserver (EC2) saves datafile on EBSWebserver (EC2) sends file’slocation info to MySQL server(RDS)Webserver (EC2) responds toclient after success

Introduction Gallery Implementation Demo Questions

Program Flow (contd)

When client requests for an uploadedphoto

Webserver (EC2) queriesMySQL server (RDS)MySQL Server (RDS) replieswith the path to the fileWebserver (EC2) createsredirect link for the pathWhen client clicks the link,data is copied from EBS toWebserver (EC2) anddisplayed to client

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo 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

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Introduction Gallery Implementation Demo Questions

Questions

Recommended