[판교에서 만나는 아마존웹서비스] obama for america를 통해서 본 aws에서의...

53
Obama For America on AWS Younjin Jeong Solutions Architect

Upload: amazon-web-services-korea

Post on 06-May-2015

676 views

Category:

Technology


5 download

DESCRIPTION

Obama for America를 통해서 본 AWS에서의 데이터 분석 (정윤진 책임, Solutions Architect)

TRANSCRIPT

Page 1: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Obama For America on AWS

Younjin Jeong

Solutions Architect

Page 2: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

What am I talking about today?

What was OFA? Why is this relevant? • Who did it?

• What did they build?

How did they do that? • Technologies and Tradeoffs

• Services vs. Software

What did they learn from building something so big?

Page 3: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Full Disclosure

I work for AWS

AWS does not endorse

political candidates

Yes, I talk too much

Page 4: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

So here’s the Idea

~30th biggest E-commerce operation, globally

~200 distinct new applications, many mobile

Hundreds of new, untested analytical approaches

Processing hundreds of TB of data on thousands of servers

Spikes of hundreds of thousands of concurrent users

FUN FUN FUN

Page 5: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

a few constraints…

~30th biggest E-commerce operation, globally

~200 distinct applications, many mobile

Hundreds of new, untested analytical approaches

Processing hundreds of TB of data on thousands of servers

Spikes of hundreds of thousands of concurrent users

Critically compressed budget

Less than a year to execute

Volunteer and near-volunteer development team

Core systems will be used for a single critical day

Constitutionally-mandated completion date

NOT FUN NOT FUN

NOT FUN

Page 6: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

CHALLENGE ACCEPTED !

Page 7: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Built by guys and gals like these: Obama For America

Page 8: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Business as usual..

…for a technology startup

Page 9: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Election Day – OFA Headquarters

Page 10: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

So they built it all, and it worked

Page 11: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 12: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Typical Charts

Page 13: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 14: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

How?

Page 15: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

The old approach, even from Amazon

Page 16: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

The old approach.. Might have some problems..

Page 17: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

No Up-Front

Capital Expense Pay Only for

What You Use

Self-Service

Infrastructure Easily Scale

Up and Down

Improve Agility &

Time-to-Market

Low Cost

Cloud Computing Benefits

Deploy

Page 18: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

OFA’s Infrastructure

awsofa.info

Page 19: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Web-Scale Applications

Page 20: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

500k+ IOPS DB Systems

Page 21: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Services API

Page 22: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Ingredients

Ubuntu nginx boundary Unity jQuery SQLServer hbase

NewRelic EC2 node.js Cybersource hive ElasticSearch

Ruby Twilio EE S3 ELB boto Magento PHP EMR SES

Route53 SimpleDB Campfire nagios Paypal CentOS

CloudSearch levelDB mongoDB python securitygroups

Usahidhi PostgresSQL Github apache bootstrap SNS

cloudformation Jekyll RoR EBS FPS VPC Mashery

Vertica RDS Optimizely MySQL puppet tsunamiUDP R

asgard cloudwatch ElastiCache cloudopt SQS cloudinit

DirectConnect BSD rsync STS Objective-C dynamoDB

Page 23: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Data Stores

Ubuntu nginx boundary Unity jQuery SQLServer hbase

NewRelic EC2 node.js Cybersource hive ElasticSearch

Ruby Twilio EE S3 ELB boto Magento PHP EMR SES

Route53 SimpleDB Campfire nagios Paypal CentOS

CloudSearch levelDB mongoDB python securitygroups

Usahidhi PostgresSQL Github apache bootstrap SNS

cloudformation Jekyll RoR EBS FPS VPC Mashery

Vertica RDS Optimizely MySQL puppet tsunamiUDP R

asgard cloudwatch ElastiCache cloudopt SQS cloudinit

DirectConnect BSD rsync STS Objective-C dynamoDB

Page 24: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Development Frameworks

Ubuntu nginx boundary Unity jQuery SQLServer hbase

NewRelic EC2 node.js Cybersource hive ElasticSearch

Ruby Twilio EE S3 ELB boto Magento PHP EMR SES

