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

[日本語] AMIMOTO Design Pattern + Server-less Architecture

[日本語] AMIMOTO Design Pattern + Server-less Architecture

AMIMOTOのサービスデザインとその手法について

More Decks by Amimoto - Flexible Cloud WordPress Hosting

Other Decks in Technology

Transcript

  1. AMIMOTO Design Pattern + Server-less Architecture
    @Amimoto_Ami
    ja.amimoto-ami.com
    AMIMOTOͷαʔϏεσβΠϯͱͦͷख๏ʹ͍ͭͯ

    View full-size slide

  2. Summary
    1. Automation పఈతʹࣗಈԽ
    2. CloudNative ϚωʔδυαʔϏεΛ׆༻
    3. MicroServices ૄ݁߹ͳػೳ࣮૷
    AMIMOTOͷαʔϏεσβΠϯͰ͸ɺ3఺Λҙࣝͨ͠ΞϓϩʔνΛߦ͍ͬͯ·͢ɻ
    ͜ΕΒʹΑͬͯɺ୭΋͕؆୯ʹಉ͡඼࣭ͷ؀ڥ΍αʔϏεΛ։ൃɺӡ༻؅ཧΛՄೳʹͯ͠
    ͍·͢ɻ

    View full-size slide

  3. Problem
    1. ख࡞ۀ
    2. ૿͑ଓ͚Δϝϯςφϯείετ
    3. ࠶ར༻ෆՄೳ

    View full-size slide

  4. Solution
    1. CloudFormationʹΑΔ؀ڥߏஙͷࣗಈԽ
    2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ
    3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture

    View full-size slide

  5. Solution
    1. CloudFormationʹΑΔ؀ڥߏஙͷࣗಈԽ
    2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ
    3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture

    View full-size slide

  6. AMAZON CloudFormation
    •ੌ͍JSON

    View full-size slide

  7. JIN-KEI Simple Stack

    View full-size slide

  8. https://github.com/megumiteam/amimoto-enterprise-cfn/blob/master/json/001-mod.json

    View full-size slide

  9. Solution
    1. CloudFormationʹΑΔ؀ڥߏஙͷࣗಈԽ
    2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ
    3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture

    View full-size slide

  10. AMAZON RDS
    •ੌ͍σʔλϕʔε

    View full-size slide

  11. AMAZON S3
    •ੌ͍ετϨʔδ

    View full-size slide

  12. AMAZON CloudFront
    •ੌ͍Ωϟογϡ

    View full-size slide

  13. Solution
    1. CloudFormationʹΑΔ؀ڥߏஙͷࣗಈԽ
    2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ
    3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture

    View full-size slide

  14. ௨ৗͷWordPressͷػೳ։ൃ
    8PSE1SFTT$PSF

    1MVHJO
    1MVHJO
    1MVHJO
    1MVHJO

    1MVHJO

    View full-size slide

  15. ൃੜ͢Δ໰୊఺
    ɾιʔείʔυͷංେԽ
    ɾDBͷංେԽ
    ɾDB͕୯Ұো֐఺ʹͳΓ
    ɹAuto Scaling͕ແҙຯʹ
    ɾػೳͱίΞɺςʔϚ͕

    ɹີ݁߹
    8PSE1SFTT$PSF
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO

    View full-size slide

  16. Solution
    MicroServiceͱ͍͏ൃ૝

    View full-size slide

  17. ɾγεςϜΛෳ਺ͷίϯϙʔωϯτͰߏங
    ɾίϯϙʔωϯτ͸ͦΕͧΕಠཱͨ͠

    ɹγεςϜͱͯ͠΋ػೳ͢Δ
    ɾ3FTUGVMͳ"1*ͰγεςϜΛ࿈݁
    ɾૄ݁߹
    Microservices

    View full-size slide

  18. 8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1* "1* "1*
    .JDSP4FSWJDF .JDSP4FSWJDF .JDSP4FSWJDF
    ͜Ε͔ΒͷWordPressͷػೳ։ൃ

    View full-size slide

  19. ࣮૷ࣄྫ1

    View full-size slide

  20. AMAZON 

    Elasticsearch
    •ੌ͍ݕࡧ

    View full-size slide

  21. Elasticsearch Service ΛΫϦοΫ͠·͢

    View full-size slide

  22. Amazon Elasticsearch Service Λ࢝Ί·͠ΐ͏

    View full-size slide

  23. Elasticsearch υϝΠϯΛ࡞੒͠·͢

    View full-size slide

  24. ΫϥελΛઃఆ͍͖ͯ͠·͢

    View full-size slide

  25. ΫϥελΛઃఆ͍͖ͯ͠·͢

    View full-size slide

  26. ઃఆΛ֬ೝ͠ɼΞΫηεϙϦγʔΛઃఆ͍ͯͩ͘͠͞

    View full-size slide

  27. ΞΫηεϙϦγʔςϯϓϨʔτΛબ୒͍ͯͩ͘͠͞

    View full-size slide

  28. Allow open access to the domain Λબ୒͍ͯͩ͘͠͞

    View full-size slide

  29. ׂΓ౰ͯͨΞΫηεϙϦγʔΛอଘ͠·͢

    View full-size slide

  30. Elasticsearch υϝΠϯͷઃఆ಺༰Ͱ͢

    Endpoint ͸͋ͱͰ࢖͏ͷͰ߇͓͍͍͑ͯͯͩ͘͞

    View full-size slide

  31. ΞʔΩςΫνϟ
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1*
    ".";0/&MBTUJDTFBSDI

    View full-size slide

  32. https://wordpress.org/plugins/elasticommerce-search-form/

    View full-size slide

  33. Elasticommerce Search Form ϓϥάΠϯΛ༗ޮԽ͍ͯͩ͘͠͞

    View full-size slide

  34. Elasticommerce Services ͷઃఆΛ͠·͢

    View full-size slide

  35. ઌ΄Ͳ߇͓͍͑ͯͨ Endpoint Λઃఆͯ͠อଘ͍ͯͩ͘͠͞

    View full-size slide

  36. https://wordpress.org/plugins/elasticommerce-related-items/

    View full-size slide

  37. Elasticommerce Related Item ϓϥάΠϯΛ༗ޮԽ͍ͯͩ͘͠͞

    View full-size slide

  38. Elasticommerce Services ΁Ҡಈ͠·͢

    View full-size slide

  39. Elasticommerce Related Item ͷઃఆΛ͠·͢

    View full-size slide

  40. DEMO
    http://ecdemo.amimoto-ami.com/product-category/sample?orderby=popularity

    View full-size slide

  41. Solution
    1. CloudFormationʹΑΔ؀ڥߏஙͷࣗಈԽ
    2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ
    3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture

    View full-size slide

  42. Solution
    MicroService͔ͩΒͰ͖Δ

    View full-size slide

  43. AMAZON 

    lambda
    AMAZON 

    DynamoDB
    AMAZON 

    API Gateway
    Server-less Architecture ͰՄࢹԽػೳΛ௥Ճ

    View full-size slide

  44. ΞʔΩςΫνϟ
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1* "1* "1*
    શจݕࡧ ߪങσʔλऩू ߪങσʔλՄࢹԽ

    View full-size slide

  45. શจݕࡧ ߪങσʔλՄࢹԽ
    ߪങσʔλऩू

    View full-size slide

  46. ࣮૷ࣄྫ2

    View full-size slide

  47. Mautic
    ͋Β͔͡Ίεέδϡʔϧઃఆ͞Εͨɺ
    ϚʔέςΟϯά΍Ӧۀͷ܁Γฦ͠λε
    ΫΛࣗಈతʹ࣮ߦͯ࣌ؒ͠Λઅ໿͠ɺ
    ͔ͭӦۀνʔϜΛਖ਼͍͠λΠϛϯάͰ
    ਖ਼͍͠ݟࠐΈ٬ʹूதͤ͞ΔͨΊʹɺ
    ॏཁͰ༗༻ͳ৘ใΛҰՕॴʹूΊΔ΋
    ͷɻ

    View full-size slide

  48. https://megumiteam.gitbooks.io/mautic-documentation-japanese/content/ja/index.html

    View full-size slide

  49. ΞʔΩςΫνϟ
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1*
    .BVUJD

    View full-size slide

  50. WP Mautic
    MauticͰੜ੒ͨ͠ϑΥʔϜΛ
    γϣʔτίʔυͰຒΊࠐΈ
    τϥοΩϯάλάΛࣗಈͰૠೖ
    https://wordpress.org/plugins/wp-mautic/

    View full-size slide

  51. Mauticommerce
    WooCommerceͰ঎඼Λߪೖͨ͠
    ސ٬ͷ৘ใΛMauticʹૹ৴Ͱ͖Δ
    https://wordpress.org/plugins/mauticommerce/

    View full-size slide

  52. https://github.com/megumiteam/mauticommerce/wiki/How-To-Create-Form

    View full-size slide

  53. CF7 Mautic Extention
    Contact Form 7ͷೖྗ৘ใΛ
    MauticͷʹϦʔυʹ֨ೲ
    https://wordpress.org/plugins/cf7-mautic-extention/

    View full-size slide

  54. https://megumi.mautic.com/s/dashboard
    http://ecdemo.amimoto-ami.com/
    %&.0

    View full-size slide

  55. http://ja.amimoto-ami.com/slack/
    ࣭͝໰͸͓ؾܰʹ:

    View full-size slide

  56. @Amimoto_Ami
    ja.amimoto-ami.com
    THANK YOU!
    AMIMOTO Design Pattern + Server-less Architecture
    AMIMOTOͷαʔϏεσβΠϯͱͦͷख๏ʹ͍ͭͯ

    View full-size slide