AMIMOTOのサービスデザインとその手法について
AMIMOTO Design Pattern + Server-less Architecture@Amimoto_Amija.amimoto-ami.comAMIMOTOͷαʔϏεσβΠϯͱͦͷख๏ʹ͍ͭͯ
View Slide
Summary1. Automation పఈతʹࣗಈԽ2. CloudNative ϚωʔδυαʔϏεΛ׆༻3. MicroServices ૄ݁߹ͳػೳ࣮AMIMOTOͷαʔϏεσβΠϯͰɺ3Λҙࣝͨ͠ΞϓϩʔνΛߦ͍ͬͯ·͢ɻ͜ΕΒʹΑͬͯɺ୭͕؆୯ʹಉ࣭͡ͷڥαʔϏεΛ։ൃɺӡ༻ཧΛՄೳʹ͍ͯ͠·͢ɻ
Problem1. ख࡞ۀ2. ૿͑ଓ͚Δϝϯςφϯείετ3. ࠶ར༻ෆՄೳ
Solution1. CloudFormationʹΑΔڥߏஙͷࣗಈԽ2. RDS,S3,CloudFrontͳͲϚωʔδυαʔϏεͷར༻ʹΑΔϝϯςφϯείετͷܰݮ3. ֦ுػೳΛMicroServiceͱͯ͠ఏڙɺRESTFulͳAPIͰ௨৴ɺServer-lessͳArchitecture
AMAZON CloudFormation•ੌ͍JSON
JIN-KEI Simple Stack
https://github.com/megumiteam/amimoto-enterprise-cfn/blob/master/json/001-mod.json
AMAZON RDS•ੌ͍σʔλϕʔε
AMAZON S3•ੌ͍ετϨʔδ
AMAZON CloudFront•ੌ͍Ωϟογϡ
௨ৗͷWordPressͷػೳ։ൃ8PSE1SFTT$PSF1MVHJO 1MVHJO 1MVHJO 1MVHJO1MVHJO
ൃੜ͢ΔɾιʔείʔυͷංେԽɾDBͷංେԽɾDB͕୯ҰোʹͳΓɹAuto Scaling͕ແҙຯʹɾػೳͱίΞɺςʔϚ͕ ɹີ݁߹8PSE1SFTT$PSF1MVHJO 1MVHJO 1MVHJO 1MVHJO1MVHJO 1MVHJO 1MVHJO 1MVHJO1MVHJO 1MVHJO 1MVHJO 1MVHJO
SolutionMicroServiceͱ͍͏ൃ
ɾγεςϜΛෳͷίϯϙʔωϯτͰߏஙɾίϯϙʔωϯτͦΕͧΕಠཱͨ͠ ɹγεςϜͱͯ͠ػೳ͢Δɾ3FTUGVMͳ"1*ͰγεςϜΛ࿈݁ɾૄ݁߹Microservices
8PSE1SFTT$PSF$POOFDUPS1MVHJO"1* "1* "1*.JDSP4FSWJDF .JDSP4FSWJDF .JDSP4FSWJDF͜Ε͔ΒͷWordPressͷػೳ։ൃ
࣮ࣄྫ1
AMAZON Elasticsearch•ੌ͍ݕࡧ
Elasticsearch Service ΛΫϦοΫ͠·͢
Amazon Elasticsearch Service Λ࢝Ί·͠ΐ͏
Elasticsearch υϝΠϯΛ࡞͠·͢
ΫϥελΛઃఆ͍͖ͯ͠·͢
ઃఆΛ֬ೝ͠ɼΞΫηεϙϦγʔΛઃఆ͍ͯͩ͘͠͞
ΞΫηεϙϦγʔςϯϓϨʔτΛબ͍ͯͩ͘͠͞
Allow open access to the domain Λબ͍ͯͩ͘͠͞
ׂΓͯͨΞΫηεϙϦγʔΛอଘ͠·͢
Elasticsearch υϝΠϯͷઃఆ༰Ͱ͢ Endpoint ͋ͱͰ͏ͷͰ߇͓͍͍͑ͯͯͩ͘͞
ΞʔΩςΫνϟ8PSE1SFTT$PSF$POOFDUPS1MVHJO"1*".";0/&MBTUJDTFBSDI
https://wordpress.org/plugins/elasticommerce-search-form/
Elasticommerce Search Form ϓϥάΠϯΛ༗ޮԽ͍ͯͩ͘͠͞
Elasticommerce Services ͷઃఆΛ͠·͢
ઌ΄Ͳ߇͓͍͑ͯͨ Endpoint Λઃఆͯ͠อଘ͍ͯͩ͘͠͞
https://wordpress.org/plugins/elasticommerce-related-items/
Elasticommerce Related Item ϓϥάΠϯΛ༗ޮԽ͍ͯͩ͘͠͞
Elasticommerce Services Ҡಈ͠·͢
Elasticommerce Related Item ͷઃఆΛ͠·͢
DEMOhttp://ecdemo.amimoto-ami.com/product-category/sample?orderby=popularity
SolutionMicroService͔ͩΒͰ͖Δ
AMAZON lambdaAMAZON DynamoDBAMAZON API GatewayServer-less Architecture ͰՄࢹԽػೳΛՃ
ΞʔΩςΫνϟ8PSE1SFTT$PSF$POOFDUPS1MVHJO"1* "1* "1*શจݕࡧ ߪങσʔλऩू ߪങσʔλՄࢹԽ
શจݕࡧ ߪങσʔλՄࢹԽߪങσʔλऩू
࣮ࣄྫ2
Mautic͋Β͔͡Ίεέδϡʔϧઃఆ͞ΕͨɺϚʔέςΟϯάӦۀͷ܁Γฦ͠λεΫΛࣗಈతʹ࣮ߦͯ࣌ؒ͠Λઅ͠ɺ͔ͭӦۀνʔϜΛਖ਼͍͠λΠϛϯάͰਖ਼͍͠ݟࠐΈ٬ʹूதͤ͞ΔͨΊʹɺॏཁͰ༗༻ͳใΛҰՕॴʹूΊΔͷɻ
https://megumiteam.gitbooks.io/mautic-documentation-japanese/content/ja/index.html
ΞʔΩςΫνϟ8PSE1SFTT$PSF$POOFDUPS1MVHJO"1*.BVUJD
WP MauticMauticͰੜͨ͠ϑΥʔϜΛγϣʔτίʔυͰຒΊࠐΈτϥοΩϯάλάΛࣗಈͰૠೖhttps://wordpress.org/plugins/wp-mautic/
MauticommerceWooCommerceͰΛߪೖͨ͠ސ٬ͷใΛMauticʹૹ৴Ͱ͖Δhttps://wordpress.org/plugins/mauticommerce/
https://github.com/megumiteam/mauticommerce/wiki/How-To-Create-Form
CF7 Mautic ExtentionContact Form 7ͷೖྗใΛMauticͷʹϦʔυʹ֨ೲhttps://wordpress.org/plugins/cf7-mautic-extention/
https://megumi.mautic.com/s/dashboardhttp://ecdemo.amimoto-ami.com/%&.0
http://ja.amimoto-ami.com/slack/࣭͓͝ؾܰʹ:
@Amimoto_Amija.amimoto-ami.comTHANK YOU!AMIMOTO Design Pattern + Server-less ArchitectureAMIMOTOͷαʔϏεσβΠϯͱͦͷख๏ʹ͍ͭͯ