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
180
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
2
470
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
130
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
970
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
280
サービス間をテストするフレームワーク集
ueokande
0
330
SLO策定とアラート設定までの長い道のり
ueokande
6
4.8k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
120
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
720
Other Decks in Technology
See All in Technology
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
180
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
340
.NET開発者のためのAzureの概要
tomokusaba
0
230
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
130
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
浸透しなさいRFC 5322&7208
hinono
0
120
帳票Vibe Coding
terurou
0
140
Backboneとしてのtimm2025
yu4u
4
1.4k
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
270
Goでマークダウンの独自記法を実装する
lag129
0
210
制約理論(ToC)入門
recruitengineers
PRO
2
260
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
6
570
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
Speed Design
sergeychernyshev
32
1.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Embracing the Ebb and Flow
colly
87
4.8k
We Have a Design System, Now What?
morganepeng
53
7.7k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Unsuck your backbone
ammeep
671
58k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
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