$30 off During Our Annual Pro Sale. View Details »

本当は怖くない AWS Lambda / speee_cafe_meetup06

本当は怖くない AWS Lambda / speee_cafe_meetup06

Speee Cafe Meetup #06 で話しました
https://speee.connpass.com/event/54266/

yuma iwasaki

April 25, 2017
Tweet

More Decks by yuma iwasaki

Other Decks in Technology

Transcript

  1. AWS Lambda
    DC UZOU (@suthio_)
    Speee Cafe Meetup #6 / 2017-04-25
    Speee Cafe Meetup #6 ~ AWS Lambda

    View Slide

  2. @suthio_
    UZOU
    2

    View Slide

  3. AWS Lambda
    Speee Cafe Meetup #6 ~ AWS Lambda 3

    View Slide

  4. ※ AWS Lambda
    Speee Cafe Meetup #6 ~ AWS Lambda 4

    View Slide

  5. AWS Lambda
    Speee Cafe Meetup #6 ~ AWS Lambda 5

    View Slide

  6. UZOU
    AWS Lambda
    Lambda
    UZOU
    Speee Cafe Meetup #6 ~ AWS Lambda 6

    View Slide

  7. UZOU
    AWS
    AWS
    Lambda
    Speee Cafe Meetup #6 ~ AWS Lambda 7

    View Slide

  8. AWS Lambda
    Speee Cafe Meetup #6 ~ AWS Lambda 8

    View Slide

  9. AWS Lambda
    AWS Function
    AWS
    Kinesis
    DynamoDB
    S3
    etc...
    Speee Cafe Meetup #6 ~ AWS Lambda 9

    View Slide

  10. AWS Lambda
    NodeJS
    Java8
    Python
    .NET Core
    UZOU NodeJS
    Speee Cafe Meetup #6 ~ AWS Lambda 10

    View Slide

  11. UZOU
    Speee Cafe Meetup #6 ~ AWS Lambda 11

    View Slide

  12. 12

    View Slide

  13. Lambda
    13

    View Slide

  14. Stream
    Kinesis
    Lambda Kinesis Streams
    callback error
    14

    View Slide

  15. CloudWatch Logs
    15

    View Slide

  16. AWS Lambda
    16

    View Slide

  17. AWS Lambda
    Lambda 1
    2
    2
    Lambda
    Lambda
    17

    View Slide

  18. Context eventID
    eventID
    "eventID": "shardId-
    000000000000:49545115243490985018280067714973144582180062593244200961"
    eventID Retry Kinesis Batch
    ID
    18

    View Slide

  19. Lambda
    Lambda
    Kinesis Streams Lambda
    19

    View Slide

  20. 20

    View Slide

  21. NodeJS
    Amazon Linux
    AmazonLinux Docker or
    AmazonLinux EC2
    UZOU
    Mac
    21

    View Slide

  22. callbackWaitsForEmptyEventLoop
    Callback Lambda
    True
    false SetTimeout
    exports.handler = (event, context, callback) => {
    context.callbackWaitsForEmptyEventLoop = false
    setTimeout((a) => {
    console.info(a);
    }, 3000, 'SetTimeout Lambda');
    callback(null, 'Hello Lambda');
    };
    22

    View Slide

  23. callbackWaitsForEmptyEventLoop
    aerospike-client True
    Callback
    UZOU
    23

    View Slide

  24. 24

    View Slide

  25. 25

    View Slide

  26. Kinesis
    WriteProvisionedThroughputExceeded
    ReadProvisionedThroughputExceeded
    GetRecords.IteratorAgeMilliseconds
    26

    View Slide

  27. WriteProvisionedThroughputExceeded
    27

    View Slide

  28. ReadProvisionedThroughputExceeded
    GetRecords
    28

    View Slide

  29. IteratorAgeMilliseconds
    GetRecords
    ( )
    GetRecords
    0 ( )
    Kinesis Batch
    29

    View Slide

  30. Lambda
    IteratorAge
    Errors Count
    30

    View Slide

  31. IteratorAge
    Lambda
    Lambda
    31

    View Slide

  32. Errors Count
    Lambda
    CloudWatch Logs
    Timeout
    32

    View Slide

  33. Datadog
    Datadog
    33

    View Slide

  34. Lambda
    Lambda
    Lambda
    34

    View Slide