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
240
0
Share
kintone.comを支える技術
2021年のサイボウズエンジニア向け会社説明会で使用した資料です
Shin'ya Ueoka
October 27, 2021
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
160
開発インパクトを最大化!エンジニアが主導する組織づくりの実例
ueokande
0
87
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
1.8k
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
360
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
3
1.4k
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
230
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
1k
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
330
サービス間をテストするフレームワーク集
ueokande
0
390
Other Decks in Technology
See All in Technology
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
210
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
120
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.1k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
620
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
380
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
430
個人AIからチームAIへ:開発における品質と生産性の再設計
moongift
PRO
0
370
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
450
APIテストとは?
nagix
0
170
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
400
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
490
Terraformモジュールは、なぜ「魔境」化するのか
hayama17
1
180
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Speed Design
sergeychernyshev
33
1.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
350
Navigating Team Friction
lara
192
16k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
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