Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WordPress with Microservice Architecture
Search
Hidetaka Okamoto
July 10, 2016
Technology
3.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WordPress with Microservice Architecture
WordCamp Kansai 2016セッション資料
Hidetaka Okamoto
July 10, 2016
More Decks by Hidetaka Okamoto
See All by Hidetaka Okamoto
OpenAI APIで API Changelogを要約してみた話 / chatgpt-osaka-1
hideokamoto
0
720
コミュニティ運営から 中の人に変わって感じたこと
hideokamoto
0
150
Developerが Developer Advocateになった話 / dev-rel-meetup-tokyo-71
hideokamoto
0
390
Jamstack開発者のための App Runner入門
hideokamoto
1
560
WordPressでの webサイト制作2022 / ngk2022s
hideokamoto
0
500
JavaScript(TypeScript)で メディアサイトを インフラから構築する方法 / jsconf-jp-2021
hideokamoto
2
4.4k
AWS上でStripeを利用したアプリをより安全にデプロイする方法 /jaws-pankration-2021
hideokamoto
1
250
Shifter Headlessと Headless WordPressの紹介
hideokamoto
0
2.2k
Stripe & Next.js + AWS Amplify で会員 + 定期課金機能 / JP_Stripes20210903
hideokamoto
7
3.3k
Other Decks in Technology
See All in Technology
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
1
230
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
280
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
300
AIで仕事のやり方を変える
matsu7874
3
1k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
190
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
120
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
600
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
140
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
130
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
260
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
1
460
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
How to build a perfect <img>
jonoalderson
1
6k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Why Our Code Smells
bkeepers
PRO
340
58k
Google's AI Overviews - The New Search
badams
0
1.6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
[SF Ruby Conf 2025] Rails X
palkan
2
1.4k
Transcript
Wo rd P re s s w i t h
M i c ro s e r v i c e s Wo rd C a m p K a n s a i 2 0 1 6
Ta l k a b o u t … •
Why Microservices ? • Example Case • How to building Microservices ? • Conclusion
H i d e t a k a O k
a m o t o • Digitalcube developer • WordBenchژϞσϨʔλ WP REST API / WP - CLIɹɹ ίΞίϯτϦϏϡʔλʔ • WP/React/AWS SDK/Alexa
A W S + Wo rd P re s s
= > A M I M O T O A M I h t t p s : / / a m i m o t o - a m i . c o m /
Ta l k a b o u t … •
Why Microservices ? • Example Case • How to building Microservices ? • Conclusion
T h i n k a b o u t
…
ʮ ࢲ ͕ ٳ Ή ͱ ɺ ɹ ࣄ
͕ · Θ Β ͳ ͍ ʯ
ʮ ࢲ ͕ ٳ Ή ͱ ɺ ɹ ࣄ
͕ · Θ Β ͳ ͍ ʯ ີ݁߹ʢMonolithicʣͳνʔϜ
W H Y ? • ͦͷਓ͕͍ͳ͍ͱػೳ͠ͳ͍Օॴ͕͋Δ ɹˠͦͷਓ͕͍ͳ͘ͳͬͨΒػೳෆશʹؕΔ • ͋ͳͨͷձࣾʹ ɹʮ͍ͳ͘ͳΔͱۀ͕ࢭ·Δਓʯ͍·ͤΜ͔ʁ
T h i n k a b o u t
…
ʮ ͜ ͷ α ʔόʔ ͕ ࢭ · Δ ͱ
ɺ ɹ α ʔ Ϗ ε ͕ ࢭ · Δ ʯ
S i n g l e P o i n
t O f F a i l u re ୯ Ұ ো
ྫ ͑ ɺ ͜ Μ ͳ ߏ
̍ Օ ॴ ͷ ো Ͱ αΠ τ ͕
શ ͯ μ ϯ ͢ Δ ×
B u i l d i n g M i
c ro s e r v i c e s
None
ί ϯ ς ϯ π ཧ
Ϛʔ έ ς Ο ϯ ά
σ ʔ λ ݕ ࡧ
α ʔό ϩ ά ऩ ू
α ʔό ϩ ά ղ ੳ
Ϗ δϡ Ξ ϥ Π ζ
ෳ ͷ Ξ ϓ Ϧ Λ Έ ߹
Θ ͤ ͯ α ʔ Ϗ ε ʹ ͢ Δ
ো ͕ α ʔ Ϗ ε શ ମ ʹ
ٴ ͠ ʹ͘͘ ͳ Δ ×
ো ͕ α ʔ Ϗ ε શ ମ ʹ
ٴ ͠ ʹ͘͘ ͳ Δ × Ϛʔ έ ς Ο ϯ ά ػ ೳ ͩ ͚ ఀ ࢭ
W h y M i c ro s e r
v i c e ? • εέʔϧʢ֦ுʣ͘͢͠ɺμϯ͠ʹ͍͘ • ಛఆͷٕज़ͷґଘ͕খ͘͞ͳΔ • σϓϩΠ͘͢͠ɺΞοϓσʔτΛසൟʹͰ͖Δ
εέ ʔϧ ͱ མ ͪ ʹ͘ ͞ • αʔϏεಉ͕࢜ૄ݁߹ •
མͪͨαʔϏεΛΓ͢ • ػೳݮΔ͕ɺαʔϏεΛ མͱ͞ͳ͍ • ඞཁͳαʔϏε͚ͩɺɹɹ εέʔϧͤ͞Δ ×
ಛ ఆ ٕ ज़ ͷ ґ ଘ Λ ճ
ආ • αʔϏεಉ͕࢜ૄ݁߹ɹɹ ˠϓϩάϥϜ͕ಠཱՔಇ • ॲཧɾαʔϏεʹ࠷దͳɹ ݴޠɾFW͕બՄೳ • ඞཁʹԠͯ͡ɹɹɹɹɹɹ αʔϏε୯ҐͰϦϓϨΠε s y m f o n y J S J a v a Wo rd P re s s
͋ · Γ ߋ ৽ ͠ ͳ ͍ ස ൟ
ʹ Ξ ο ϓ σ ʔ τ খ ͞ ͘ ස ൟ ͳ Ξ οϓ σ ʔ τ • αʔϏε୯ҐͰͷσϓϩΠ • มߋͷӨڹ͕શମ͔Βɹɹ αʔϏε୯Ґʹ • όʔδϣχϯά͞ΕͨAPI • ςετͷࣗಈԽͰΑΓߴɾ ߴසͳσϓϩΠ͕Մೳʹ
খ ͞ ͘ ස ൟ ͳ Ξ οϓ σ ʔ
τ • αʔϏε୯ҐͰͷσϓϩΠ • มߋͷӨڹ͕શମ͔Βɹɹ αʔϏε୯Ґʹ • όʔδϣχϯά͞ΕͨAPI • ςετͷࣗಈԽͰΑΓߴɾ ߴසͳσϓϩΠ͕Մೳʹ 7 "1*αʔϏε
খ ͞ ͘ ස ൟ ͳ Ξ οϓ σ ʔ
τ • αʔϏε୯ҐͰͷσϓϩΠ • มߋͷӨڹ͕શମ͔Βɹɹ αʔϏε୯Ґʹ • όʔδϣχϯά͞ΕͨAPI • ςετͷࣗಈԽͰΑΓߴɾ ߴසͳσϓϩΠ͕Մೳʹ 7 7 "1*αʔϏε
খ ͞ ͘ ස ൟ ͳ Ξ οϓ σ ʔ
τ • αʔϏε୯ҐͰͷσϓϩΠ • มߋͷӨڹ͕શମ͔Βɹɹ αʔϏε୯Ґʹ • όʔδϣχϯά͞ΕͨAPI • ςετͷࣗಈԽͰΑΓߴɾ ߴසͳσϓϩΠ͕Մೳʹ 7 7 "1*αʔϏε
Ta l k a b o u t … •
Why Microservices ? • Example Case • How to building Microservices ? • Conclusion
̏ छ ྨ ͷ Ξ ϓ ϩ ʔ ν •
֎෦αʔϏεͱͷ࿈ܞ • ΠϯϑϥϨΠϠͷׂ • WordPress as a Microservices
̏ छ ྨ ͷ Ξ ϓ ϩ ʔ ν •
֎෦αʔϏεͱͷ࿈ܞ • ΠϯϑϥϨΠϠͷׂ • WordPress as a Microservices
ಛ ఆ ͷ ػ ೳ Λ ଞ ͷ α ʔ
Ϗ ε Ͱ ࣮ ͢ Δ
֎ ෦ α ʔ Ϗ ε ͷ A P I
ʹ ର ͯ͠ɺ w p _ re m o t e _ g e t ( ) ; w p _ re m o t e _ p o s t ( ) ; ͳ Ͳ Ͱ ଓ ͢ Δ
̏ छ ྨ ͷ Ξ ϓ ϩ ʔ ν •
֎෦αʔϏεͱͷ࿈ܞ • ΠϯϑϥϨΠϠͷׂ • WordPress as a Microservices
h t t p s : / / a w
s . a m a z o n . c o m / m a r k e t p l a c e / p p / B 0 1 B 3 Z E 1 N C RDBϝσΟΞετϨʔδΛ AWS͕Ϛωʔδυ͢ΔαʔϏεʹҠৡ
h t t p s : / / a w
s . a m a z o n . c o m / m a r k e t p l a c e / p p / B 0 1 B 3 Z E 1 N C RDBϝσΟΞετϨʔδΛ AWS͕Ϛωʔδυ͢ΔαʔϏεʹҠৡ ϝ ϯ ς φ ϯε Λ AW S ͕ ࣮ ࢪ ϝ ϯ ς φ ϯε Λ AW S ͕ ࣮ ࢪ ϝ ϯ ς φ ϯε Λ AW S ͕ ࣮ ࢪ ϝ ϯ ς φ ϯε Λ AW S ͕ ࣮ ࢪ
ϑΝΠϧɾσʔλΛ֎෦Խ͢Δ͜ͱͰɺ αʔόʔͷࣗಈεέʔϧΞτ͕Մೳʹ
h t t p : / / j a .
s t a t i c p re s s . n e t / StaticPressʹΑΔwp-adminͱ ϑϩϯτΤϯυͷ
StaticPressʹΑΔwp-adminͱ ϑϩϯτΤϯυͷ
̏ छ ྨ ͷ Ξ ϓ ϩ ʔ ν •
֎෦αʔϏεͱͷ࿈ܞ • ΠϯϑϥϨΠϠͷׂ • WordPress as a Microservices
h t t p s : / / a m
i m o t o - a m i . c o m / a m i m o t o - n i n j a / ԻೝࣝαʔϏεͱͷ࿈ܞ
A u d i o C a p t u
re A u d i o P l a y b a c k Yo u r C o d e a n o t h e r A P I W h a t i s Wo rd p re s s ? Wo rd P re s s i s …
h t t p s : / / g i
t h u b . c o m / w c - a p p / w c - a p p CordovaReact NativeΛ༻͍ͨ ωΠςΟϒΞϓϦ
None
Ta l k a b o u t … •
Why Microservices ? • Example Case • How to building Microservices ? • Conclusion
M i c ro s e r v i c
e Ξ ϯ νύ λ ʔϯ ͡Ί͔Β Microserviceͱͯ͠ ߏங͠Α͏ͱ͢Δ
ε λ ʔ τ Ұ ຕ ؠ • ελʔτγϯϓϧ͔ͭখ͘͞
• ͡Ί͔Βෳࡶͳߏʹ͢Δͱมߋίετ͕ߴ͘ͳΔ • γϯϓϧʹ͡ΊɺඞཁʹԠׂͯ͢͡Δ
͍ ͭ ׂ ͢ ͖ ͔ʁ • ίʔυͷཧ͕Ͱ͖ͳ͘ͳΔ·ͰංେԽͨ࣌͠ •
Ұ෦ͷػೳͷΈසൟʹΞοϓσʔτ͍ͨ࣌͠ • ։ൃνʔϜ͕ཧతʹΕ͍ͯΔ࣌ • ηΩϡϦςΟΛڧݻʹ͍ͨ͠෦͕Ͱ͖ͨ࣌ • ଞͷݴޠɾϑϨʔϜϫʔΫΛ༻͍ͨ࣌͠
H o w t o M i c ro s
e r v i c e ? • Ϗδωε୯ҐͰׂʢίϯΣΠͷ๏ଇʣ • ີ݁߹͔Βૄ݁߹ʢAPIϕʔεͰͷߏஙʣ • αʔϏεͷࢹͱোͷ
ί ϯ Σ Π ͷ ๏ ଇ
– M E LV I N C O N WAY
“γεςϜΛઃܭ͢Δ৫ɺ ͦͷߏΛͦͬ͘Γ·Ͷͨߏͷ ઃܭΛੜΈग़ͯ͠͠·͏”
ί ϯ Σ Π ͷ ๏ ଇ • ີ݁߹ͳ৫ɺີ݁߹ͳγεςϜΛઃܭ͍͢͠
• ϓϩδΣΫτɾػೳ୯ҐͷνʔϜͰ։ൃ͢Δͱɺɹɹ ૄ݁߹ʹͳΓ͍͢ • ʮ̎ຕͷϐβͰΓͳ͍νʔϜ࡞Δ͖Ͱͳ͍ʯ (Amazon)
A P I ϕʔε ͷ ։ ൃ
A P I ϕʔε ͷ ։ ൃ • αʔϏεຖʹಠཱͨ͠ΞϓϦͱͯ͠։ൃ •
APIΛ༻͍ͯ֎෦ͱ࿈ܞ͢Δ • APIͷΤϯυϙΠϯτόʔδϣχϯά͠ɺɹɹɹɹ ഁյతͳΞοϓσʔτʹඋ͑Δɹɹɹɹɹɹɹɹɹɹ ྫɿʮ/v1/coupons/ʯʮ /v2/wp/postsʯ
α ʔ Ϗ ε ͷ ࢹ ͱ ো
ͷ
Ͳͷ α ʔ Ϗ ε ͕ ࢭ · ͬͯ ͍
Δ ͔ Λ Δ ඞ ཁ ͕ ͋ Δ ×
α ʔ Ϗ ε ࢹ ͱ ো ͷ
• αʔϏε୯ҐɾΞϓϦશମͰࢮ׆ࢹ • োͷى͖ͨαʔϏεҎ֎ͰՔಇ͢ΔΈͷߏங • APIϦΫΤετͷλΠϜΞτʹΑΔԆʹඋ͑Δ
R O U T E 5 3 Λ ༻ ͍
ͨ ϑ Σ Πϧ Φ ʔόʔ α ʔό ো ࣌ S 3 ʹ ϧ ʔ ς Ο ϯ ά
Ta l k a b o u t … •
Why Microservices ? • Example Case • How to building Microservices ? • Conclusion
ै དྷ ͷ Wo rd P re s s ߏ
ங 8PSE1SFTT$PSF 1MVHJO 1MVHJO 1MVHJO 5IFNF 1MVHJO
ै དྷ ͷ Wo rd P re s s ߏ
ங Ұ ຕ ؠ ʹ ͳ Γ ͢ ͍ 8PSE1SFTT$PSF 1MVHJO 1MVHJO 1MVHJO 5IFNF 1MVHJO 1MVHJO $IJME 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO
ϓϥάΠϯɾςʔϚͷিಥ͕ൃੜ͢Δͱɾɾɾ 8PSE1SFTT$PSF 1MVHJO 1MVHJO 1MVHJO 5IFNF
1MVHJO 1MVHJO $IJME 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO 1MVHJO
None
ཛ Λ ̍ ͭ ͷ Χ ΰ ʹ · ͱ
Ί Δ ͱ ɺ ͦ ͷ Χ ΰ Λ མ ͱ ͠ ͨ ࣌ ʹ શ ໓ ͢ Δ
+BWB4DSJQU ػ ೳ ݮ Δ ͕ ɺ શ ମ
ੜ ͖ Δ )5.- "1* "1* "1* ×
ʮ ઈ ର ʹ མ ͱ ͞ ͳ ͍ Α
͏ ʹ ؤ ு Δ ʯ Ͱ ͳ ͘ ɺ ʮ ো ͕ ى ͖ ͯ શ ໓ ͞ ͤ ͳ ͍ ʯ
https://ja.wikipedia.org/wiki/%E8%88%AA%E7%A9%BA%E6%A9%9F#/media/File:Qantas_a380_vh-oqa_takeoff_heathrow_arp.jpg
https://ja.wikipedia.org/wiki/%E8%88%AA%E7%A9%BA%E6%A9%9F#/media/File:Qantas_a380_vh-oqa_takeoff_heathrow_arp.jpg ͠ Τ ϯ δ ϯ ͕ ࢭ ·
ͬ ͨ Β ʁ
ϥϜ Τ Ξ λ ʔ Ϗ ϯ • ඈߦػͷΤϯδϯ͕ࢭ·Δ ͱىಈ͢Δ෩ྗൃిػ
• ඈߦܭثͷిྗΛ֬อ͢Δ • Ͳ͔͜ʹো͕ى͖ͯɺ ઈରʹඞཁͳ֬อ͢Δ https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%82%A8%E3%82%A2%E3%83%BB%E3%82%BF%E3%83%BC%E3%83%93%E3%83%B3#/media/File:757_ram_air_turbine.jpg
ʮ ઈ ର ʹ མ ͱ ͞ ͳ ͍ Α
͏ ʹ ؤ ு Δ ʯ ͔ Β ʮ ো ͕ ى ͖ ͯ શ ໓ ͞ ͤ ͳ ͍ ʯ
T H A N K S ! • Why Microservices
? • Example Case • How to building Microservices ? • Conclusion