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

AWS 기반 서버리스 아키텍쳐 톺아보기

AWS 기반 서버리스 아키텍쳐 톺아보기

제38차 Kodeveloper 고군분투기 발표자료 입니다.

Taewoo Kim

May 14, 2020
Tweet

More Decks by Taewoo Kim

Other Decks in Programming

Transcript

  1. AWS ӝ߈ ࢲߡܻझ ইఃఫ୛ ిইࠁӝ
    ઁ38ର Ҋҵ࠙ైӝ #kodeveloper
    ߊ಴੗ : ӣక਋

    View full-size slide

  2. ߊ಴੗ ࣗѐ
    • AWS Solutions Architect, Classmethod Inc.ʢΫϥεϝιουגࣜձࣾʣ
    • 2020 APN AWS Top Engineers
    • AWS x9 Certified Engineer
    • Front-end, Back-end, Android, iOS, Machine Learning, Computer Vision, etc
    • Full Stack Serverless on AWS ߂ AWS ࢚ীࢲ੄ ׮নೠ ইఃఫ୛ ಁఢਸ োҳೞݴ ழܻযܳ ऺח ઺
    https://dev.classmethod.jp/author/kim-taewoo/
    ೠҴয & ੌࠄয ӝࣿ࠶۽Ӓ

    View full-size slide

  3. ߊ಴ղਊী ؀ೞৈ
    • “ࢲߡܻझо ޖ঺ੋ૑ח ؀ۚ উ׮”, “AWS Lambda о ޥ૑ח উ׮” ੿ب੄ ੹ઁ۽ ߊ಴
    ղਊਸ ળ࠺೮णפ׮.

    • ੑޙ੗ࠁ׮ח ઱۽ ࢲߡܻझ ୡә ߂ ઺әࢎਊ੗ ੉࢚੄ ٜ࠙ਸ ਤೠ ղਊੑפ׮.

    • ҳ୓੸ੋ ௏٘ ۨ߰ীࢲ੄ ࢸݺࠁ׮ח ࢲߡܻझ ੹ۚ ߂ ࢎҊߑध ١ী ୡ੼ਸ ݏ୸ ղਊੑפ
    ׮.

    • API Gateway + Lambda + DynamoDB э੉, ੉ઁח ൔ൤ ঌ۰૓ ಁఢ੉ ইצ ୭न ࢲߡ
    ܻझ زೱী ؀೧ࢲب ੉ঠӝ೤פ׮.

    • ߊ಴઱ઁ੄ ߧਤо ࢚׼൤ ևणפ׮.

    ߊ಴੗ܐח ૊द ҕѐغ޲۽ ݽٚ ղਊਸ ૑Ә ׼੢ ೠߣী ੉೧ೞप ೙ਃח হणפ׮ :)

    View full-size slide

  4. द੘ೞӝ ੹ী

    View full-size slide

  5. ࢲߡܻझ ੑޙ ੗ܐח ݆਷ؘ…
    • AWS ӝ߈ ࢲߡܻझ ਕ௼ࢪ ੗ܐա ೩ૉৡ ١਷ ݆਷ؘ Ѣ੄ ׮ ੑ
    ޙ ࣻળ… ׮਺ ױ҅۽ աইоӝ ਤೠ ੗ܐח হਸө?

    • AWS re:Invent / AWS Summit ١੄ ࣁ࣌ ҕѐ ৔࢚ਸ ࠁݶࢲ ҕ
    ࠗೞݶ غӟ ೞѷ૑݅, ޥо ੿ܻػ ੗ܐо ੓ਵݶ જѷחؘ…

    • ࢲߡܻझܳ ࠄѺ੸ਵ۽ সޖী ഝਊೞӝ ਤ೧ ੿ܻػ ੗ܐо ࠗ઒
    ೧.. ౠ൤ ೠӖ ੗ܐח ଺ਸࣻо হ֎..

    • AWS ੄ ӝמ੉ ݆Ҋ જ਷Ѥ ঌѷחؘ যڌѱ ഝਊ೧ঠೡ૑ ݄݄ೞ
    ֎.. ౠ൤ ࢲߡܻझח ب؀୓ ޤо ׮ܲѢ૑?

    View full-size slide

  6. AWS ੄ ੗ܐח ഴܯ೤פ׮!!
    • BUT!!! ࢲߡܻझ ੑޙ੗ٜ੉ ઺әױ҅ ੉࢚ਵ۽ ֈযоӝ ਤೠ ੗ܐ
    ח ѐੋ੸ਵ۽ డহ੉ ࠗ઒ೞ׮Ҋ וՙҊ ੓णפ׮

    • ݆ࣻ਷ ࢗ૕ਸ ా೧ ঳যմ Үളਸ ҕਬೞ૑ ঋਵݶ ׮ܲ ࢎۈٜب
    ޖೠ൤ ࢗ૕ਸ ߈ࠂೡ ࡺ੉ભ

    • Ӓېࢲ ੉ ߊ಴੗ܐо ࢲߡܻझী ੑޙ೧ࢲ ׮਺ ױ҅۽ աইоҊ੗
    ೞח ৈ۞ٜ࠙ਸ ਤೠ ӡۄ੟੉о غݶ જѷ׮ח ݃਺ਵ۽ ߊ಴ܳ ળ
    ࠺೮णפ׮ :)

    View full-size slide

  7. SERVERLESS IS NOT JUST A TREND

    View full-size slide

  8. ࢲߡܻझ ѐਃ

    View full-size slide

  9. ࢲߡܻझ੄ ౠ૚
    • AWS Lambda != Serverless
    • NoOps - ҙܻೡ ࢲߡо হ਺

    • Built-in Fault Tolerance (HA), Automatic Scaling, …

    • Cost Effective - पઁ۽ ࢎਊೠ ݅ఀী ؀೧ࢲ݅ ࠺ਊ ૑ࠛ

    • AWS ࢲߡܻझ ஹೊ౴ ࢲ࠺झח Lambda / Fargate ١

    • ࣛ૒൤, ݒפ૑٘ ࢲ࠺झ৬੄ ҃҅о ডр ݽഐೠ ݶ੉ ੓णפ׮

    View full-size slide

  10. AWS Lambda ੄ ౠ૚
    • ੉੹ ಕ੉૑੄ ࢲߡܻझ੄ ౠ૚ ੹ࠗܳ ನೣ

    • Stateless о ӝࠄ੸ੋ ੹ઁ (Global scope ߸ࣻ ੤ࢎਊ ١੄ Hacky ೠ ղਊ ઁ৻)

    • Cold Start ۄח ѐ֛੉ ઓ੤ (૑Ә਷ Provisioned Concurrency ۽ ೧Ѿоמ)

    • Custom Runtime ૑ਗ - ਗೞח ജ҃ ߂ ঱য۽ ѐߊ оמ

    • पઁ ഝਊࢎ۹о ਕբ ׮ন೧ࢲ, AWS ੄ ׮নೠ ࢲ࠺झ р੄ “੽଱ઁ” э਷ ו՝

    View full-size slide

  11. ৵ ࢲߡܻझܳ ߓਕঠೡөਃ?
    • ѾҴ਷ ࠺ૉפझ - ࠺ૉפझী যڃ о஖ܳ ઁҕೡ ࣻ ੓ਸөо ೨ब!

    • ࢤ࢑ࢿ/উ੿ࢿ/न܉ࢿ/ഛ੢ࢿ/ਬোࢿ/҃ઁࢿ ١ਸ ࣚऔѱ ഛࠁೡ ࣻ ੓਺

    • ؀ӏݽ ౟ې೗, ؀ӏݽ ੉߮౟୊ܻ ١੄ ؀ӏݽ ࢲ࠺झী ݒ਋ ബҗ੸

    • झఋ౟স ~ ؀ӝস ӏݽө૑ ׮নೠ ҳ୷ࢎ۹о ੉޷ ֈ୛թ

    • ӒܻҊ….. ੉޷ ঌѱݽܰѱ ׮ٜ ࢲߡܻझ ࢲ࠺झܳ ࢎਊೞҊ ҅भפ׮

    View full-size slide

  12. ৵ ࢲߡܻझܳ ߓਕঠೡөਃ?
    • ѾҴ਷ ࠺ૉפझ - ࠺ૉפझী যڃ о஖ܳ ઁҕೡ ࣻ ੓ਸөо ೨ब!

    • ࢤ࢑ࢿ/উ੿ࢿ/न܉ࢿ/ഛ੢ࢿ/ਬোࢿ/҃ઁࢿ ١ਸ ࣚऔѱ ഛࠁೡ ࣻ ੓਺

    • ؀ӏݽ ౟ې೗, ؀ӏݽ ੉߮౟୊ܻ ١੄ ؀ӏݽ ࢲ࠺झী ݒ਋ ബҗ੸

    • झఋ౟স ~ ؀ӝস ӏݽө૑ ׮নೠ ҳ୷ࢎ۹о ੉޷ ֈ୛թ

    • ӒܻҊ….. ੉޷ ঌѱݽܰѱ ׮ٜ ࢲߡܻझ ࢲ࠺झܳ ࢎਊೞҊ ҅भפ׮
    CloudWatch
    AppSync
    IAM
    DynamoDB
    API Gateway
    Glue
    Cognito
    Fargate Batch S3
    CloudSearch
    EventBridge
    IoT
    CodeBuild
    Polly
    Comprehend Step Functions WAF
    GuardDuty
    Shield

    View full-size slide

  13. ৵ ࢲߡܻझܳ ߓਕঠೡөਃ?
    • ѾҴ਷ ࠺ૉפझ - ࠺ૉפझী যڃ о஖ܳ ઁҕೡ ࣻ ੓ਸөо ೨ब!

    • ࢤ࢑ࢿ/উ੿ࢿ/न܉ࢿ/ഛ੢ࢿ/ਬোࢿ/҃ઁࢿ ١ਸ ࣚऔѱ ഛࠁೡ ࣻ ੓਺

    • ؀ӏݽ ౟ې೗, ؀ӏݽ ੉߮౟୊ܻ ١੄ ؀ӏݽ ࢲ࠺झী ݒ਋ ബҗ੸

    • झఋ౟স ~ ؀ӝস ӏݽө૑ ׮নೠ ҳ୷ࢎ۹о ੉޷ ֈ୛թ

    • ӒܻҊ….. ੉޷ ঌѱݽܰѱ ׮ٜ ࢲߡܻझ ࢲ࠺झܳ ࢎਊೞҊ ҅भפ׮
    CloudWatch
    AppSync
    IAM
    DynamoDB
    API Gateway
    Glue
    Cognito
    Fargate Batch S3
    CloudSearch
    EventBridge
    IoT
    CodeBuild
    Polly
    Comprehend Step Functions WAF
    GuardDuty
    Shield
    ࢎप Ѣ੄ ׮ ࢲߡܻझભ…!!

    View full-size slide

  14. ࢲߡܻझח ౟۪٘о ইצ ޷ې
    • Full Stack Serverless by Nader Dabit (@dabit3)

    https://www.oreilly.com/library/view/full-stack-serverless/
    9781492059882/
    • Full Stack Development in the Era of Serverless
    Computing

    https://egghead.io/lessons/egghead-egghead-talks-full-
    stack-development-in-the-era-of-serverless-computing
    • Serverless - the future of software architecture?

    https://read.acloud.guru/serverless-the-future-of-software-
    architecture-d4473ffed864

    View full-size slide

  15. Ӓ۞ա!! ࢤп݅ఀ औ૑ח ঋભ
    • ࢲߡܻझ ইఃఫ୛ח default о MSA —> MSA ী ؀ೠ Ө੉੓ח ੉೧о ೙ࣻ

    • ؀ࠗ࠙੄ ѐߊ੗ٜ੉ Server-based ੄ ࢎҊߑधীࢲ ߩযա૑ ޅೞҊ ੓׮

    • Ҷ੉ উॄب غח ௏٘ܳ ੗Բ ॳ۰Ҋ ೠ׮ (Less is better)

    • ೐ۿ౟ূ٘ীࢲ ೞݶ ؼ Ѧ ੗Բ ߔূ٘ীࢲ ୊ܻೞ۰Ҋ ೠ׮ (Rich Client)

    • SaaS بੑਸ ԁ۰ೠ׮

    View full-size slide

  16. ࢲߡܻझ ੹ജਸ ਤೠ ੹ۚ ߂ ࢎҊߑध

    View full-size slide

  17. ࢲߡܻझ ੹ۚ ߂ ࢎҊߑध
    • MSA (Microservices Architecture) ܳ Ө੉੓ѱ ੉೧ೞ੗

    • Event-driven ߑधী ੊ࣼ೧૑੗

    • ࢲߡܻझ ਕ௼೒۽਋ ܳ ٣੗ੋೞ੗

    • Rich Client ח աࢂ Ѫ੉ ইפ׮
    • SaaS بੑ਷ ݃ҳ݃ҳ

    • No code is the best code

    View full-size slide

  18. ੗! ೞաঀ оࠁѷणפ׮ :)

    View full-size slide

  19. MSA ܳ Ө੉੓ѱ ੉೧ೞ੗

    View full-size slide

  20. Microservices Architecture
    • Ӓր ࢲ࠺झ߹۽ ଂѐ֬ӝ݅ ೞݶ MSA ܳ ੜ ೞח Ѧөਃ..?

    • MSA ח ੿݈ য۵णפ׮…

    • ੢դইפҊ ૓૞۽ য۵׮ҳਃ!!! (Ӕষ૓૑)

    View full-size slide

  21. MSA ח ৵ য۰਎өਃ?
    • ݽפఠ݂਷? 

    ࢲ࠺झ ࠂ੟ب ҙܻח?

    ࢲ࠺झ߹ द௸ܻ౭ח?

    ࢲ࠺झ߹ ߡ੹ҙܻח? 

    ࢲ࠺झ ѐߊद ٣ߡӦ਷?

    ࢲ࠺झр੄ ౟ے੥࣌ ୊ܻח? 

    ా೤ ۽Ӧ୊ܻח? 

    ੢গ ࢚ടद ੘਷ ࢲ࠺झ ೞա۽ ੋ೧ ੹୓ ࢲ࠺झо લ૑ ঋਵ۰ݶ?

    ੢গ ࢚ടद ౟۞࠶ ग౴਷?

    ࢲ࠺झ߹ ߓನ੹ۚ਷?

    పझ౴਷?

    ࢲ۽ ׮ܲ ࢲ࠺झܳ ׸׼ೞח ౱ р੄ ࣗా ߂ ઑਯ਷?

    ࢲ࠺झܳ ଂєਵ۽ ੋ೧ ߊࢤೞח ಌನݢझ য়ߡ೻٘ ҙܻח? ??????
    ݆ࣻ਷ ࢲ࠺झ ূ٘ನੋ౟ ҙܻח?

    View full-size slide

  22. ݆ࣻ਷ ࢲ࠺झ ূ٘ನੋ౟ ҙܻח?
    MSA ח ৵ য۰਎өਃ?
    • ݽפఠ݂਷? 

    ࢲ࠺झ ࠂ੟ب ҙܻח?

    ࢲ࠺झ߹ द௸ܻ౭ח?

    ࢲ࠺झ߹ ߡ੹ҙܻח? 

    ࢲ࠺झ ѐߊद ٣ߡӦ਷?

    ࢲ࠺झр੄ ౟ے੥࣌ ୊ܻח? 

    ా೤ ۽Ӧ୊ܻח? 

    ੢গ ࢚ടद ੘਷ ࢲ࠺झ ೞա۽ ੋ೧ ੹୓ ࢲ࠺झо લ૑ ঋਵ۰ݶ?

    ੢গ ࢚ടद ౟۞࠶ ग౴਷?

    ࢲ࠺झ߹ ߓನ੹ۚ਷?

    పझ౴਷?

    ࢲ۽ ׮ܲ ࢲ࠺झܳ ׸׼ೞח ౱ р੄ ࣗా ߂ ઑਯ਷?

    ࢲ࠺झܳ ଂєਵ۽ ੋ೧ ߊࢤೞח ಌನݢझ য়ߡ೻٘ ҙܻח? ??????
    Monolithic architecture ীࢲ Ӓր ೧ب য۰਍ؘ
    Ҷ੉ ଂѐח ߄ۈী ؊؊؊ য۰ਕ઎णפ׮ƕƕ

    View full-size slide

  23. Ӓۢ ب؀୓ ৵…

    ࢲ࠺झܳ ܻ࠙ೞח Ѧөਃ?

    View full-size slide

  24. Microservices Architecture
    • য۵ӟ ೞ૑݅, ׼ো൤, بੑೞݶ જ਷ ੼੉ ؊ ݆ਵפө Ӓۧѷભ?!

    [઱੄] Monolithic architecture ী ࠺೧ ೦࢚ Microservices architecture о ਋ਘೞ׮ח ڷ਷ ইתפ׮)

    • ઁо ࢤпೞח ࣗ೐౟ਝয ѐߊীࢲ о੢ ઺ਃೞҊ ೨ब੸ੋ فо૑ о஖

    : Productivity AND Reusability —> Monolith ࠁ׮ MSA ীࢲ पഅदఃח Ѫ੉ औणפ׮
    • (Monolithic architecture ৬ ࠺Ү೮ਸ ٸ) 

    MSA ח 

    - scalable (؀ӏݽ ࠗೞ ୊ܻী ੸೤ೞҊ) 

    - reusable (ࢲ࠺झ ੤ࢎਊࢿ੉ ֫ই૑Ҋ)

    - flexible (ইఃఫ୛о ਬোೞҊ)

    - testable (పझ౟ೞӝ औҊ)

    - resilient (؊ ѼҊೞҊ)

    - highly available (؊ ֫਷ оਊࢿਸ ഛࠁೞӝ औҊ)

    - quicker release cycle (ߓನ઱ӝо ؊ ૣҊ) AND SO MANY GOOD THINGS!

    View full-size slide

  25. Բળೣ੄ ޷೟
    • જ਷ Ѥ ׮ ঌѷ૑݅, पઁ۽ بੑ೧ࠁݶ য۰਍ ੼੉ ݆णפ׮.

    • MSA ী ؀ೠ Ө਷ ੉೧ܳ ਤ೧ Բળ൤ ೠ ష೗ঀ ੉೧೧ աоח ֢۱੉ ઺ਃ೤פ׮.

    —> ੉ җ੿ਸ ഒ੗ ೞ૑ ݃दҊ ౱ਗٜ࠙җ ೣԋೞݶࢲ ޙചܳ ٜ݅যաоח Ѫ੉ ؊ ઺ਃ೤פ׮.

    • MSA ܳ पઁ۽ بੑೞӝ ਤ೧ࢲח ױࣽ൤ ࣗ೐౟ਝয ইఃఫ୛݅ Ҋ۰ೡ Ѫ੉ ইפۄ, 

    ౱ ޙച ߂ ౱ਗٜ੄ מ۱ ١੉ ؊ ઺ਃೞѱ Ҋ۰غযঠ೤פ׮.

    • ࢲߡܻझ ইఃఫ୛ܳ ٣੗ੋೞ׮ࠁݶ MSA ҙ۲ ׮নೠ ӝߨٜਸ ഝਊೡ ࣻ ੓ח ҃਋о ݆ਵ޲۽,

    ಣࣗী MSA ী ؀೧ Բળೠ ҙबҗ ҃೷ਸ ऺ׮ࠁݶ ߈٘द ب਑੉ ؾפ׮!!

    View full-size slide

  26. (ଵҊ) AWS ࢲߡܻझীࢲח
    • ݽפఠ݂਷? 

    ࢲ࠺झ ࠂ੟ب ҙܻח?

    ࢲ࠺झ߹ द௸ܻ౭ח?

    ࢲ࠺झ߹ ߡ੹ҙܻח? 

    ࢲ࠺झ ѐߊद ٣ߡӦ਷?

    ࢲ࠺झр੄ ౟ے੥࣌ ୊ܻח? 

    ా೤ ۽Ӧ୊ܻח? 

    ੢গ ࢚ടद ੘਷ ࢲ࠺झ ೞա۽ ੋ೧ ੹୓ ࢲ࠺झо લ૑ ঋਵ۰ݶ?

    ੢গ ࢚ടद ౟۞࠶ ग౴਷?

    ࢲ࠺झ߹ ߓನ੹ۚ਷?

    పझ౴਷?

    ࢲ۽ ׮ܲ ࢲ࠺झܳ ׸׼ೞח ౱ р੄ ࣗా ߂ ઑਯ਷?

    ࢲ࠺झܳ ଂєਵ۽ ੋ೧ ߊࢤೞח ಌನݢझ য়ߡ೻٘ ҙܻח?
    CloudWatch Metrics / ݽפఠ݂ SaaS ࣛܖ࣌ ١
    X-Ray / AppMesh / Step Functions
    IAM Role ਸ ాೠ ӂೠ ҙܻ / ACM ߂ KMS ܳ ాೠ ੋૐࢲ ߂ ఃҙܻ ١
    git ١ਸ ాೠ ௏٘ ഋ࢚ҙܻ + ߓನ ױਤ߹ IaC (CDK ١)
    Service Lens (഑਷ X-Ray) ৬ ೣԋ CloudWatch Logs
    Step Functions ܳ ాೠ Distributed Sagas ҳഅ
    CloudWatch Logs ܳ ాೠ centralized logging
    SQS ۽ resiliency
    Service Lens ഑਷ Epsagon ١੄ ࣛܖ࣌ ੸ӓ ഝਊ
    ߓನױਤܳ ੜ ޘযࢲ CodeDeploy ܳ ాೠ Canary ߓನ
    Integration Testing ߂ E2E పझ౴ ਤ઱۽
    Scrum ߂ Agile ਸ ઑ૒੄ ౠࢿী ݏѱ
    ۨ੉য ߹۽ நद ੹ۚਸ ੸੺൤
    ݆ࣻ਷ ࢲ࠺झ ূ٘ನੋ౟ ҙܻח? AppSync ܳ ాೠ BFF ಁఢ ഝਊ
    ࠄ ठۄ੉٘ী աৌೠ Ѫٜࠁ׮ ഻ঁ ׮নೠ ࣛܖٜ࣌੉ ઓ੤ೞ޲۽ ଵҊ݅ ೧઱ࣁਃ :)

    View full-size slide

  27. (ଵҊ) AWS ࢲߡܻझীࢲח
    • ݽפఠ݂਷? 

    ࢲ࠺झ ࠂ੟ب ҙܻח?

    ࢲ࠺झ߹ द௸ܻ౭ח?

    ࢲ࠺झ߹ ߡ੹ҙܻח? 

    ࢲ࠺झ ѐߊद ٣ߡӦ਷?

    ࢲ࠺झр੄ ౟ے੥࣌ ୊ܻח? 

    ా೤ ۽Ӧ୊ܻח? 

    ੢গ ࢚ടद ੘਷ ࢲ࠺झ ೞա۽ ੋ೧ ੹୓ ࢲ࠺झо લ૑ ঋਵ۰ݶ?

    ੢গ ࢚ടद ౟۞࠶ ग౴਷?

    ࢲ࠺झ߹ ߓನ੹ۚ਷?

    పझ౴਷?

    ࢲ۽ ׮ܲ ࢲ࠺झܳ ׸׼ೞח ౱ р੄ ࣗా ߂ ઑਯ਷?

    ࢲ࠺झܳ ଂєਵ۽ ੋ೧ ߊࢤೞח ಌನݢझ য়ߡ೻٘ ҙܻח?
    CloudWatch Metrics / ݽפఠ݂ SaaS ࣛܖ࣌ ١
    X-Ray / AppMesh / Step Functions
    IAM Role ਸ ాೠ ӂೠ ҙܻ / ACM ߂ KMS ܳ ాೠ ੋૐࢲ ߂ ఃҙܻ ١
    git ١ਸ ాೠ ௏٘ ഋ࢚ҙܻ + ߓನ ױਤ߹ IaC (CDK ١)
    Service Lens (഑਷ X-Ray) ৬ ೣԋ CloudWatch Logs
    Step Functions ܳ ాೠ Distributed Sagas ҳഅ
    CloudWatch Logs ܳ ాೠ centralized logging
    SQS ۽ resiliency
    Service Lens ഑਷ Epsagon ١੄ ࣛܖ࣌ ੸ӓ ഝਊ
    ߓನױਤܳ ੜ ޘযࢲ CodeDeploy ܳ ాೠ Canary ߓನ
    Integration Testing ߂ E2E పझ౴ ਤ઱۽
    Scrum ߂ Agile ਸ ઑ૒੄ ౠࢿী ݏѱ
    ۨ੉য ߹۽ நद ੹ۚਸ ੸੺൤
    ݆ࣻ਷ ࢲ࠺झ ূ٘ನੋ౟ ҙܻח? AppSync ܳ ాೠ BFF ಁఢ ഝਊ
    ࠄ ठۄ੉٘ী աৌೠ Ѫٜࠁ׮ ഻ঁ ׮নೠ ࣛܖٜ࣌੉ ઓ੤ೞ޲۽ ଵҊ݅ ೧઱ࣁਃ :)
    ઁо AWS ܳ ࢎیೞח ੉ਬ੉ભ!!!
    AWS о ݎೞݶ աب ݎೠ׮!!

    View full-size slide

  28. Event Driven ߑधী ੊ࣼ೧૑੗

    View full-size slide

  29. Event Driven
    • ࢲ۽ ܻ࠙ػ ࢲ࠺झٜ р੄ ౟ܻѢ ഑਷ ాनਸ ਤ೧ ੉߮౟о ࢎਊؽ

    • ੉߮౟ ܻ٘࠵ ইఃఫ୛ীࢲ੄ ೨ब੸ੋ 3о૑ ਃࣗ

    - Event Producers

    - Event Routers

    - Event Consumers

    View full-size slide

  30. Event Driven
    Business
    Logic
    Push event Pull event
    Event store

    View full-size slide

  31. Event Driven
    Service A Event Router
    Service B
    Service C
    Service D

    View full-size slide

  32. Event Driven
    Service A
    Service B
    Service C
    Service D
    SNS
    SQS
    SQS
    SQS

    View full-size slide

  33. Event Driven
    Service A
    Service B
    Service C
    Service D
    EventBridge
    Event Bus
    Event Rules

    View full-size slide

  34. Event Driven
    Service B
    Service C
    Service D
    EventBridge
    Event Bus
    Event Rules

    View full-size slide

  35. Event Driven
    • SQS / SNS / Kinesis / EventBridge ١ਸ ੸ӓ੸ਵ۽ ഝਊೞݶ ؊ ֫਷ ࣻળ
    ੄ resiliency ܳ ഛࠁೡ ࣻ ੓Ҋ, ਬোೠ ইఃఫ୛ܳ ҳࢿೡ ࣻ ੓णפ׮

    • ؀ӏݽ ࢲ࠺झীࢲח ࢎप, ੉߮౟ ܻ٘࠵੉ “੿׹” ੑפ׮

    : ੉߮౟ ܻ٘࠵ ߑध੉ ইפݶ ࣻभর ױਤ੄ ਃ୒ਸ resilient ೞѱ ୊ܻೡ ࣻ ੓
    ח ߑߨ੉ হणפ׮

    —> ؀ӏݽ ౟ې೗ ୊ܻী ੸೤ೠ ࢲߡܻझ੄ ౠ૚ਸ ੜ ഝਊೞӝ ਤ೧ࢲח ੉߮
    ౟ ܻ٘࠵਷ ࢶఖ੉ ইצ ೙ࣻ੸੉ભ

    • AWS ীࢲ ઁҕ೧઱ח ੉߮౟ ҙ۲ ࢲ࠺झੋ SQS / SNS / Kinesis /
    EventBridge ܳ ઁ؀۽ ੉೧ೞҊ ഝਊೞח Ѫ਷ AWS ӝ߈ ࢲߡܻझ ѐߊ੗੄
    ӝࠄ੸੉ݶࢲب ޖ঺ࠁ׮ب ઺ਃೠ झఆ੉ۄҊ ࢤп೤פ׮ :)

    View full-size slide

  36. Event Driven
    • ੉߮౟ ܻ٘࠵੉ աীѱب ೙ਃೡө?

    - self-contained ౟ے੥࣌ ੿ࠁܳ ੉߮౟۽ ੹׳ೞ۰Ҋ ೠ׮ݶ?

    - ࢎਊೞח ࢲ࠺झীࢲ ਬਊೠ event ܳ ઁҕ೧઱Ҋ ੓׮ݶ?

    - п ݃੉௼۽ࢲ࠺झܳ ৮੹൤ ܻ࠙दః۰Ҋ ೞחо?

    - PubSub ߑध੉ ೙ਃೠо?

    View full-size slide

  37. Event Driven
    • ੉߮౟ ܻ٘࠵ ߑधਵ۽ ࢸ҅ೡ ٸ Ҋ۰ೡ ੼਷?

    - Strict ordering (੉߮౟ ࣽࢲ੄ ઺ਃࢿ)

    - Deduplication (઺ࠂػ ੉߮౟ ઁѢ)

    - Point-To-Point vs. Publish/Subscribe (୹ߊ૑৬ ݾ੸૑ ੿੄)

    - Push vs. Pull (੉߮౟ ࣻनߑध ੿੄)

    - Latency Profile (੉߮౟ ୊ܻ ࣘب੄ ࠙ನ ࠺ਯ)

    - Serverless vs. Broker/Cluster (੉߮౟ ೩ٜ݂ ೒ۖಬ ࢶఖ)

    - Filtering vs. Firehose (੉߮౟ ೙ఠ݂ ೙ਃࢿ)

    - Data blobs vs. structured objects (੉߮౟ ؘ੉ఠ ഋध ੿੄)

    View full-size slide

  38. ࢎप re:Invent 2019 ࣁ࣌݅
    ࠁदҊ ੉೧ೞदݶ ৮߷೤פ׮!!!

    View full-size slide

  39. Event Driven
    ଵҊ੗ܐ
    https://www.youtube.com/watch?v=h46IquqjF3E

    View full-size slide

  40. Event Driven
    ଵҊ੗ܐ
    https://www.youtube.com/watch?v=h46IquqjF3E

    View full-size slide

  41. Event Driven
    ଵҊ੗ܐ
    https://www.youtube.com/watch?v=h46IquqjF3E

    View full-size slide

  42. Event Driven
    ଵҊ੗ܐ
    https://www.youtube.com/watch?v=h46IquqjF3E

    View full-size slide

  43. Event Driven
    https://www.youtube.com/watch?v=h46IquqjF3E
    ଵҊ੗ܐ

    View full-size slide

  44. Event Driven
    • AWS re:Invent 2019: Moving to event-driven architectures
    (SVS308-R1)

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

    ղਊ ৮੹ જणפ׮!! ԙ ࠁࣁਃ!!!
    • AWS Summit Online Korea (2020)

    : ੉߮౟ ܻ٘࠵ ইఃఫ୛ ҳ୷ਸ ਤೠ ੸੺ೠ য೒ܻா੉࣌ ా೤ ࢲ࠺झ ࢶఖ ߂
    ࢎਊߑߨ (ӣࢿ૓ש, Solutions Architect, AWS)

    ਤ੄ re:Invent ੄ ߊ಴ղਊਸ ೠҴয۽ औѱ ಽযࢲ ࢸݺ೧઱࣑णפ׮.

    ࣁ࣌ ৔࢚੉ ҕѐغݶ ԙ ࠁࣁਃ!!!

    View full-size slide

  45. Amazon EventBridge
    • re:Invent 2019 ীࢲ ࢜܂ѱ ߊ಴ೠ ࢲ࠺झ

    • ੉߮౟ ӝ߈ ࢲ࠺झ੄ GOTO ࢲ࠺झо ؼ Ѫ э਷ ו՝

    • Event Bus ܳ ੿੄ೞҊ Event Bus ݃׮ Rule ਸ ੿੄ೣ

    • AWS ੉৻੄ SaaS ೒ۖಬ (Zendesk, Auth0, Epsagon ١) җ੄ ੋపӒۨ੉࣌ب ૑ਗ

    https://aws.amazon.com/eventbridge/integrations/

    • Amazon EventBridge Schema Registry (2020/4/30 GA) ܳ ੉ਊೞݶ ੉߮౟ झః݃
    ١۾ ߂ ҙܻо ݒ਋ рಞ೧૗

    View full-size slide

  46. ࢲߡܻझ ਕ௼೒۽਋ܳ ٣੗ੋೞ੗

    View full-size slide

  47. ࢲߡܻझۄҊ ೞݶ

    ࠺زӝ(Asynchronous) о ځয়ܰदաਃ?

    View full-size slide

  48. ࠺زӝܳ ੄धೞ૑ ঋਵݶ
    Client Service B
    Service A
    Service A о ೞ৏হ੉ ӝ׮ܻח दр = Client о ࠛ೙ਃೞѱ ӝ׮ܻח दр
    Service A о

    ؀ӝ೧ঠೞח दр

    View full-size slide

  49. ௿ۄ੉঱౟ীࢲ ਕ௼೒۽਋ ҙܻ
    Client Service B
    Service A
    ௿ۄ੉঱౟ীࢲ ਕ௼೒۽਋ܳ ૒੽ ҙܻೞח ߑध —> ௿ۄ੉঱౟ীࢲ੄ ࠂ੟بо ೙ਃ੉࢚ਵ۽ ݆੉ ֫ই૕ оמࢿ

    View full-size slide

  50. ࠺زӝ ୊ܻߑध
    Client Service B
    Service A
    SQS / SNS / Kinesis / EventBridge ١ਸ ഝਊೞৈ ࢲ࠺झܳ וटೠ ઑ೤(loosely coupled)ਵ۽ ҳࢿ೤פ׮

    View full-size slide

  51. ࠺زӝ ୊ܻߑध
    Client Service B
    Service A
    Client ীࢲ Service B ੄ ੘স੉ ՘լח૑ ഛੋೞח ߑߨ 1

    Client ীࢲ ઱ӝ੸ਵ۽ ServiceB ੄ ੘স੉ ՘լח૑ ޛযࠄ׮

    View full-size slide

  52. ࠺زӝ ୊ܻߑध
    Client Service B
    Service A
    Client ীࢲ Service B ੄ ੘স੉ ՘լח૑ ഛੋೞח ߑߨ 2

    Service B ীࢲ Client ী hook ਸ Ѧযળ׮ (оמೠ ҃਋ী ೠೣ)

    View full-size slide

  53. ࠺زӝ ୊ܻߑध
    Client Service B
    Service A
    Client ীࢲ Service B ੄ ੘স੉ ՘լח૑ ഛੋೞח ߑߨ 3

    Pub/Sub ӝ߈ਵ۽ ੉߮౟ܳ ࣻनೠ׮

    View full-size slide

  54. Ӕؘ ਃ્ীח ખ ׳ۄਃ
    • ਕ௼೒۽਋ܳ ҳࢿೞח ࢲ࠺झ ࣻо ݆ই૑ݶ ؊਌ ࠂ੟ೠ ҳࢿ੉ ؽ

    :
    Step Functions ܳ ా೧ ਕ௼೒۽਋ܳ औѱ ҙܻೞ੗!

    • ਕ௼೒۽਋ח ٸ۽ח ౟ے੥࣌ਵ۽ ஂәغযঠೡ ٸب ੓਺

    :
    Step Functions ܳ ా೧ ࠙࢑ ౟ے੥࣌ਸ ҳഅೞ੗!

    View full-size slide

  55. Step Functions ܳ ాೠ ࠙࢑ ౟ے੥࣌ ҳഅ
    • ࢲߡܻझ ইఃఫ୛ח ӝࠄ੸ਵ۽ MSA о غӝ ٸޙী, 

    ࢲ࠺झр੄ ౟ے੥࣌ਸ Ҋ۰ೡ ೙ਃо ੓਺

    • ੉ ٸ, ౟ے੥࣌ ୊ܻܳ ೐ۿ౟ীࢲ ೡ ૑, ߔূ٘ীࢲ
    ೡ ૑੄ Ѿ੿੉ ೙ਃ

    • Ѿઁա ઱ޙ ١۾ ١੄ ੿݈ ઺ਃೠ ӝמٜী ؀೧ࢲח 

    AWS Step Functions ਸ ഝਊೞৈ ߔূ٘ীࢲ ୊ܻ

    • ੗ࣁೠ ղਊ਷ ইې ࠶۽Ӓܳ ଵઑ

    https://dev.classmethod.jp/articles/serverless-
    for-order-system-jawsdays2020-korean/
    ੉ߣ section ীࢲ ׮ܖҊ੗ ೠ ղਊ੉ ׮ ٜযо੓णפ׮ :)

    View full-size slide

  56. Rich Client
    ৡۄੋ ઱ޙ ࢲ࠺झܳ ࢲߡܻझ ইఃఫ୛۽ ҳ୷ೞӝ #࠙࢑౟ے੥࣌ #पदрؘ੉ఠझ౟ܻ߁

    View full-size slide

  57. Rich Client ח աࢂ Ѫ੉ ইפ׮
    ಴അ੉ ցޖ ࣗबೞ֎ਃ…ƃƃ աࢁ૑ঋ਷ ࣻળ੉ ইפۄ
    য়൤۰ ௿ۄ੉঱౟ীࢲ ݆਷ ੌਸ ೞѱ ٣੗ੋೞࣁਃ :)

    View full-size slide

  58. ࠁా ߔূ٘ ѐߊೠ׮Ҋ ೞݶ
    ੉۠ ҳࢿਸ ࢤпೞҊ ҅नٜ࠙ ݆ਵदભ?

    View full-size slide

  59. Rich Client
    ௿ۄ੉঱౟ח “ੌױ” ߔূ٘۽ ؘ੉ఠܳ ࠁղҊ,
    ߔূ٘ীࢲ “ঌইࢲ ੜ” ਃ୒ী ݏѱ ୊ܻ

    View full-size slide

  60. ࢲߡܻझ ইఃఫ୛ীࢲח
    যڌѱ ׮ܳөਃ?

    View full-size slide

  61. Rich Client
    ௿ۄ੉঱౟ীࢲ ਗೞח ࢲ࠺झܳ “૒੽” ഐ୹
    ҃਋ী ٮۄࢲח ࢲ࠺झр੄ ౟ے੥࣌ب “૒੽” ୊ܻ

    View full-size slide

  62. Rich Client
    • (ӝמ੉) ೂࠗೠ (݆਷/ڨڨೠ) ௿ۄ੉঱౟

    • Client о ݆਷ ੌਸ ೞח Ѫਸ ف۰ਕೞ૑ ݈ۄח ੄޷!

    • ࢲߡܻझ ইఃఫ୛ীࢲח ਗېۄݶ ߔূ٘о ೡ ߨೠ ੌਸ ೐ۿ౟ূ٘о ૒੽ ୊ܻೞח
    Ѫ੉ ؊ જ਷ ࢸ҅ੋ ҃਋о ݆णפ׮


    ৘द) 

    ਬ੷ ੋૐ੘স (Client <-> Cognito / Auth0)

    ౵ੌ/੉޷૑ স۽٘ (Client <-> S3)

    ੸਷ ࣻ੄ ࢲ࠺झٜী ؀ೠ ਕ௼೒۽਋ (Client <-> Service 1 / Service 2 / … )

    —> ਕ௼೒۽਋о ࠂ੟೧૑ݶ ׼ো൤ Step Functions ۽ ޘחѪ੉ જणפ׮

    View full-size slide

  63. SaaS بੑ਷ ݃ҳ݃ҳ
    ಴അ੉ җѺೞ޲۽ ઱੄!!
    ׼োೠ ݈੉૑݅, पઁ۽ח ੜ Ѩష೧ࢲ بੑ೧઱ࣁਃ :)

    View full-size slide

  64. SaaS ܳ بੑೠ׮ҳ?!
    • ࣁ҅੸ੋ Top Class ౱੉ ࣻ֙р ೞա੄ ࣛܖ࣌ী ૘઺೧ࢲ ٜ݅যմ SaaS ࣛܖ࣌,

    ੉Ѫࠁ׮ ؊ ੜ ٜ݅ ੗न ੓աਃ?

    • গୡী ࢲߡܻझ ইఃఫ୛ܳ بੑೠ׮ח Ѫ ੗୓о ௿ۄ਋٘ ߮؊ࢎܳ ޺Ҋ оח Ѫ

    ੉৴ ੉ۧѱ ػ Ѣ SaaS ݃ҳ݃ҳ بੑೞભ?!

    • જ਷ SaaS ࣛܖ࣌ਸ ݆੉ ঌݶ ঌࣻ۾ ੸੤੸ࣗী ഝਊоמ!! (߹಴ 999ѐ!!)

    —> ಣࣗী ழޭפ౭ ഝز ߂ ࣁ޷ա ١ਸ ৌब൤ ଵৈ೧ঠೞח ੉ਬ੉ӝب ೤פ׮

    View full-size slide

  65. ୶ୌ SaaS ܻझ౟
    ੉ ৻ীب ޖࣻ൤ ݆ਵפ ׮ܲ SaaS ઁಿب ݆੉ ॄࠁदҊ ࣗхਸ ҕਬ೧઱ࣁਃ :)

    View full-size slide

  66. SaaS بੑ द Ҋ۰ࢎ೦
    • AWS ীࢲ о੢ ӝࠄ੸ੋ ోٜ਷ ׮ ઁҕ೧સפ׮

    - ݽפఠ݂ - CloudWatch

    - ా೤ ۽Ӧ - CloudWatch Logs

    - ࠙࢑ ౟ۨ੉य - X-Ray / ServiceLens

    - ਬ੷ੋૐ - Cognito

    - CDN - CloudFront

    - WAF - AWS WAF

    - ӝఋ ׮ࣻ

    • SaaS بੑ੹ ੼Ѩೡ ૕ޙࢎ೦ ৘द

    Q. ೧׼ ࣛܖ࣌ਸ ݅ٚ ౱/ഥࢎܳ য٣ө૑ न܉ೡ ࣻ ੓חо?

    Q. AWS ীࢲ ઁҕغח ӝמ݅ਵ۽ח ੿݈ ࠗ઒ೠо?

    Q. ୡӝ࠺ਊ(۞׬ழ࠳/بੑਸ ਤೠ ੘স ١ ನೣ)੉ хࣻೡ݅ೠо?

    Q. ୶റী ׮ܲ ࣛܖ࣌ਸ ࢎਊೞ۰Ҋ ೡ ٸ Vendor Lock ੉ Ѧܾ оמࢿ਷ হחо?

    Q. SaaS ࣛܖ࣌ بੑী ؀ೠ ౱ਗٜ੄ ز੄ܳ ୽࠙൤ ঳঻חо?

    View full-size slide

  67. No code is the best code
    ಴അ੉ ӓױ੸੉޲۽ ઱੄!!
    ׼োೠ ݈੉૑݅, पઁ۽ח ௏٘ ੘ࢿ೧ঠೡ ੌ੉ ଵ ݆ભ..ƃƃ

    View full-size slide

  68. Lines of codes are liability, not assets
    • Lambda ܳ ഝਊೞݶ ޖઑѤ જ׮?

    —> Lambda হ੉ (Lambdaless) ز੘ೞח ࢲߡܻझ ҳࢿ੉ ؊ જભ!!

    • ੋ೐ۄ/OS/޷ٜਝয ҙܻܳ উೠ׮Ҋ ҙܻೡ ѱ হয૑աਃ? (Management-free)

    —> ۠ఋ੐ҙܻ/ߡ੹ҙܻ/௏٘ҙܻ ١੄ ௏٘ ҙ۲ ҙܻ੉गח ৈ੹൤ թই੓णפ׮!

    • ૊, ௏٘ܳ ݆੉ ੘ࢿೞݶ ੘ࢿೡ ࣻ۾ ࠗ଻(Liability)о טযդ׮ח Ѣભ!

    • Ӓۧ׮ݶ যڄ ٸ ௏٘ܳ ೖೞҊ, যڄ ٸ ੘ࢿ೧ঠೡөਃ?

    View full-size slide

  69. ௏٘੘ࢿਸ ೖೞח Ѫ੉ જਸ ࣻ ੓ח ҃਋
    • Glue ۽ ೧Ѿؼ ࣻ ੓ח ױࣽೠ data transformation ੘সਸ Ҷ੉ EMR ۽ ೞ۰Ҋ
    ֢۱ೞ૑ ঋӝ

    • AppSync ߂ Amplify ীࢲ ٜ݅য઱ח మ೒݁ਵ۽ ୽࠙ೠؘ Ҷ੉ ղ ௏٘ܳ ੘ࢿೞ۰
    Ҋ ೞ૑ ঋӝ

    • Step Functions ীࢲ ਕ௼೒۽਋ܳ ҙܻೞݶ ಞ೧૕ Ѫਸ Ҷ੉ Lambda ௏٘۽ ࠂ
    ੟ೠ ݫएܳ ٜ݅૑ ঋӝ

    • Kinesis Firehose ۽ ૊द S3 ী য়࠳ં౟۽ ੷੢ೡ ࣻ ੓ח ੌਸ, Ҷ੉ Kinesis
    Data Stream + Lambdaਵ۽ গॳ૑ ݈ӝ
    Lambda о ইצ ׮ܲ ࢲߡܻझ ࢲ࠺झܳ ੸ӓഝਊೞ੗!

    View full-size slide

  70. ௏٘੘ࢿਸ ೖೞח Ѫ੉ જਸ ࣻ ੓ח ҃਋
    • ױࣽ൤ ؘ੉ఠ ഋधਸ ߸҃ೞח ҃਋


    ৘द)


    API Gateway ীࢲ Lambda ܳ ഐ୹ೞҊ ௿ۄ੉঱౟ীࢲ ࠁղળ ؘ੉ఠܳ Ӓ؀۽
    DynamoDB ী ੷੢ೞח ҃਋, Lambda ܳ Ѣ஖૑ ঋҊ API Gateway ীࢲ VTL
    (Velocity Template Langauge) ۽ ૒੽ ؘ੉ఠ ߸ജറ DynamoDB ী ੷੢оמ

    —> API Gateway ܳ DynamoDB ੄ ೐۾द۽ ഝਊ


    https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-
    proxy-for-dynamodb/
    Feat. Lambdaless

    View full-size slide

  71. ௏٘੘ࢿਸ ೖೞח Ѫ੉ જਸ ࣻ ੓ח ҃਋
    • Lambda ܳ ా೧ ׮ܲ ࢲ࠺झܳ ױࣽೞѱ ഐ୹ೞח ҃਋


    ৘द)


    Step Functions ܳ HTTP ূ٘ನੋ౟ܳ ా೧ ഐ୹ೞҊ र਷҃਋, API Gateway ->
    Lambda -> Step Functions о ইצ, API Gateway ীࢲ ૒੽ Step Functions ܳ ഐ
    ୹оמ


    SQS ܳ HTTP ূ٘ನੋ౟ܳ ా೧ ഐ୹ೞҊ र਷ ҃਋, ਤ৬ زੌೞѱ API Gateway ী
    ࢲ ૒੽ SQS ܳ ഐ୹оמ


    —> ࢎप… Ѣ੄ ؀ࠗ࠙੄ AWS ࢲ࠺झо API Gateway ܳ ాೠ HTTP Endpoint ܳ о
    ૕ ࣻ ੓णפ׮!!
    Feat. Lambdaless

    View full-size slide

  72. ௏٘੘ࢿ੉ ೙ਃೠ ҃਋
    • ௏٘ܳ ॳ૑ ঋҊ ೧Ѿೡ ࣻ ੓ח ޙઁܳ ઁ৻ೠ ݽٚ ҃਋
    • ࢎप, ઑӘ ੗ӓ੸ਵ۽ ਬૉா੉झܳ ࣗѐܻ٘ӟ ೮૑݅, ௏٘ হ੉ ࢲߡܻझ ইఃఫ୛
    ܳ ҳࢿೡ ࣻ ੓ח ҃਋ח ౠ੿ೠ ݻݻ ா੉झܳ ઁ৻ೞҊח Ѣ੄ হणפ׮.

    • ױ, ೦࢚ Code First ۽ ࢤпೞӝࠁ׮, Less Management ܳ ࢤпೞח ҙ੼੉ 

    ࢲߡܻझ ইఃఫ୛ ٣੗ੋীࢲח ޖ঺ࠁ׮ب ೨ब੸੉ۄҊ ࢤп೤פ׮.

    —> NoOps ੄ ೨ब

    View full-size slide

  73. AWS re:Invent 2019: I didn’t know Amazon
    API Gateway did that (SVS212-R2)
    https://www.youtube.com/watch?v=yfJZc3sJZ8E
    ଵҊ੗ܐ

    View full-size slide

  74. AWSKRUG ࢲߡܻझ ࣗݽ੐ ߊ಴੗ܐ
    https://www.slideshare.net/mooyoul/lambdaless-and-aws-cdk-191793017
    https://github.com/mooyoul/lambdaless/tree/master/proxy
    ੉ޖৌש, Vingle
    ଵҊ੗ܐ

    View full-size slide

  75. ࢲߡܻझ ࢲ࠺झ ਍৔ೞӝ

    View full-size slide

  76. ੉ߣীח ੗ࣁ൤ ׮ܖ૑ ঋ૑݅, ࢲߡܻझ
    ࢲ࠺झܳ ਍৔ೡ ٸ ࢤп೧ࠅ ࣻ ੓ח ઱ઁ
    ٜী ؀೧ оߺѱ ੉ঠӝ೧ࠁѷणפ׮ :)

    View full-size slide

  77. Lambda Testing Strategy
    • Unit Test / Integration Test / E2E Test

    • Lambda ೐۽ં౟ܳ যڌѱ ҳࢿ೧ࢲ যڌѱ ѐߊೞוջী ٮۄ ࢚׼൤ ੄Ѽ੉ ঺тܻח
    ࠗ࠙੉ӝب ೤פ׮. (ౠ൤ ਬ׫పझ౟ী ؀ೠ ҙ੼ী ٮۄ)

    • ѐੋ੸ਵ۽ “Lambda ௏٘ח ӝࠄ੸ਵ۽ Unit Test ܳ ೞ૑ ঋইب ػ׮” Ҋ ࢤп೤פ׮.

    • Yan Cui (AWS Serverless Hero) ש੄ ನझ౴

    - Yubl’s road to Serverless — Part 2, Testing and CI/CD

    : https://medium.com/hackernoon/yubls-road-to-serverless-part-2-testing-and-
    ci-cd-72b2e583fe64

    - How to Test Serverless Applications

    : https://epsagon.com/blog/how-to-test-serverless-apps/

    View full-size slide

  78. • (For Kodeveloper) ੌࠄয ੗ܐੑפ׮

    • Lambda ೩ٜ۞ܳ ୭؀ೠ ੸਷ ࣻ੄ ௏٘۽ ਬ૑

    • ೨ब ࠺ૉפझ ۽૒ਸ ߹ب ஹನք౟ ݽٕ۽ ܻ࠙

    • ࠺ૉפझ ۽૒ਸ ਬ׫పझ౟

    • E2E పझ౴਷ Yan Cui ੄ ನझ౴җ ࠺तೠ ղਊ
    https://dev.classmethod.jp/articles/serverless-testing-using-typescript-and-jest/
    Lambda Testing Strategy

    View full-size slide

  79. Monitoring
    • CPU / Memory / Network In/Out ١਷ ؊੉࢚ ઺ਃೞ૑ ঋ਺

    • ࢲߡܻझ ٣੗ੋীࢲ ઺ਃೠ ݫ౟ܼ

    - Number of errors 

    - Duration

    - Concurrent executions

    - Latency (Delayed)

    - Number of messages in queues

    - Number of requests throttled

    - Provisioned/Consumed Read/Write Capacity Units

    - Number of cold starts happened

    • Email / Slack / Twilio ١җ ো҅ೠ ঌۈ ࢸ੿

    View full-size slide

  80. Logging
    • CloudWatch Logs о ӝࠄ

    • CW Logs ח ٣ಫ౟۽ ۽Ӓܳ ӝрઁೠহ੉ ੷੢ೞ޲۽ ਫ਼੤੸ਵ۽ ਃӘ ಩఍ ݏਸ
    оמࢿ੉ ઓ੤

    : ߈٘द Log Group ߹ ۽Ӓ ؘ੉ఠ ࠁઓ ӝрਸ ࢸ੿೧ف੗
    • ۽Ӓ Ѩ࢝਷

    1) CloudWatch Logs Insights

    2) CloudWatch Logs -> S3 -> (Glue) -> Athena

    • CloudTrail Logs / S3 Access Logs / API Gateway Logs ١ Lambda о ইצ ׮
    নೠ AWS ࢲ࠺झ۽ࠗఠ ߊࢤೠ ۽Ӓܳ যڌѱ ҙܻೡ Ѫੋ૑ب Ҋ޹ೞӝ

    View full-size slide

  81. Deployment
    • Serverless Application Deployment Tools


    - AWS CloudFormation

    - AWS SAM (Serverless Application Model)

    - AWS CDK

    - Serverless Framework

    - Apex Up
    • ੿׹਷ হҊ ஂೱী ؀ೠ ࢶഐ݅ ੓ਸ ࡺ੉ۄҊ ࢤп

    • ѐੋ੸ਵ۽ Serverless Framework ਸ ࢶഐ

    • ୭Ӕীח CDK ب ਬब൤ ࢓ಝࠁҊ ੓਺
    https://dev.classmethod.jp/articles/aws-cdk-intro-kor/

    View full-size slide

  82. Security
    • द௸ܻ౭ب ۨ੉য ߹۽ աׇࢲ ࢤпೞח Ѫ੉ ઺ਃ

    : ఃਕ٘ ઺बਵ۽ ࣗѐ೤פ׮


    Infrastructure - Shared Responsibility Model (AWS ীࢲ ࠁউө૑ ׮ ҙܻ೧ષ)

    OS - ࢲߡܻझ ইఃఫ୛ীࢲח OS ۨ߰੄ द௸ܻ౭ө૑ AWS ীࢲ ׮ ҙܻ೧ષ

    Network - VPC Flow Logs / WAF Shield ١

    Application - WAF

    Activity - Guard Duty / CloudTrail

    Data - Data protection in transit / Data protection at rest (ACM, KMS ١)

    Sensitive Data - Secrets Manager / Amazon Macie

    Log Data - Amazon Detective

    User - Cognito ܳ ాೠ AuthN/AuthR

    Execution Policy - IAM ী ؀೧ ੿ഛ൤ ੉೧ೞҊ ࢎਊೞח Ѫ੉ ನੋ౟
    ੜ ݽܰѷਵݶ ੌױ IAM ࠗఠ ഛपೞѱ ੉೧ೞח Ѫ੉ ઺ਃ!!!!

    View full-size slide

  83. Trouble Shooting
    • Observability ഛࠁо ޖ঺ࠁ׮ب ઺ਃ

    • Distributed Tracing ী ؀ೠ ੉೧

    : https://hackernoon.com/serverless-observability-part-1-new-
    challenges-to-old-practices-95de1b94d379

    • AWS X-Ray / CloudWatch ServiceLens

    : ӝࠄਵ۽ ઁҕغח AWS ੄ ٣ಫ౟ ২࣌

    • Epsagon / Jaeger / Zipkin ١੄ SaaS ߂ য়೑ࣗझ ӝ߈੄ ࣛܖ࣌ب ઓ੤

    • ѐੋ੸ਵ۽ ࢶഐೞח ࣛܖ࣌਷ Epsagon

    View full-size slide

  84. Epsagon
    • ࠙࢑ ౟ۨ੉य SaaS ࣛܖ࣌

    • ୡӝࢸ੿੉ ݒ਋ ए਑

    • بੑೞ੗݃੗ ࢲ࠺झݗ੉ ׮ࠁ੐

    • AWS ੉৻੄ ࢲ࠺झب ૑ਗ

    • ࢲ࠺झݗীࢲ ߄۽ ۽Ӓө૑ ഛੋ оמ

    • Issues Manager ীࢲ ੗ز੉ग ҙܻ
    ଵҊ੗ܐ
    https://dev.classmethod.jp/articles/introduction-epsagon/
    ੌࠄয ࠶۽Ӓੋؘ, ҳӖ ߣ৉ӝ ج۰ࢲ ࠁݶ ࠅ ݅ ೤פ׮ƃƃ

    View full-size slide

  85. Full Stack Serverless

    View full-size slide

  86. AWS Amplify
    • AWS Amplify CLI ߂ ۄ੉࠳۞ܻ ١ਸ ഝਊೞৈ ೐۽؋࣌ ࣻળ੄ গ೒ܻா੉࣌ਸ ݒ
    ਋ ࣚऔѱ ѐߊ/਍৔ೡ ࣻ ੓ח AWS ࢲ࠺झ੉੗ য়೑ࣗझ ೐۽ં౟

    • API - GraphQL (AppSync) / RESTful (API Gateway)

    Storage - S3

    Auth - Cognito

    Hosting - S3 + CloudFront

    Prediction - Amazon Translate / Polly / Transcribe / Rekognition / …

    Analytics - Amazon Pinpoint / Amazon Kinesis 

    ӝఋ ׮ࣻ ࢲ࠺झ ઁҕ

    • ؊ ੗ࣁೠ ղਊ਷ ҕध ಕ੉૑ ଵઑ

    https://docs.amplify.aws/

    View full-size slide

  87. AWS Amplify
    https://www.youtube.com/watch?v=4Am7n5F-S7Q

    View full-size slide

  88. AWS AppSync
    • A Managed and Serverless GraphQL Service

    • AWS Amplify ৬ ೣԋ ઱ݾೞҊ ੓ח ࢲ࠺झ

    • झః݃ܳ ੘ࢿೞח Ѫ݅ਵ۽ب ܻ঴ఋ੐ ాनਸ ਤೠ web socket ӝ߈
    GraphQL Subscription ੉ ੗زਵ۽ ࢤࢿؽ

    • BFF (Backend For Frontend) ಁఢ੉ա Microservices р੄ ױੌ ূ٘ನੋ౟
    ١੄ ਊب۽ ݆੉ ࢎਊؽ

    • ௿ۄ੉঱౟ ѐߊ੗ח ঌѷ૑݅, GraphQL ઁ؀۽ ҃೷೧ࠁҊ աݶ RESTful API
    োز ੘স਷ ೞӝ फয૗ (ƀƀ)

    View full-size slide

  89. AWS AppSync
    • AWSKRUG ࢲߡܻझ ࣗݽ੐ #20
    • AppSync ܳ ഝਊೠ ܻ঴ఋ੐ ࢲߡܻझ ইఃఫ୛








    https://speakerdeck.com/twkiiim/appsyncreul-hwalyonghan-rieoltaim-seobeoriseu-akitegcyeo

    View full-size slide

  90. AWS AppSync
    • AWS ੤ੑޙ ࠶۽Ӓ – AppSync ಞ (ೠҴয)

    https://dev.classmethod.jp/cloud/aws/aws-appsync-re-introduction-2019-korean-ver/

    View full-size slide

  91. • [AppSync ѐ֛੿ܻ] AWS AppSync ߂ Resolver Mapping Template ী ؀೧ ѐ֛ਸ ੿ܻ೧ࠇद׮!

    https://dev.classmethod.jp/cloud/appsync-resolver-vtl-tutorial-ko/
    AWS AppSync

    View full-size slide

  92. Ӓ ߆੄ ࢲߡܻझ ҙ۲ ੗ܐ

    View full-size slide

  93. AWS Serverless Youtube Channel
    https://www.youtube.com/channel/UC_vJsnqdpuEoRseFmlkHMkA

    View full-size slide

  94. Serverless Chats (Podcast)
    https://www.serverlesschats.com/

    View full-size slide

  95. Yan Cui’s Blogs
    https://theburningmonk.com/

    View full-size slide

  96. AWS Serverless Workshops
    https://github.com/aws-samples/aws-serverless-workshops

    View full-size slide

  97. Nordic Serverless
    https://nordicserverless.io/

    View full-size slide

  98. Serverless Resiliency
    https://dev.classmethod.jp/articles/reinvent-2019-session-report-svs407-korean/
    ೠҴয ೧ࢸ Developers.IO ب ݆੉ ੉ਊ೧઱ࣁਃ (Բߢ)

    View full-size slide

  99. ߊ಴ղਊ ੿ܻ

    View full-size slide

  100. ߊ಴ղਊ ੿ܻ
    • ௿ۄ਋٘੄ Ԣ੉ۄ ܻࠛח ࢲߡܻझח ױࣽೠ ౟۪٘о ইפۄ ࣗ೐౟ਝয ѐߊ੄ ޷ې

    • ബҗ੸ੋ ࢲߡܻझ ইఃఫ୛ܳ ࢸ҅ೞӝ ਤ೧ যڃ Ѫٜਸ Ҋ۰೧ঠೞחо

    • ࢲߡܻझ ইఃఫ୛ܳ ਍৔ೡ दী যڃ ੼ਸ Ҋ۰೧ঠೞחо

    • Full Stack Serverless ܳ ਤೠ Amplify / AppSync

    • ӝఋ ࢲߡܻझ ҙ۲ ੗ܐ

    View full-size slide

  101. Classmethod ীࢲ ੋ੤ܳ ݽभפ׮ :)

    View full-size slide

  102. Classmethod, Inc
    • ੌࠄীࢲ AWS ࢎਊೞחؘ Classmethod ݽܰݶ р୏

    • ੉ܴ݅ ٜਵݶ ইח ؀ӝস ~ झఋ౟সө૑ ׮নೠ ӏݽ੄ ஶࢸ౴/ҳ୷ਸ ాೠ ࡅܲ ࢿ੢

    • Developers.IO - ਘ 220݅ PV ੉࢚ ӝ۾ೞח ੌࠄ ୭؀ ӝࣿ ࠶۽Ӓ ઺ ೞա

    • APN Consulting Partner of The Year 2018

    APN Competency Partner of The Year -DevOps- 2019 ܳ ࢚ࣻ

    • ੌࠄ ੹୓ীࢲ ୨ 100ݺ ࢶߊೞח 2020 APN AWS Top Engineers ઺ 34ݺ੉ ࢶ੿

    • ੌࠄ ୭Ҋ੄ AWS ੹ޙоٜҗ ઱1ഥ AWS ࢎղ झఠ٣ ૓೯
    Classmethod ীࢲח ೠҴੋ ূ૑פযٜ࠙ਸ ݽभפ׮ :)
    https://aws.amazon.com/jp/blogs/psa/2020-apn-aws-top-engineers-announcement/

    View full-size slide

  103. Classmethod, Inc
    • 2019֙ 6ਘ, ୐ ೠҴੋ ূ૑פয۽ ੑࢎറ ו՛੼ਸ ನझ౴

    —> ੌࠄীࢲ о੢ ਕۄߖ੉ જ਷ ӝসਵ۽, ঑ب੸ਵ۽ ੗ਯ੸੉Ҋ ࣻಣ੸ੋ ӝসޙച











    Classmethod ীࢲח ೠҴੋ ূ૑פযٜ࠙ਸ ݽभפ׮ :)
    https://dev.classmethod.jp/articles/working-for-classmethod-as-a-korean/

    View full-size slide

  104. Classmethod, Inc
    • ݽ૘ ૒ҵ ৘

    - AWS Engineer

    - AWS Solutions Architect

    - Serverless Developer (AWS / GCP / Azure ١)

    - Frontend Developer

    - Backend Developer

    - Mobile App Developer

    • ূ૑פয ઺ब੄ ӝস੉ۄ, য૑рೠ ನ૑࣌ ׮ ੓णפ׮ :)
    Classmethod ীࢲח ೠҴੋ ূ૑פযٜ࠙ਸ ݽभפ׮ :)

    View full-size slide

  105. Classmethod, Inc
    •FAQ


    Q. ੌࠄয ঴݃ա ੜ೧ঠغաਃ?

    A. ੿ഛೞѱ ޤ׮ۄҊ ׹߸ܻ٘ӝח য۵૑݅, ৈ೯оࢲ ాೡ ੿ب੄ ੌࠄয ࣻળ੉ݶ (ٜয৬ࢲ Ҋ
    ࢤೞदѷ૑݅ ݶ੽ীࢲ ӝࠄ੸ੋ ழޭפா੉࣌੉ оמೠ ੿بݶ) ޙઁহणפ׮


    Q. ੿݈ ܻݽ౟ਕ௼ оמೠоਃ?

    A. ֎. ௏۽ա ࢎక ੉੹ীب ਗೡٸ݃׮ ઙઙ ܻݽ౟ ਕ௼ ೮঻Ҋ, 1֙ ղղ ܻݽ౟ ਕ௼ ೞदח ࠙
    ٜب ҅भפ׮. ޛۿ, ೠҴীࢲ ܻݽ౟ ਕ௼ೞ࣊ب ࢚ҙহणפ׮.


    Q. ٜযয়ӝ੹ী AWS ঴݃ա ঌইঠغաਃ?

    A. ݽ૘૒ҵী ٮۄ ׮ܰ૑݅, ੸যب AWS ূ૑פয੄ ҃਋ AWS ੹ഃ ݽܰח ࢚క۽ ૑ਗೞ࣊
    ب ೤Ѻೞदחؘ ௾ ޙઁח হणפ׮. (׼ো൤ ঌݶ ঌ ࣻ۾ ؊ જѷભ)
    Classmethod ীࢲח ೠҴੋ ূ૑פযٜ࠙ਸ ݽभפ׮ :)

    View full-size slide

  106. Classmethod, Inc
    • ଻ਊҙ۲ ޙ੄ࢎ೦਷ Slack ଻օীࢲ DM ઱ࣁਃ :) 












    Classmethod ীࢲח ೠҴੋ ূ૑פযٜ࠙ਸ ݽभפ׮ :)
    https://careers.classmethod.jp/
    ଻ਊ ࢎ੉౟

    View full-size slide

  107. ੉࢚, ߊ಴ܳ ݃஝פ׮. ٜয઱࣊ࢲ хࢎ೤פ׮ :)

    View full-size slide