Upgrade to Pro — share decks privately, control downloads, hide ads and more …

re:Invent 2018でServerlessの世界は何が変わったか / What has changed in the world of Serverless at re:Invent 2018??

Masashi Terui
December 12, 2018

re:Invent 2018でServerlessの世界は何が変わったか / What has changed in the world of Serverless at re:Invent 2018??

AWS-HUB@名古屋支部【2018年12月12日】忘年会スペシャル & re.invent振り返LT大会
https://jawsug-nagoya.doorkeeper.jp/events/83623

Masashi Terui

December 12, 2018
Tweet

More Decks by Masashi Terui

Other Decks in Technology

Transcript

  1. WHAT HAS CHANGED IN THE WORLD OF
    SERVERLESS AT RE:INVENT 2018??
    MASASHI TERUI @ JAWS-UG NAGOYA 2018.12.12

    View Slide

  2. SERVERWORKS CO.,LTD.
    + FREELANCER
    • Serverless Oji-san
    • Serverless Framework Plugin Developer
    • Serverlessconf Tokyo 2016,2017,2018 speaker
    • Remote worker (in Sapporo-shi, Hokkaido)
    • http://marcy.hatenablog.com/entry/2018/08/04/231241
    MASASHI TERUI
    ARCHITECT / DEVELOPER

    View Slide

  3. ࡳຈ͔Βདྷ·ͨ͠
    ؾԹ͕ࠩϠόΠ͆ʢ-10℃ → 10℃ʣ
    ※Πϝʔδը૾Ͱ͢
    ※ࠓேͷ༷ࢠͰ΋ͳ͚Ε͹ɺੴङࢢʢྡͷࢢʣͰڈ೥ࡱͬͨࣸਅͰ͆͢

    View Slide

  4. CEO Andy Jassy(3೔໨): Ұൠ޲͚ϝοηʔδ
    CTO Werner Vogels(4೔໨): ։ൃऀ޲͚ϝοηʔδ
    re:Inventͷkeynote͸ʢಛʹࠓ೥͸͜ͷ৭͕ڧ͍ʣ

    View Slide

  5. ׬શʹSERVERLESSਪ͠ 2೔໨ΩʔϊʔτͰͷΞοϓσʔτ͸
    શͯServerlessؔ࿈

    View Slide

  6. • Lambda Layers
    • Custom Runtime API
    • Step Function Service Integrations
    • DynamoDB Transactions
    • DynamoDB On-Demand
    • WebSocket support for API Gateway
    • Amplify Console
    • Cloud Map

    ※ݸਓతʹΠϯύΫτ͋Δͱࢥͬͨ΍͚ͭͩநग़ͯ͠·͢
    Serverlessؔ࿈ͷϦϦʔε

    View Slide

  7. • ڞ௨ϥΠϒϥϦஔ͖৔ͱͯ͠͸ਖ਼௚Ͳ͏ͳΜͩΖ͏ײ
    • ֤ݴޠͷඪ४తͳϥΠϒϥϦ؅ཧʹ৐ͬͨํ͕ྑ͘ͳ͍ʁ
    • LayerͷॏͶॱΛอͭͨΊʹஞ࣍ॲཧ͞ΕΔ͔ΒSpin Up͕ଟগ஗͘ͳΔΒ͍͠͠(ݱঢ়)
    • ΞϓϦέʔγϣϯͱϥΠϑαΠΫϧͷҟͳΔ

    ӡ༻༻్ͷϥΠϒϥϦͱ͔͸ྑ͍࢖͍ํͩͱࢥ͏
    • https://www.datadoghq.com/blog/datadog-lambda-layer/
    • ಡΈࠐΈઐ༻σʔλஔ͖৔ͱͯ͠༗༻
    • ڞ௨ઃఆϑΝΠϧͱ͔ࣙॻσʔλͱ͔
    • ΋͏ͪΐͬͱ༰ྔ(250MB)૿͑Δͱྑ͍Μ͚ͩͲͳʔ|шƅ)ŧŽŕ
    Lambda Layers

    View Slide

  8. • ެࣜʹແ͍ͩ͜ΘΓͷݴޠ͕࢖͍͍ͨΈ͍ͨͳਓʹ͸ྑ͍ʢCOBO…͍΍ͳΜͰ΋ͳ͍Ͱ͢
    • ެࣜͰྑ͍΍੎తʹ͸͜ΕࣗମΛ࢖͏͔͍ͬͯ͏ΑΓAPI͕ެ։͞Εͨ͜ͱ͕େ͖͍
    • ެࣜͷAPIͱ͸ҧ͏
    • ಉ࣌ʹग़ͨRuby͸Ұॹ
    • ଞ͸ݴޠʹΑͬͯ͸࠷దԽͯ͠Δ͔ΒͪΐͬͱϨΠςϯγʹ͕ࠩ͋Δ͔΋ͬͯݴͬͯͨ
    • Herokuͷbuildpackײ͋Δ
    • PaaSͬΆ͘࢖͏ͷ΋࠷ૣΞϦͰ͸
    • ΋͏ͪΐͬͱ༰ྔ(250MB)૿͑Δͱྑ͍Μ͚ͩͲͳʔ|шƅ)ŧŽŕ
    Custom Runtime API

    View Slide

  9. • Lambdaͷ࣮૷ݮͬͯศརʂʂ
    • ಛʹ֎෦ೖྗ͕DynamoDBʹೖͬͯ͘Δ·Ͱϧʔϓ͢Δ΍ͭͱ͔
    • ΋͸΍States Language͚ͩͰΞϓϦ࡞Εͦ͏ʢ΍Βͳ͍͚Ͳ͆ʣ
    Step Function Service Integrations

    View Slide

  10. • DynamoDBͰ།Ұେมͩͬͨॴ͕ແ͘ͳͬͨʂʂ
    • Kinesis StreamsʹҰ୴ೖΕͯ௚ྻԽͱ͔΍Βͳͯ͘Α͘ͳΔ
    • https://speakerdeck.com/marcyterui/lets-become-the-master-of-dynamodb-data-
    modeling-to-become-the-master-of-serverless?slide=45
    • Ͱ΋ɺςʔϒϧލ͛ΔτϥϯβΫγϣϯ͔ͩΒͬͯ

    RDBΈ͍ͨʹਖ਼نԽͯ͠ྑ͍ͬͯצҧ͍ͪ͠ΌμϝͰ͔͢ΒͶʁʁ
    • جຊతͳઃܭํ਑͸มΘΒͳ͍
    • ৄ͘͠͸ʮDynamoDB ދͷרʯͰݕࡧ
    DynamoDB Transactions

    View Slide

  11. • DynamoDB΋͍ͭʹServerlessͷ஥ؒೖΓͰ͢Ͷʂʁʂʁ
    • ※CNCFͷServerlessఆٛͰ͸ʮΩϟύγςΟͷࣄલ༧໿ෆཁʯͱ͋Δ
    • τϥϑΟοΫมಈ͕ܹ͍࣌͠ʹͱͯ΋༗ޮͰ͢Ͷ
    • Auto Scaling͸ϕʔεͷCapacity͕ͦΕͳΓʹແ͍ͱ্ख͍͜ͱ͍͔ͳ͍
    • ߃ৗతʹτϥϑΟοΫ͕ಡΊΔ৔߹͸ߴͭ͘͘ͷͰ஫ҙ
    • ࠷ॳ͸On-DemandͰ࣮ଌ஋ݟͯ༧໿͢Δͱ͔͢Δͱྑͦ͞͏
    • ಺෦తͳPartition෼ׂͱ͔ಉ͡͸ͣͩͱࢥͬͯΔ͚ͲͲ͏ͳΜ
    DynamoDB On-Demand

    View Slide

  12. • AppSync͕ग़͔ͨΒདྷͳ͍ͷ͔ͱࢥͬͯͨ
    • StatefulͳWebSocketͷϋϯυϦϯάΛ

    StatelessͳLambdaͰͰ͖Δͷ͸ֵ໋͔΋͠Εͳ͍Ͱ͢Αʂʁ
    • 2017೥ͷre:InventͰAPI GatewayͷPMͱΈΜͳͰޠͬͨهԱ
    • ૹ৴/ड৴ͰFunction෼͚ΒΕΔͳΒΞπ͍
    • Pollingͷ๾໓ɺͦͯ͠ਅͷEvent Driven Architecture΁…ʂʂ
    • ૣ͘དྷͯʂʂ
    WebSocket support for API Gateway

    View Slide

  13. • ଧ౗Firebaseʂʂʢ͍ͬͯ͏ίϯηϓτͳͷ͔ͳͬͯʣ
    • FirebaseϗϯτΊͬͪΌָͳΜͰؤுͬͯ΄͍͠
    • ࣗ༝౓΍֦ுੑ͸Amplify(ͱؔ࿈αʔϏε)ͷํ͕ߴ͍ͱࢥ͏ͷͰ
    • AppSyncͱAmplify͸ϑϩϯτΤϯυͷ৽ඪ४ʹͳΔͱ͸ࢥͬͯΔ
    Amplify Console

    View Slide

  14. • ECS/EKS(ͱEC2)Ҏ֎ͷAWSαʔϏεͷ֤छϦιʔε΋

    HTTPϕʔεͳΒσΟεΧόϦͰ͖Δʂʂ
    • Ͱ΋ϨΠςϯγ͕՝୊
    • ΫϦΞͰ͖Ε͹ServerlessͰ΋෦෼తͳCanary Releaseͱ͔

    Blue/Green Deploymentͱ͔ྑ͍ײ͡ʹͰ͖ΔΑ͏ʹͳΔ
    • http://blog.serverworks.co.jp/tech/2018/12/04/cloudmap-serverless-discovery/
    Cloud Map

    View Slide

  15. • (ී௨ͷ)ηογϣϯߦ͔ͳ͍
    • Youtube, SlideshareͰݟΕΔ
    • Workshop, Hackathon, Chalk Talk͕Φεεϝ
    • ӳޠ࿩ͤͳͯ͘໎࿭͔͚ͯ΋2౓ͱ߹Θͳ͍֎ࠃਓͳΒྑ͘ͳ͍ʁ
    • AWSࣾһ͸͓٬͞Μ͔ͩΒ੿͍ӳޠͰ΋༏͘͠౴͑ͯ͘ΕΔ
    • ແཧʹηογϣϯͰΔ͘Β͍ͳΒฉ͖͍ͨ͜ͱΛฉ͍ͯΈΔ
    ͓·͚ʢre:Inventͷա͝͠ํʣ

    View Slide

  16. THANKS!!
    WernerͷKeynote͸ະདྷΛ୲͏։ൃऀ΁ͷϝοηʔδ
    2019೥͸Serverlessຊ֨ීٴͷ೥ͩʂʂ

    View Slide