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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. AMAZON CloudFormation
    •ੌ͍JSON

    View Slide

  7. JIN-KEI Simple Stack

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    1MVHJO
    1MVHJO
    1MVHJO
    1MVHJO

    1MVHJO

    View Slide

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

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

    View Slide

  16. Solution
    MicroServiceͱ͍͏ൃ૝

    View Slide

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

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

    View Slide

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

    View Slide

  19. ࣮૷ࣄྫ1

    View Slide

  20. View Slide

  21. AMAZON 

    Elasticsearch
    •ੌ͍ݕࡧ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

  33. View Slide

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

    View Slide

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

    View Slide

  36. Elasticommerce Services ͷઃఆΛ͠·͢

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. Elasticommerce Services ΁Ҡಈ͠·͢

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  44. Solution
    MicroService͔ͩΒͰ͖Δ

    View Slide

  45. AMAZON 

    lambda
    AMAZON 

    DynamoDB
    AMAZON 

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

    View Slide

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

    View Slide

  47. View Slide

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

    View Slide

  49. View Slide

  50. ࣮૷ࣄྫ2

    View Slide

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

    View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. View Slide

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

    View Slide

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

    View Slide

  58. View Slide

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

    View Slide

  60. View Slide

  61. View Slide

  62. View Slide

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

    View Slide

  64. View Slide

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

    View Slide

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

    View Slide

  67. View Slide

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

    View Slide

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

    View Slide

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

    View Slide