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

AMIMOTO Design Pattern + Server-less Architecture

AMIMOTO Design Pattern + Server-less Architecture

On the service design of AMIMOTO,
we approach with an awareness of the following three points:
1. Automation: Automate drastically
2. CloudNative: Leverage managed services
3. MicroServices: Implement a functionality with loosely coupled
With these three points, we make everyone able to build environment, developing service and operating it easily.

More Decks by Amimoto - Flexible Cloud WordPress Hosting

Other Decks in Technology

Transcript

  1. AMIMOTO Design Pattern + Server-less Architecture
    @Amimoto_Ami
    amimoto-ami.com
    Service design on AMIMOTO and its approach

    View Slide

  2. Summary
    1. Automation: Automate drastically
    2. CloudNative: Leverage managed services
    3. MicroServices: Implement a functionality with loosely coupled
    On the service design of AMIMOTO, 

    we approach with an awareness of the following three points:
    With these three points, we make everyone able to build environment, developing service
    and operating it easily.

    View Slide

  3. Problem
    1. Hand working
    2. Increasing maintenance costs
    3. Non-reusable resources

    View Slide

  4. Solution
    1. Automation: Constructing the server using CloudFormation
    2. Reducing costs: Using managed services like RDS, S3 and CloudFront
    3. Extensions as micro service: Connect with RESTful API 

    and Architecture with Server-less

    View Slide

  5. Solution
    1. Automation: Constructing the server using CloudFormation
    2. Reducing costs: Using managed services like RDS, S3 and CloudFront
    3. Extensions as micro service: Connect with RESTful API 

    and Architecture with Server-less

    View Slide

  6. AMAZON CloudFormation
    Awesome 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. Automation: Constructing the server using CloudFormation
    2. Reducing costs: Using managed services like RDS, S3 and CloudFront
    3. Extensions as micro service: Connect with RESTful API 

    and Architecture with Server-less

    View Slide

  10. AMAZON RDS
    Awesome Database

    View Slide

  11. AMAZON S3
    Awesome Storage

    View Slide

  12. AMAZON CloudFront
    Awesome Cache

    View Slide

  13. Solution
    1. Automation: Constructing the server using CloudFormation
    2. Reducing costs: Using managed services like RDS, S3 and CloudFront
    3. Extensions as micro service: Connect with RESTful API 

    and Architecture with Server-less

    View Slide

  14. Usual development in WordPress
    8PSE1SFTT$PSF

    1MVHJO
    1MVHJO
    1MVHJO
    1MVHJO

    1MVHJO

    View Slide

  15. Issues on development
    • Bloated source code
    • Bloated DB
    • DB is single point of
    failure, so Auto Scaling
    will be meaningless
    • Tightly coupled functions,
    the core and the theme
    8PSE1SFTT$PSF
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO

    View Slide

  16. Solution
    The Idea: MicroService

    View Slide

  17. Microservices
    • Build a system by multiple components
    • Components also function asɹ
    independent systems
    • loosely coupled
    • Linking systems with Restful API

    View Slide

  18. 8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1* "1* "1*
    .JDSP4FSWJDF .JDSP4FSWJDF .JDSP4FSWJDF
    Prospective development in WordPress

    View Slide

  19. Implementation 1

    View Slide

  20. View Slide

  21. AMAZON 

    Elasticsearch
    Awesome Search

    View Slide

  22. Click Elasticsearch Service

    View Slide

  23. Let’s get started Amazon Elasticsearch Service

    View Slide

  24. Create Elasticsearch

    View Slide

  25. Configure Cluster

    View Slide

  26. Configure Cluster

    View Slide

  27. Make sure your settings and attach access policy

    View Slide

  28. Select access policy template

    View Slide

  29. Select Allow open access to the domain

    View Slide

  30. Save attached access policy

    View Slide

  31. Detail of Elasticsearch domain

    Save Endpoint to a text file, you’ll need it later

    View Slide

  32. Architecture
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1*
    ".";0/&MBTUJDTFBSDI

    View Slide

  33. View Slide

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

    View Slide

  35. Enable plugin: Elasticommerce Search Form

    View Slide

  36. Set up Elasticommerce Services

    View Slide

  37. Copy Endpoint from text file paste it to the text box

    View Slide

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

    View Slide

  39. Enable plugin: Elasticommerce Related Item

    View Slide

  40. Click Elasticommerce Services

    View Slide

  41. Set up Elasticommerce Related Item

    View Slide

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

    View Slide

  43. Solution
    1. Automation: Constructing the server using CloudFormation
    2. Reducing costs: Using managed services like RDS, S3 and CloudFront
    3. Extensions as micro service: Connect with RESTful API 

    and Architecture with Server-less

    View Slide

  44. Solution
    MicroService only can do them

    View Slide

  45. AMAZON 

    lambda
    AMAZON 

    DynamoDB
    AMAZON 

    API Gateway
    Server-less Architecture: Adding visualisation feature

    View Slide

  46. Architecture
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1* "1* "1*
    'VMMUFYUTFBSDI
    $PMMFDU
    TVCTDSJQUJPOEBUB
    7JTVBMJTF
    TVCTDSJQUJPOEBUB

    View Slide

  47. View Slide

  48. 'VMM5FYU
    4FBSDI
    %BUB7JTVBMJTJOH
    %BUB$PMMFDUJPO

    View Slide

  49. View Slide

  50. Implementation 2

    View Slide

  51. Mautic
    Pre-scheduled marketing and sales,
    repeat automatically running to save
    time the task to be performed.
    Also this tool to aggregate the
    important and useful information order
    to concentrate to the correct prospects
    the sales team at the right time to one
    place.

    View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. View Slide

  56. https://mautic.org/docs/en/index.html

    View Slide

  57. Architecture
    8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1*
    .BVUJD

    View Slide

  58. View Slide

  59. WP Mautic
    Insert a tracking tag in the
    automatically, which embedded short
    code generated form in Mautic.
    https://wordpress.org/plugins/wp-mautic/

    View Slide

  60. View Slide

  61. View Slide

  62. View Slide

  63. Mauticommerce
    Sending the customer information
    purchased the goods in
    WooCommerce to 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
    Store inputed informations with
    Contact Form 7, into the lead in 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://amimoto-ami.com/slack/
    Any questions are
    welcome:

    View Slide

  70. @Amimoto_Ami
    amimoto-ami.com
    THANK YOU!
    AMIMOTO Design Pattern + Server-less Architecture
    Service design on AMIMOTO and its approach

    View Slide