aws: scaling with elastic beanstalk

Post on 12-Jul-2015

528 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

AWS: SCALING WITH ELASTIC BEANSTALK

AN LE PHU NGUYEN

DECEMBER 2OTH, 2014

$ WHOAMI

Nguyễn Lê Phú An

Senior Software Engineer

R&D, KMS Technology Inc.

anlpnguyen@kms-technology.com

AWS: SCALING WITH ELASTIC BEANSTALK

An Nguyen

LET’S DESCRIBE YOURSELF

What is AWS?

I heard that before

I’m working on that

I’m a guru!

AWS: SCALING WITH ELASTIC BEANSTALK

WHAT IS AWS?

• Amazon Web Services

• Provides cloud computing infrastructure

• Started with hosting services and then…

AWS: SCALING WITH ELASTIC BEANSTALK

AGENDA

AWS: SCALING WITH ELASTIC BEANSTALK

Elastic Beanstalk

Deployment & Scaling

Zonal & Regional Load Balancing

Takeaways

What is Elastic Beanstalk?

AWS: SCALING WITH ELASTIC BEANSTALK

ELASTIC BEANSTALK

ELASTIC BEANSTALK

ELASTIC BEANSTALK

ELASTIC BEANSTALK

Elas

tic

Bea

nst

alk

EC2 Instances

Elastic Load Balancer

Auto Scaling Group

EC2 – ELASTIC COMPUTE CLOUD

ELASTIC BEANSTALK

AUTO SCALING GROUP

ELASTIC BEANSTALK

• Scales EC2 instances up or down automatically with your conditions

ELASTIC LOAD BALANCER

ELASTIC BEANSTALK

• Routes traffic across multiple instances

• Auto scaling

• Integrates to Security Group and SSL

ELASTIC BEANSTALK

ELASTIC BEANSTALK

• EC2 Instances

• Auto Scaling Group

• Elastic Load Balancer

• Security Group

• DB

Deployment & Scaling

AWS: SCALING WITH ELASTIC BEANSTALK

FIRST STEPS

DEPLOYMENT & SCALING

CREATE ELASTIC BEANSTALK

DEPLOYMENT & SCALING

ZIP AND UPLOAD YOUR PROJECT

DEPLOYMENT & SCALING

CREATE DATABASE

DEPLOYMENT & SCALING

DEFINE ENVIROMENT

DEPLOYMENT & SCALING

MONITOR

DEPLOYMENT & SCALING

ALARM

DEPLOYMENT & SCALING

How about next deployment?

DEPLOYMENT & SCALING

NEXT DEPLOYMENT: AWS CLI

• Install AWS Command Line Interface

• Setup AWSDevTools

• git aws.config

• git aws.push (it will push the entire repo)

Updating the AWS Elastic Beanstalk environment staging-sample...

Environment update initiated successfully.

DEPLOYMENT & SCALING

Read more here: http://aws.amazon.com/code/6752709412171743

LOGGING

DEPLOYMENT & SCALING

How about scaling?

DEPLOYMENT & SCALING

HOW ABOUT SCALING?

• Configure Auto Scaling Group

• Define the trigger

• Let him do his job!

DEPLOYMENT & SCALING

SETUP AUTO SCALING

DEPLOYMENT & SCALING

SETUP SCALING TRIGGER

DEPLOYMENT & SCALING

DASHBOARD

DEPLOYMENT & SCALING

Elastic Beanstalk Setup Demo

DEPLOYMENT & SCALING

PRICING

• There is no additional charge for Elastic Beanstalk – you only pay for the underlying AWS resources

• Try AWS free usage tier!

DEPLOYMENT & SCALING

SOME GOOD PRACTICES

• Make your app scalable first

– Share your static resources: video, image, css, js…

• S3, CloudFront are good candidates

– Share database and cache servers

• RDS, DynamoDB, ElastiCache

• Control auto scaling group to control your bill

– Limit Max instance number

– Add notification, at least when to Add/Remove instance

– Adjust trigger frequently according your website’s workload

DEPLOYMENT & SCALING

SHOULD I USE EB?

• Pros:

– Super easy to deploy

– Separate environments

– Integrate to other AWS services

– Good organization

• Cons:

– Quite slow deployment with large repo

– Be careful with auto scaling

– Hard to customize EC2 instances

DEPLOYMENT & SCALING

MORE…

• CloudWatch

– Monitor & Notification

• CloudFront

– Share web static resource (CDN)

• RDS, DynamoDB & ElastiCache

– Database & Cache

• S3

– File storage

• DB backup

• Deployment files

DEPLOYMENT & SCALING

Zonal & Regional load balancing

AWS: SCALING WITH ELASTIC BEANSTALK

REGIONS

ZONAL & REGIONAL LOAD BALANCING

AVAILABILITY ZONES

ZONAL & REGIONAL LOAD BALANCING

ZONAL LOAD BALANCING

ZONAL & REGIONAL LOAD BALANCING

ENABLE ZONAL LOAD BALANCING & SCALING

ZONAL & REGIONAL LOAD BALANCING

Sounds good! Will it scale my databases, cache

services?

In Elastic Load Balancer

In Auto Scaling Group

How about regional load balancing?

ZONAL & REGIONAL LOAD BALANCING

REGION LOAD BALANCING

ZONAL & REGIONAL LOAD BALANCING

ROUTE 53

ZONAL & REGIONAL LOAD BALANCING

• A Domain Name System (DNS)

• Connect user to services: EC2, S3,

Elastic Load Balancer, CloudFront

• Auto scale

• Health check mechanism

• DNS Failover

ROUTE 53

ZONAL & REGIONAL LOAD BALANCING

MORE…

• Database, cache replication

– Cross-zone

– Cross-region

• Route 53 configuration

– Latency based routing

– Geo DNS

ZONAL & REGIONAL LOAD BALANCING

TAKEAWAYS

AWS: SCALING WITH ELASTIC BEANSTALK

TAKEAWAYS

• Elastic Beanstalk

– Combination of ELB, Auto Scaling Group, EC2 and some services

– Auto Scale configuration

– Pros & Cons

• Cross-zone & Cross-region

– Enable cross-zone load balancing & scaling

– Use Route 53 to handle cross-region load balancing

AWS: SCALING WITH ELASTIC BEANSTALK

Q&A

AWS: SCALING WITH ELASTIC BEANSTALK

THANK YOU

© 2013 KMS Technology

top related