14
Sahil Chug @sahil_guitar Software Developer@P3Infotech P3Infotech P3Infotech P3Infotech Solutions Solutions Solutions Solutions Pvt Pvt Pvt Pvt Ltd. Ltd. Ltd. Ltd. h h http://p3infotech.in ttp://p3infotech.in ttp://p3infotech.in ttp://p3infotech.in 1

Taking Web Application Deployment from Infancy to Maturity in AWS

Embed Size (px)

DESCRIPTION

These slides discuss a case study of how a Web Application deployment in Amazon Web Services (AWS) may evolve as the application's usage grows. The deployment starts with a very basic initial setup and grows into a highly scalable, reliable and available setup. P3 InfoTech Solutions Pvt. Ltd. helps organizations achieve business breakthroughs by adopting Cloud Computing through our Outsourced Product Development and Cloud Consulting service offerings. Check out our service offerings at http://www.p3infotech.in.

Citation preview

Page 1: Taking Web Application Deployment from Infancy to Maturity in AWS

Sahil Chug @sahil_guitar

Software Developer@P3InfotechP3InfotechP3InfotechP3Infotech Solutions Solutions Solutions Solutions PvtPvtPvtPvtLtd. Ltd. Ltd. Ltd. hhhhttp://p3infotech.inttp://p3infotech.inttp://p3infotech.inttp://p3infotech.in

1

Page 2: Taking Web Application Deployment from Infancy to Maturity in AWS

� Introduction to cloud computing

� 3 case studies

� Everything is in context of AWS (Amazon Web Services)

� Auto scaling groups

� AWS S3 Service

� AWS CloudFront

2

Page 3: Taking Web Application Deployment from Infancy to Maturity in AWS

� A model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”

Highlighting Points:Highlighting Points:Highlighting Points:Highlighting Points:� Pay as you goPay as you goPay as you goPay as you go

� use use use use ofofofof computing computing computing computing resources resources resources resources (hardware and software) that are (hardware and software) that are (hardware and software) that are (hardware and software) that are delivered as a service over delivered as a service over delivered as a service over delivered as a service over a networka networka networka network (typically the(typically the(typically the(typically the InternetInternetInternetInternet))))

� High Availability and ScalabilityHigh Availability and ScalabilityHigh Availability and ScalabilityHigh Availability and Scalability

3

Page 4: Taking Web Application Deployment from Infancy to Maturity in AWS

An EC2 instance is virtual An EC2 instance is virtual An EC2 instance is virtual An EC2 instance is virtual machine, sitting in a machine, sitting in a machine, sitting in a machine, sitting in a physical server, together physical server, together physical server, together physical server, together with other virtual with other virtual with other virtual with other virtual machinesmachinesmachinesmachines....

An EBS is a Block storage An EBS is a Block storage An EBS is a Block storage An EBS is a Block storage level volume attached to level volume attached to level volume attached to level volume attached to an EC2 Instancean EC2 Instancean EC2 Instancean EC2 Instance

Just some 100 usersJust some 100 usersJust some 100 usersJust some 100 users

User

4

Page 5: Taking Web Application Deployment from Infancy to Maturity in AWS

� Well this was just an introduction scenario

� Your Application starts getting more users

� And You have to scale up scale up scale up scale up !

ItemItemItemItem Usage(GB)Usage(GB)Usage(GB)Usage(GB) RunningRunningRunningRunning Cost Per Cost Per Cost Per Cost Per monthmonthmonthmonth

EC2 instance linuxmedium

NA $87.2

EBS (Storage+WebServer)

20 $2.20

Storage - S3 - Static Data (photos)

10 $1.25

Network traffic (download only)

10 $1.90

TotalTotalTotalTotal $92.95$92.95$92.95$92.95

5

Page 6: Taking Web Application Deployment from Infancy to Maturity in AWS

Simple Shared Simple Shared Simple Shared Simple Shared StorageStorageStorageStorage

Auto Scaling Auto Scaling Auto Scaling Auto Scaling GroupsGroupsGroupsGroups

Some 10000 Some 10000 Some 10000 Some 10000 UsersUsersUsersUsers

6

Page 7: Taking Web Application Deployment from Infancy to Maturity in AWS

� Scalability� Auto-Scaling Groups� Different scenarios for configuring Auto-Scaling groups� Why use S3?� Store static content like images, videos, audios files, documents , transaction records for an e commerce application, server logs

� Shared storage among EC2 so saves copying of similar data multiple times

� S3 will make multiple copies of your data across availability zones hence Highly durable

� Store transaction logs of few months � NOTE: S3 is an objects storage not block storage(WORM) Write once Read many

7

Page 8: Taking Web Application Deployment from Infancy to Maturity in AWS

ItemItemItemItem NoNoNoNo Storage (GB)Storage (GB)Storage (GB)Storage (GB) Running cost Running cost Running cost Running cost per month($)per month($)per month($)per month($)

EC2 Instance-(Medium linuxWeb servers)

4 N/A $348.8

EBS Storage - Webserver (all 4 instances)

4 20 each $8.40

ec2 instance - Medium (for database)

1 N/A $87.2

EBS Storage - Database 1 40 $4.40

Storage - S3 - Static Data (photos/Transaction Records)

NA 10 $1.25

ELB 20 $20.60

TotalTotalTotalTotal $ 470.85$ 470.85$ 470.85$ 470.85

8

Page 9: Taking Web Application Deployment from Infancy to Maturity in AWS

9

Page 10: Taking Web Application Deployment from Infancy to Maturity in AWS

Availability Availability Availability Availability Zone 1Zone 1Zone 1Zone 1

Availability Availability Availability Availability Zone2Zone2Zone2Zone2

10

Page 11: Taking Web Application Deployment from Infancy to Maturity in AWS

Content DistributionContent DistributionContent DistributionContent Distribution

39 Edge locations 39 Edge locations 39 Edge locations 39 Edge locations across globeacross globeacross globeacross globe

11

Page 12: Taking Web Application Deployment from Infancy to Maturity in AWS

12

Page 13: Taking Web Application Deployment from Infancy to Maturity in AWS

� Availability zones

� How to Scale UP and Scale OUT

� Master Slave DB

� Amazon CloudFront:

� Edge locations caches your content so avoids request to S3 or any other origin of your data.

� Improves customer experience with faster page loads especially for mobile users with limited bandwidth

� There are certain SEO benefits also involved: There are certain SEO benefits also involved: There are certain SEO benefits also involved: There are certain SEO benefits also involved: A study at googleshowed that every ½ second of page load time dropped customer traffic by 20%.Google factors in page load times in their quality score.

� CloudFront users: IMDB, Playfish(gaming company)

13

Page 14: Taking Web Application Deployment from Infancy to Maturity in AWS

14