Route53 SimpleDB Campfire nagios Paypal CentOS

CloudSearch levelDB mongoDB python securitygroups

Usahidhi PostgresSQL Github apache bootstrap SNS

cloudformation Jekyll RoR EBS FPS VPC Mashery

Vertica RDS Optimizely MySQL puppet tsunamiUDP R

asgard cloudwatch ElastiCache cloudopt SQS cloudinit

DirectConnect BSD rsync STS Objective-C dynamoDB

Page 25: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Sites

Communications

Ad Targeting

Ops Tools

Analytics

Apps

Micro-targeting

Micro-listening

Reporting

Registrations

Volunteer

Coordination

Etc, etc, etc.

Page 26: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Technology Choice

Polyglot Development

Cloud Hosting

Diverse, App-centered Databases

SOA, queue-based system integrations

Expected Tradeoff

More Complex Ops

Less Infra Control, performance

More Complex Ops, Fragility, Data Corruption

Dev Complexity, slower system performance

Page 27: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Technology Choice

Polyglot Development

Cloud Hosting

Diverse, App-centered Databases

SOA, queue-based system integrations

Expected Tradeoff

More Complex Ops

Less Infra Control, performance

More Complex Ops, Fragility, Data Corruption

Dev Complexity, slower system performance

Upside

Build as little as possible, rev-1 faster, reuse dev skills

Scale, Speed, Cost

Heterogeneous Resilience, right tools for the job

Scalability, serviceability, operational flexibility, and substantially faster in aggregate

Page 28: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 29: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 30: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

No time to waste

Page 31: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

This applies to lots of services!

ELB

ElastiCache

RDS

CloudSearch

Route53

S3

CloudFront

DynamoDB

You can mostly do

these on your own…

But do you have extra:

focus, expertise, time, research,

money, risk-tolerance, staff, dedication to

innovate, operations coverage, scalability in design...

Page 32: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Looks pretty simple.

Inserts 7.5m records in DynamoDB, in 8 minutes

Page 33: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

One thing that is difficult to prepare for…

Page 34: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

No pressure…

Page 35: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

They had this built for the previous 3 months, all on the East Coast.

Page 36: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

They had this built for the previous 3 months, all on the East Coast.

We built this part in 9 hours

to be safe.

AWS + Puppet +

Netflix Asgard + CloudOpt + DevOps =

Cross-Continent Fault-Tolerance On-Demand

Page 37: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 38: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Replication across the continent..

http://tsunami-udp.sourceforge.net/

Page 39: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

So what did they learn?

Game Day: Practice failures so you know what to do.

Loose-Coupling: Ops easy, scale easy, test easy, fix easy…

Fail-Forward: features, quality, and focus are all critical.

HA in Depth: S3 static pages, de-coupled UI, jekyll/hyde

Cloud works.

Page 40: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

What will you do next?

Page 41: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Maybe look at some of their Ruby code?

https://github.com/democrats/voter-registration

Page 42: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

AMAZON REDSHIFT

Page 43: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

AMAZON REDSHIFT Redshift runs on HS type instances

HS1.8XL: 128 Go RAM, 16 Coeurs, 16 To de contenu compressé, 2 Go/sec en lecture

HS1.XL: 16 Go RAM, 2 Coeurs, 2 To de contenu compressé

Page 44: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Extra Large Node

(HS1.XL)

Single node

Cluster 2-32 Nodes (4 To – 64 To)

Eight Extra Large Node (HS1.8XL) Cluster 2-100 Nodes (32 To – 1.6 Po)

Page 45: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

10 GigE

(HPC)

Ingestion

Backup

Restoration

JDBC/ODBC

Amazon DynamoDB

Page 46: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 47: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 48: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 49: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 50: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 51: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석
Page 52: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

AMAZON ELASTIC

MAPREDUCE

AMAZON

DYNAMODB

AMAZON EC2

AWS STORAGE

GATEWAY

AMAZON S3

DATA CENTER

AMAZON RDS

AMAZON

REDSHIFT

Page 53: [판교에서 만나는 아마존웹서비스] Obama for America를 통해서 본 AWS에서의 데이터 분석

Younjin Jeong - AWS [email protected]

Thank you!