© 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:
Code
thumbnail = function(){
process.nextTick()
… }
Code
thumbnail = function(){
process.nextTick()
… }
Code
thumbnail = function(){
process.nextTick()
… }
High
Availability Scalability
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');
});
What if there were a better way?
PUT
COPY
UPDATE
DELETE
RESTORE
Easy to author
Easy to scale
Easy to manage
Easy to maintain
Easy to pay for
Easy to deploy
Easy to maintain
Amazon S3 Bucket Events AWS Lambda
Original image Thumbnailed image
1
2
3
AWS Lambda
DynamoDB
Table and Stream
Send Amazon SNS
notifications
Update another table
AWS API calls
AWS CloudTrail Logs
AWS Lambda
Bucket events Amazon SNS
notifications
AWS 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
a = 2
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
Work with DynamoDB Stream
Work with Kinesis Stream
log
log
log
aws.amazon.com/lambda
강연에 대한 설문 작성을 부탁드립니다.
http://bit.ly/awsevals
https://www.youtube.com/watch?v=UFj27laTWQA
https://www.youtube.com/watch?v=Ab1DgUfcJbk
re: