31
Introduction Gallery Implementation Demo Questions Project Presentation Saad Arif Dept. of Electrical Engineering and Computer Science University of Central Florida - Orlando, FL November 7, 2013

Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

Project Presentation

Saad Arif

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

November 7, 2013

Page 2: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 3: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 4: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 5: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 6: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 7: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 8: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 9: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 10: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 11: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 12: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 13: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

Application Details

Navigations

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

Page 14: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 15: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 16: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

Application Details (contd)

User photos

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

Page 17: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 18: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 19: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 20: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

Elastic Block Storage - EBS

8 GB storage mounted on EC2

Used for storing image files

Page 21: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 22: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 23: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 24: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

CloudWatch

Provides performance monitoringVarious performance matrices available

Page 25: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

CloudWatch

Provides performance monitoringVarious performance matrices available

Page 26: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 27: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 28: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 29: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

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

Page 30: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

1 Introduction

2 Gallery

3 Implementation

4 Demo

5 Questions

Page 31: Project Presentation - CS Department · Project Goals General goals Learn about AWS Learn about various serivces o ered by AWS Learn how to launch a service instance and connect to

Introduction Gallery Implementation Demo Questions

Questions