Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
kintone.comを支える技術
Search
Shin'ya Ueoka
October 27, 2021
Technology
0
190
kintone.comを支える技術
2021年のサイボウズエンジニア向け会社説明会で使用した資料です
Shin'ya Ueoka
October 27, 2021
Tweet
Share
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
830
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
240
サービス間をテストするフレームワーク集
ueokande
0
290
SLO策定とアラート設定までの長い道のり
ueokande
6
4.5k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
110
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
670
kintone.comのAWS移行と その舞台裏
ueokande
4
4.8k
OSSでキレイな本を 作りたい話
ueokande
0
230
サイボウズとOSSの付き合い方
ueokande
0
760
Other Decks in Technology
See All in Technology
クラウドサービス事業者におけるOSS
tagomoris
1
720
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
980
Larkご案内資料
customercloud
PRO
0
650
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.1k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
Goで作って学ぶWebSocket
ryuichi1208
0
190
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
960
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
130
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
Building Products in the LLM Era
ymatsuwitter
10
5.4k
The Future of SEO: The Impact of AI on Search
badams
0
190
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.8k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
It's Worth the Effort
3n
184
28k
How GitHub (no longer) Works
holman
314
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
We Have a Design System, Now What?
morganepeng
51
7.4k
4 Signs Your Business is Dying
shpigford
182
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Embracing the Ebb and Flow
colly
84
4.6k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
kintone.comΛࢧ͑Δٕज़ kintone։ൃYakumoج൫νʔϜ ্Ԭ ਅ (@ueokande) αΠϘζٕज़આ໌ձ for student!!
Me • αΠϘζ2016৽ଔೖࣾ • άϩʔόϧ͚B2BΫϥυαʔϏε kintone.comͷ։ൃɾӡ༻Λͯ͠·͢ • झຯࣾ֎ൃ৴ 2
kintone • ۀγεςϜΛ؆୯ʹ࡞ΕΔ B2B͚ΫϥυαʔϏε • ࠃ֎21,000+ࣾͰಋೖ • άϩʔόϧ͚ʮkintone.comʯ ͱ͍͏ϒϥϯυͰల։ 3
ຊ͚ʮkintoneʯͱʮkintone.comʯ • ຊ͚kintoneࣗࣾΫϥυج൫ʢcyboozu.comʣͰఏڙ͠ɺ άϩʔόϧ͚ͷkintone.comAWSͰఏڙ • ҎલࠃͷΫϥυج൫Ͱӡ༻͍͕ͯͨ͠ɺ2020ʹAWSʹҠߦ • Ҡߦ୯ͳΔҾͬӽ͠Ͱͳ͘ɺΠϯϑϥج൫ମ੍Λ࠶ߏங 4
kintone.comͷνϟϨϯδ • ։ൃମ੍Πϯϑϥج൫Λθϩ͔ΒઃܭͰ͖Δνϟϯε • ࠃϓϩμΫτ։ൃʹઌۦ͚৽͍ٕ͠ज़ʹνϟϨϯδ • ΫϥυωΠςΟϒͳ։ൃɾӡ༻ • ܧଓతσϦόϦʔͱσϓϩΠύΠϓϥΠϯ •
SLOʹجͮ͘৴པੑ্ͱܧଓతվળ • … 5
ΫϥυωΠςΟϒͳ։ൃɾӡ༻ • kintoneͷόοΫΤϯυαʔϏείϯςφΞϓϦέʔγϣϯͱͯ͠ Amazon EKSʢϚωʔδυKubernetesʣ্ʹσϓϩΠ 6 Amazon KES Web Job
Queue Mail Delivery Routine Blob Thumbnail kintone.comͷόοΫ ΤϯυαʔϏε Kubernetes্ʹσϓϩΠ σʔλͷอଘઌ αʔϏεͷج൫ AWSͷαʔϏεΛ Έ߹Θͤͯߏங
ܧଓతσϦόϦʔͱσϓϩΠύΠϓϥΠϯ • ΠϯϑϥͷߏΛίʔυԽͯ͠GitཧʢInfrastructure as Codeʣ • GitHub্ͰPull RequestΛϚʔδͨ͠Βຊ൪ڥ·ͰࣗಈͰద༻ • ࡉ͔͍୯ҐͰϦϦʔεͯ͠ਝͳϑΟʔυόοΫΛಘΒΕΔ
• masterϒϥϯνͷίʔυ = ຊ൪ڥͷߏ 7 %FWFMPQNFOU 4UBHJOH 1SPEVDUJPO
• kintoneଞͷϢʔβʔʹϝʔϧͰ௨͢Δػೳ͕͋Δ • ಛఆͷ͓٬༷ʹΑ੍ͬͯݶͳ͘ϝʔϧΛૹΔ͜ͱ͕Ͱ͖ͨ • Amazon SESʢϝʔϧαʔϏεʣʹ24࣌ؒʹૹΕΔϝʔϧ݅ͷ੍ݶ͕͋Δ • ্ݶʹୡ͢Δͱkintone.comશମͰϝʔϧ͕ૹΕͳ͘ͳΔ •
SESͷ্ݶʹୡ͠ͳ͍Α͏ͳ͘͠Έ͕ඞཁ ࣮ࡍͷ։ൃྫ: ϝʔϧͷεϩοτϦϯά 8 📧 📧 Amazon SES Web Mail Delivery 📧
ઃܭͱઓུʛϝʔϧͷεϩοτϦϯά • ϝʔϧ৴αʔϏεʹεϩοτϦϯάͷػߏΛೖΕΔ Before: WebϦΫΤετͰड͚औͬͨϝʔϧΛSESʹ͢ After: ड͚औͬͨϝʔϧΛΩϡʔʹೖΕͯɺऔΓग़͢ͱ͖ʹ 9 Amazon SES
Web Mail Delivery Enqueue Dequeue 📧 📧 Amazon SES Web Mail Delivery 📧 Before After
ΩϡʔͷߏஙʛϝʔϧͷεϩοτϦϯά • Amazon SQSʢϚωʔδυΩϡʔʣʹϝʔϧδϣϒΛΩϡʔΠϯά • AWSͷΠϯϑϥߏΛYAMLͰهड़ͯ͠CloudFormationͰద༻ 10 Resources: MailQueue: Type:
“AWS::SQS: Properties: QueueName: "Mai FifoQueue: true ContentBasedDed MessageRetentio ReceiveMessageW HogeHoge.yaml CloudFormation Amazon SQS
• ϝʔϧ৴αʔϏεʢKotlin + Spring Bootʣ͕SQSʹΞΫηε͢ΔΑ ͏ίʔυΛमਖ਼ • मਖ਼ͨ͠αʔϏεΛKubernetes্ʹσϓϩΠͯ͠ࢼݧ αʔϏεͷमਖ਼ʛϝʔϧͷεϩοτϦϯά 11
Amazon SES Web Mail Delivery # αʔόʔαΠυKotlin͍͍ͧʂ
ຊ൪ڥσϓϩΠʛϝʔϧͷεϩοτϦϯά • αʔϏεͱYAMLͷमਖ਼͕ऴΘͬͨΒνʔϜͰίʔυϨϏϡʔ • masterϚʔδͯ͠͠Βͭ͘ͱຊ൪ڥʹద༻ 12 αʔϏεͷίϯςφϏϧυ %FWFMPQNFOU 4UBHJOH 1SPEVDUJPO
$MPVE'PSNBUJPOͷద༻ &,4্ʹαʔϏεΛల։ ౷߹ςετ
·ͱΊ • kintone.comࣾͰ߈ΊͨνϟϨϯδΛ͖ͯ͠·ͨ͠ • ΫϥυωΠςΟϒͳ։ൃӡ༻ϓϩηεܧଓతσϦόϦʔͳͲ • ͦΕʹΑΔਝͳ։ൃαΠΫϧߴͳϑΟʔυόοΫ • ͜Ε͔ΒࠃͷϓϩμΫτ։ൃʹϑΟʔυόοΫ༧ఆͰ͢💪 13