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
210
kintone.comを支える技術
2021年のサイボウズエンジニア向け会社説明会で使用した資料です
Shin'ya Ueoka
October 27, 2021
Tweet
Share
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
240
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
2
490
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
130
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
970
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
280
サービス間をテストするフレームワーク集
ueokande
0
340
SLO策定とアラート設定までの長い道のり
ueokande
6
4.8k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
120
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
720
Other Decks in Technology
See All in Technology
roppongirb_20250911
igaiga
1
210
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
150
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.4k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
「Linux」という言葉が指すもの
sat
PRO
4
120
20250913_JAWS_sysad_kobe
takuyay0ne
2
160
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
640
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
テストを軸にした生き残り術
kworkdev
PRO
0
200
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
RailsConf 2023
tenderlove
30
1.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
BBQ
matthewcrist
89
9.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Context Engineering - Making Every Token Count
addyosmani
1
37
Producing Creativity
orderedlist
PRO
347
40k
Why Our Code Smells
bkeepers
PRO
339
57k
Done Done
chrislema
185
16k
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