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
how to determine architecture
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hiroaki
October 08, 2022
Technology
250
1
Share
how to determine architecture
hiroaki
October 08, 2022
More Decks by hiroaki
See All by hiroaki
プロダクト負債に立ち向かう
hiroaki_u
2
1.8k
pdm_vibe_coding_fail.pdf
hiroaki_u
0
180
Communication with Ubiquitous Language
hiroaki_u
0
100
the-concept-of-product-creation-learned-in-startup-science
hiroaki_u
0
180
what-is-container
hiroaki_u
1
100
difference-between-nginx-and-apache
hiroaki_u
0
79
CI_CD_by_Code_Brothers_by_AWS
hiroaki_u
0
53
think of study
hiroaki_u
1
110
CI/CD with CodePipeline and ECS
hiroaki_u
0
130
Other Decks in Technology
See All in Technology
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
110
20260423_執筆の工夫と裏側 技術書の企画から刊行まで / From the planning to the publication of technical book
nash_efp
3
390
AIを共同作業者にして書籍を執筆する方法 / How to Write a Book with AI as a Co-Creator
ama_ch
2
130
AI時代 に増える データ活用先
takahal
0
220
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
330
Keeping Ruby Running on Cygwin
fd0
0
150
Rebirth of Software Craftsmanship in the AI Era
lemiorhan
PRO
4
2k
Standards et agents IA : un tour d’horizon de MCP, A2A, ADK et plus encore
glaforge
0
160
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
11
32k
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
250
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Designing Experiences People Love
moore
143
24k
The SEO identity crisis: Don't let AI make you average
varn
0
440
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
The Cult of Friendly URLs
andyhume
79
6.8k
Facilitating Awesome Meetings
lara
57
6.8k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
350
Chasing Engaging Ingredients in Design
codingconduct
0
170
Transcript
アーキテクチャって どうやって決めれば良いの?? hiroaki
Who am I ? 上田 裕耀(28) Backend, Infra, DevOps 2018/04〜
食品メーカーの研究所 2021/03〜 Webエンジニア 経歴 神奈川→埼玉→群馬→神奈川 趣味 サウナ & 筋トレ
そもそもアーキテクチャとは??
(と思っています) アプリケーションの課題を 解決するための構造
アプリケーションの課題は色々ある コスト スケーラビリティ 保守改修性 パフォーマンス セキュリティ 可用性
何かを優先すると他のレベルが下がってしまう。 トレードオフの構造
アプリケーションの構造も色々 モノリス 分散システム 同期 非同期 内部のレイヤー構造 or or
結局、アーキテクチャって どうやって決めれば良いの??
ビジネスの要求に柔軟に対応できるような アーキテクチャを目指す 使う技術に依存しない構造 仕様の変更しやすい構造 アプリケーション課題に合わせた構造
引用:『ソフトウェアアーキテクチャの基礎』P.250 図17-1』 アプリケーション課題に合わせた構造 例:マイクロサービス
引用:『ソフトウェアアーキテクチャの基礎』P.263 図17-9』 ⭕ 拡張性、保守改修性 etc. ❌ DBの一貫性、コスト etc. アプリケーション課題に合わせた構造
使う技術に依存しない構造 アプリケーション
使う技術に依存しない構造 例:オニオンアーキテクチャ
SOLID原則やデザインパターンあたりが効果的 仕様の変更しやすい構造 S O L I D 単一責任の原則 オープン・クローズドの原則 リスコフの置換原則
インターフェース分離の原則 依存性逆転の原則
常にアプリケーションの課題を考え続けて、 betterな選択をしていく。 各サービス内では、独立性を高めた 保守改修性の高い設計を目指す。
Reference
ご清聴ありがとうございました!