aws re:invent re:cap - 자동화된 반응형 코드 구동: amazon lambda - 정윤진

1

Upload: amazon-web-services-korea

Post on 11-Jul-2015

427 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

December 8, 2014 | Korea

정윤진 솔루션스 아키텍트

re:

Page 2: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 3: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 4: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Code

thumbnail = function(){

process.nextTick()

… }

Page 5: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Code

thumbnail = function(){

process.nextTick()

… }

Page 6: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Code

thumbnail = function(){

process.nextTick()

… }

Page 7: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

High

Availability Scalability

Page 8: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

easyimg.resize({src:'beach.jpg', dst:'beach-small.jpg', width:640, height:480},

function(err, stdout, stderr) {

if (err) throw err;

console.log('Resized to 640x480');

});

Page 9: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

What if there were a better way?

Page 10: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

PUT

COPY

UPDATE

DELETE

RESTORE

Page 11: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Easy to author

Easy to scale

Easy to manage

Easy to maintain

Easy to pay for

Easy to deploy

Easy to maintain

Page 12: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 13: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 14: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Amazon S3 Bucket Events AWS Lambda

Original image Thumbnailed image

1

2

3

Page 15: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

AWS Lambda

DynamoDB

Table and Stream

Send Amazon SNS

notifications

Update another table

Page 16: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

AWS API calls

AWS CloudTrail Logs

AWS Lambda

Bucket events Amazon SNS

notifications

Page 17: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

AWS Lambda

Page 18: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 19: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 20: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 21: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 22: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 23: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 24: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 25: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 26: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 27: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 28: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 29: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

? ?

Page 30: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

a = 1 b = “two”

c = 3

d = “four” a = 1

b = “two”

c = 3

d = “four”

c = 3

d = “four”

geofence = inside

where truck in geofence a

and c > 1 and d != “two”

• HTTP Post (webhook)

• SNS

• RedShift

• S3

• Republish on another

topic

• Republish to another

account

• Transform payload

Page 31: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

a = 2

Page 32: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 33: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Evolve with AWS

• Ease of scaling up

• Ease of deployments

• Flexibility to change architecture on the

fly

– Last week swapped out web

servers in an afternoon without any

customers knowing because of ELB

and AMI easiness.

– Moved from pure queue/worker to

parallel processing for ingestion

and BI using Kafka and Samza with

ease.

- Listeners - Commanders

Yarn Cluster: - Translation (i/o) - BI

Public-facing API

MongoDB

Page 34: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Work with DynamoDB Stream

Page 35: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

Work with Kinesis Stream

Page 36: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 37: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 38: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 39: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 40: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 41: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 42: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 43: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

log

log

log

Page 44: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 45: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진
Page 46: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

aws.amazon.com/lambda

Page 47: AWS re:Invent re:Cap - 자동화된 반응형 코드 구동: Amazon Lambda - 정윤진

강연에 대한 설문 작성을 부탁드립니다.

http://bit.ly/awsevals

https://www.youtube.com/watch?v=UFj27laTWQA

https://www.youtube.com/watch?v=Ab1DgUfcJbk

re: