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

Progress the system operation drastically with Cloud Automator — AMIMOTO side—

Progress the system operation drastically with Cloud Automator — AMIMOTO side—

More Decks by Amimoto - Flexible Cloud WordPress Hosting

Other Decks in Technology

Transcript

  1. Progress the system operation drastically with Cloud Automator
    — AMIMOTO side—
    @Amimoto_Ami
    amimoto-ami.com
    The service design concept of Amimoto and its underlying thought

    View full-size slide

  2. WordPress users should want to focus on 

    their content publication.

    View full-size slide

  3. Summary
    You can launch high speed WordPress website on AWS, just a few clicks; 

    If you choose AMIMOTO.
    Launching high speed WordPress website which doesn’t not make full use of AMIMOTO.
    True worth to utilise the AMIMOTO, which is “you can fully focus to your business”.
    We AMIMOTO development team has always carried out the service of design for it.

    View full-size slide

  4. Technology base and services to support the Amimoto
    1. Automation → Fully automation
    2. Cloud Native → Full use of managed services
    3. MicroServices → Implementing functions as loosely-coupled
    By taking advantage of the three points above, everyone can develop in easily the same
    quality of the environment and services, to enable the operational management.
    We are providing the platform to build environment "to focus on your business".

    View full-size slide

  5. Issues to be solved
    1.Dark side of WordPress: Hard to full use of AWS scaleabilities;
    2.Bloated databases and tightly-coupled plugins: Hard to maintain WordPress;

    View full-size slide

  6. The way to solve
    1.The Infrastructure as Code with WordPress utilise JIN-KEI CloudFormation.
    2.Modern developing approach with MicroServices and Server-less Architecture.

    View full-size slide

  7. WordPress
    with
    Infrastructure as Code
    @Amimoto_Ami
    ja.amimoto-ami.com

    View full-size slide

  8. Tentatively install plugins
    WordPress + Performance
    Manually server optimising
    Manually apps optimising

    View full-size slide

  9. ʊਓਓਓਓਓਓਓਓਓਓʊ
    ʼSir? I can’t find AWS on itʻ
    ʉY^Y^Y^Y^Y^Y^Y^Y^Yʉ

    View full-size slide

  10. Issues
    Google doesn’t scare me
    EC2 Dependancy
    More AWS you should learn
    By hand: the path to dark side

    View full-size slide

  11. Automate them!

    View full-size slide

  12. AutoScaling
    WordPress + Automation
    Utilise the Managed services
    Anyone can do it with
    CloudFormation

    View full-size slide

  13. AutoScaling
    WordPress + Automation
    Utilise the Managed services
    Anyone can do it with
    CloudFormation

    View full-size slide

  14. 8PSE1SFTTJTNBOBHFETFSWJDFTGSJFOEMZ
    w "NB[PO3%4
    w "NB[PO4
    w "NB[PO$MPVE'SPOU
    w "NB[PO$FSUJpDBUJPO.BOBHFS
    w FUDʜ
    Managed Services
    6TF.BOBHFE4FSWJDFT

    View full-size slide

  15. 1IZTJDBMMBZFS
    04
    .JEEMFXBSF
    "QQMJDBUJPO
    1IZTJDBMMBZFS
    04
    .JEEMFXBSF
    "QQMJDBUJPO
    Extent of Limitation of Liability
    Extent of Limitation of Liability
    EC2 Managed services

    View full-size slide

  16. 3FEVDFUIF
    lTZTUFNTUIBUTIPVMECF
    NBJOUBJOFEz
    XJUINBOBHFETFSWJDFT
    Managed Services
    6TF.BOBHFE4FSWJDFT

    View full-size slide

  17. AutoScaling
    WordPress + Automation
    Utilise the Managed services
    Anyone can do it with
    CloudFormation

    View full-size slide

  18. 8IFOUIFEFWFMPQNFOUNFUIPEBOEXPSL
    JTDPNQMJDBUFE BMMUIFEFWFMPQNFOUT
    XPVMEEFQFOEPOUIFIVNBOQPXFS
    &WFOJGZPVIBEMFWFSBHFENBOBHFE
    TFSWJDFT

    View full-size slide

  19. This architecture was ……

    View full-size slide

  20. we have just built same system while ago.
    https://amimoto.doorkeeper.jp/events/41522

    View full-size slide

  21. we have just built same system while ago.
    https://amimoto.doorkeeper.jp/events/41522

    View full-size slide

  22. we have just built same system while ago.
    https://amimoto.doorkeeper.jp/events/41522
    *GZPVCVJMEJUNBOVBMMZ 

    JU`TBMMEBZXPSL

    View full-size slide

  23. Automate linking up plugins
    CloudFormation
    Define resources by code
    Make unit with kumogata

    View full-size slide

  24. Codes are opened to the public on GitHub
    https://github.com/megumiteam/amimoto-enterprise-cfn

    View full-size slide

  25. Dividing the files to improve reusability
    _include 'include/vpc/vpc.rb'
    _include 'include/ec2/waithandle_ec2.rb'
    _include "include/security_group.rb"
    _include "include/elb.rb"
    _include 'include/iam/for_stack_001.rb'
    _include "include/cloudfront/cf.rb"
    _include "include/s3/s3-media.rb"
    https://github.com/megumiteam/amimoto-enterprise-cfn/blob/master/
    include/001-base-resource.rb

    View full-size slide

  26. Of course listed on AWS MP
    https://aws.amazon.com/marketplace/pp/B01B3ZE1NC/

    View full-size slide

  27. Aurora edition is ready
    https://aws.amazon.com/marketplace/pp/B01B3ZE1NC/
    "VSPSB3FBEZ

    View full-size slide

  28. .BOVBMMZ

    CVJMETUBDLGSPNQJFDFTGPSBMMEBZ


    $MPVE'PSNBUJPO

    BGFXDMJDLTMBVODIJONJO
    8IJDIJTUIFCFUUFSTUB⒎GPSZPVSCVTJOFTT

    View full-size slide

  29. AutoScaling
    WordPress + Automation
    Utilise the Managed services
    Anyone can do it with
    CloudFormation

    View full-size slide

  30. Bottle neck: file systems
    AutoScaling
    Automate scale up and down
    Auto recovery

    View full-size slide

  31. CloudFormation compatible
    http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-
    resource-efs-filesystem.html

    View full-size slide

  32. *U`TBQSFWJFXFEJUJPOOPX 

    CVUJU`TNPSFUIBOUIBU

    View full-size slide

  33. AutoScale architecture on 

    AMIMOTO Managed Hosting

    View full-size slide

  34. 1FPQMFTBZ

    :PVTIPVMENBJOUBJO
    "VUP4DBMFBSDIJUFDUVSF UPP

    View full-size slide

  35. GPSFYBNQMF
    w 8IBUXFBSFHPJOHUPEPJG$PEF%FQMPZBHFOUIBTDSBTIFE
    w /PWJDFFOHJOFFSDBOCVJMETBNFTZTUFN TBNFBSDIJUFDUVSF
    w $BOXFTFMMUIFNPO"84.BSLFU1MBDF

    View full-size slide

  36. Now Developing

    View full-size slide

  37. AMIMOTO + Server-less Architecture
    @Amimoto_Ami
    amimoto-ami.com
    Server-less Architecture on AMIMOTO

    View full-size slide

  38. Summary
    1. Maintenance free infrastructure
    2. Cost effective
    3. Implementing functions as loosely-coupled with MicroServices
    On the feature developments of AMIMOTO, our developers commit to the implement the
    server-less architecture to reap the following benefits:

    View full-size slide

  39. 1. Maintenance free infrastructure
    2. Cost effective
    3. Implementing functions as loosely-coupled with MicroServices

    View full-size slide

  40. 1IZTJDBMMBZFS
    04
    .JEEMFXBSF
    "QQMJDBUJPO
    1IZTJDBMMBZFS
    04
    .JEEMFXBSF
    "QQMJDBUJPO
    Extent of Limitation of Liability
    Extent of Limitation of Liability
    EC2 Managed services

    View full-size slide

  41. 1. Maintenance free infrastructure
    2. Cost effective
    3. Implementing functions as loosely-coupled with MicroServices

    View full-size slide

  42. Time
    Cost
    Time
    Cost
    EC2 Lambda

    View full-size slide

  43. 1. Maintenance free infrastructure
    2. Cost effective
    3. Implementing functions as loosely-coupled with MicroServices

    View full-size slide

  44. Current WordPress feature development
    8PSE1SFTT$PSF

    1MVHJO
    1MVHJO
    1MVHJO
    1MVHJO

    1MVHJO

    View full-size slide

  45. Issue that occur
    • Bloated source codes;
    • Bloated database;
    • Tightly-coupled features,
    core and themes ;
    • These will make Auto
    Scaling malfunction;
    8PSE1SFTT$PSF
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO
    1MVHJO 1MVHJO 1MVHJO 1MVHJO

    View full-size slide

  46. Solution
    Idea: MicroServices

    View full-size slide

  47. Microservices
    • Building system with multiple components;
    • Each component is able to run as an
    independents system;
    • Loose coupling;
    • Linking system with Restful API

    View full-size slide

  48. 8PSE1SFTT$PSF
    $POOFDUPS1MVHJO
    "1* "1* "1*
    .JDSP4FSWJDF .JDSP4FSWJDF .JDSP4FSWJDF
    Future WordPress feature development

    View full-size slide

  49. Implementation
    Case 1

    View full-size slide

  50. Issue
    More power to search feature

    View full-size slide

  51. 1. WordPress has simply LIKE search feature for title and body, have not full-text search
    feature.
    2. Retrieval processing speed is rapidly decreasing if you customise the custom field in the
    search.
    3. More contents published, more DB loads
    Issues

    View full-size slide

  52. AMAZON 

    Elasticsearch
    Awesome Search

    View full-size slide

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

    View full-size slide

  54. Implementation
    Case 2

    View full-size slide

  55. Problem
    Visualise sales data through site search.

    View full-size slide

  56. AMAZON 

    lambda
    AMAZON 

    DynamoDB
    AMAZON 

    API Gateway
    Implement visualising feature with Server-less Architecture

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  59. Implementation
    Case 3

    View full-size slide

  60. Problem
    Give us AMIMOTO user console page

    View full-size slide

  61. Cognito 

    User Pools
    Awesome 

    user authentication
    infrastructure

    View full-size slide

  62. Changes in development methodology
    with Server-less Architecture

    View full-size slide

  63. Why development method is changed?
    1.Develop, test and deploy them in the world without SSH;
    2.Rendering transition: server-side to client-side;
    Wu will not be able to use the development method
    which has been developed on the assumption that the server is present.

    View full-size slide

  64. 1. Develop, test and deploy them in the world without SSH;
    2. Rendering transition: server-side to client-side;

    View full-size slide

  65. • Project management with API Gateway and
    Lambda;
    • Run Lambda in locally;
    • Centralised configuration of API Gateway;
    • Switching development, staging and production
    stage;
    • Deploying to AWS;
    • Publishing your homebrew apps to GitHub;
    Serverless Framework

    View full-size slide

  66. 1. Develop, test and deploy them in the world without SSH;
    2. Rendering transition: server-side to client-side;

    View full-size slide

  67. • Rich UI library specialised in View;
    • Rendering with precompiled;
    • Lightweight, easy to coding;
    • Easy to make the application for the API Gateway
    Lambda as a View;
    Riot.js

    View full-size slide

  68. http://qiita.com/horike37
    For more detail about the architecture, I've already posted to Qiita, includes source code.
    Check out my Qiita page. Thanks!

    View full-size slide

  69. Issues and Solutions
    1.Dark side of WordPress: Hard to full use of AWS scaleabilities;
    2.Bloated databases and tightly-coupled plugins: Hard to maintain WordPress;

    View full-size slide

  70. We’ll resolve them all

    View full-size slide

  71. Issues and Solutions
    OK, now we can develop it with automation. 

    What about the operations?

    View full-size slide

  72. ʊਓਓਓਓਓਓਓਓਓਓਓʊ
    ʼMake operation automateʻ
    ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ

    View full-size slide

  73. @Amimoto_Ami
    amimoto-ami.com
    THANK YOU!

    View full-size slide