AWS-HUB@名古屋支部【2018年12月12日】忘年会スペシャル & re.invent振り返LT大会 https://jawsug-nagoya.doorkeeper.jp/events/83623
WHAT HAS CHANGED IN THE WORLD OFSERVERLESS AT RE:INVENT 2018??MASASHI TERUI @ JAWS-UG NAGOYA 2018.12.12
View Slide
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/231241MASASHI TERUIARCHITECT / DEVELOPER
ࡳຈ͔Βདྷ·ͨ͠ؾԹ͕ࠩϠόΠ͆ʢ-10℃ → 10℃ʣ※Πϝʔδը૾Ͱ͢※ࠓேͷ༷ࢠͰͳ͚ΕɺੴङࢢʢྡͷࢢʣͰڈࡱͬͨࣸਅͰ͆͢
CEO Andy Jassy(3): Ұൠ͚ϝοηʔδCTO Werner Vogels(4): ։ൃऀ͚ϝοηʔδre:Inventͷkeynoteʢಛʹࠓ͜ͷ৭͕ڧ͍ʣ
શʹSERVERLESSਪ͠ 2ΩʔϊʔτͰͷΞοϓσʔτશͯServerlessؔ࿈
• Lambda Layers• Custom Runtime API• Step Function Service Integrations• DynamoDB Transactions• DynamoDB On-Demand• WebSocket support for API Gateway• Amplify Console• Cloud Map ※ݸਓతʹΠϯύΫτ͋Δͱࢥ͚ͬͨͭͩநग़ͯ͠·͢Serverlessؔ࿈ͷϦϦʔε
• ڞ௨ϥΠϒϥϦஔ͖ͱͯ͠ਖ਼Ͳ͏ͳΜͩΖ͏ײ• ֤ݴޠͷඪ४తͳϥΠϒϥϦཧʹͬͨํ͕ྑ͘ͳ͍ʁ• LayerͷॏͶॱΛอͭͨΊʹஞ࣍ॲཧ͞ΕΔ͔ΒSpin Up͕ଟগ͘ͳΔΒ͍͠͠(ݱঢ়)• ΞϓϦέʔγϣϯͱϥΠϑαΠΫϧͷҟͳΔ ӡ༻༻్ͷϥΠϒϥϦͱ͔ྑ͍͍ํͩͱࢥ͏• https://www.datadoghq.com/blog/datadog-lambda-layer/• ಡΈࠐΈઐ༻σʔλஔ͖ͱͯ͠༗༻• ڞ௨ઃఆϑΝΠϧͱ͔ࣙॻσʔλͱ͔• ͏ͪΐͬͱ༰ྔ(250MB)૿͑Δͱྑ͍Μ͚ͩͲͳʔ|шƅ)ŧŽŕLambda Layers
• ެࣜʹແ͍ͩ͜ΘΓͷݴޠ͕͍͍ͨΈ͍ͨͳਓʹྑ͍ʢCOBO…͍ͳΜͰͳ͍Ͱ͢• ެࣜͰྑ͍తʹ͜ΕࣗମΛ͏͔͍ͬͯ͏ΑΓAPI͕ެ։͞Εͨ͜ͱ͕େ͖͍• ެࣜͷAPIͱҧ͏• ಉ࣌ʹग़ͨRubyҰॹ• ଞݴޠʹΑͬͯ࠷దԽͯ͠Δ͔ΒͪΐͬͱϨΠςϯγʹ͕ࠩ͋Δ͔ͬͯݴͬͯͨ• Herokuͷbuildpackײ͋Δ• PaaSͬΆ͘͏ͷ࠷ૣΞϦͰ• ͏ͪΐͬͱ༰ྔ(250MB)૿͑Δͱྑ͍Μ͚ͩͲͳʔ|шƅ)ŧŽŕCustom Runtime API
• Lambdaͷ࣮ݮͬͯศརʂʂ• ಛʹ֎෦ೖྗ͕DynamoDBʹೖͬͯ͘Δ·Ͱϧʔϓ͢Δͭͱ͔• States Language͚ͩͰΞϓϦ࡞Εͦ͏ʢΒͳ͍͚Ͳ͆ʣStep Function Service Integrations
• 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
• DynamoDB͍ͭʹServerlessͷؒೖΓͰ͢Ͷʂʁʂʁ• ※CNCFͷServerlessఆٛͰʮΩϟύγςΟͷࣄલ༧ෆཁʯͱ͋Δ• τϥϑΟοΫมಈ͕ܹ͍࣌͠ʹͱͯ༗ޮͰ͢Ͷ• Auto ScalingϕʔεͷCapacity͕ͦΕͳΓʹແ͍ͱ্ख͍͜ͱ͍͔ͳ͍• ߃ৗతʹτϥϑΟοΫ͕ಡΊΔ߹ߴͭ͘͘ͷͰҙ• ࠷ॳOn-DemandͰ࣮ଌݟͯ༧͢Δͱ͔͢Δͱྑͦ͞͏• ෦తͳPartitionׂͱ͔ಉͣͩ͡ͱࢥͬͯΔ͚ͲͲ͏ͳΜDynamoDB On-Demand
• AppSync͕ग़͔ͨΒདྷͳ͍ͷ͔ͱࢥͬͯͨ• StatefulͳWebSocketͷϋϯυϦϯάΛ StatelessͳLambdaͰͰ͖Δͷֵ໋͔͠Εͳ͍Ͱ͢Αʂʁ• 2017ͷre:InventͰAPI GatewayͷPMͱΈΜͳͰޠͬͨهԱ• ૹ৴/ड৴ͰFunction͚ΒΕΔͳΒΞπ͍• Pollingͷ໓ɺͦͯ͠ਅͷEvent Driven Architecture…ʂʂ• ૣ͘དྷͯʂʂWebSocket support for API Gateway
• ଧFirebaseʂʂʢ͍ͬͯ͏ίϯηϓτͳͷ͔ͳͬͯʣ• FirebaseϗϯτΊͬͪΌָͳΜͰؤுͬͯ΄͍͠• ࣗ༝֦ுੑAmplify(ͱؔ࿈αʔϏε)ͷํ͕ߴ͍ͱࢥ͏ͷͰ• AppSyncͱAmplifyϑϩϯτΤϯυͷ৽ඪ४ʹͳΔͱࢥͬͯΔAmplify Console
• 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
• (ී௨ͷ)ηογϣϯߦ͔ͳ͍• Youtube, SlideshareͰݟΕΔ• Workshop, Hackathon, Chalk Talk͕Φεεϝ• ӳޠͤͳͯ͘໎͔͚ͯ2ͱ߹Θͳ͍֎ࠃਓͳΒྑ͘ͳ͍ʁ• AWSࣾһ͓٬͞Μ͔ͩΒ͍ӳޠͰ༏͑ͯ͘͘͠ΕΔ• ແཧʹηογϣϯͰΔ͘Β͍ͳΒฉ͖͍ͨ͜ͱΛฉ͍ͯΈΔ͓·͚ʢre:Inventͷա͝͠ํʣ
THANKS!!WernerͷKeynoteະདྷΛ୲͏։ൃऀͷϝοηʔδ2019Serverlessຊ֨ීٴͷͩʂʂ