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
hiroaki
October 08, 2022
Technology
1
200
how to determine architecture
hiroaki
October 08, 2022
Tweet
Share
More Decks by hiroaki
See All by hiroaki
pdm_vibe_coding_fail.pdf
hiroaki_u
0
110
Communication with Ubiquitous Language
hiroaki_u
0
88
the-concept-of-product-creation-learned-in-startup-science
hiroaki_u
0
160
what-is-container
hiroaki_u
1
83
difference-between-nginx-and-apache
hiroaki_u
0
55
CI_CD_by_Code_Brothers_by_AWS
hiroaki_u
0
40
think of study
hiroaki_u
1
88
CI/CD with CodePipeline and ECS
hiroaki_u
0
120
Other Decks in Technology
See All in Technology
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
340
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
Trust as Infrastructure
bcantrill
0
340
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
24
17k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
動画データのポテンシャルを引き出す! Databricks と AI活用への奮闘記(現在進行形)
databricksjapan
0
150
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
110
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
170
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
250
ユニットテストに対する考え方の変遷 / Everyone should watch his live coding
mdstoy
0
130
生成AI_その前_に_マルチクラウド時代の信頼できるデータを支えるSnowflakeメタデータ活用術.pdf
cm_mikami
0
120
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
110
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Balancing Empowerment & Direction
lara
4
680
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How GitHub (no longer) Works
holman
315
140k
The Language of Interfaces
destraynor
162
25k
Mobile First: as difficult as doing things right
swwweet
224
10k
The Cult of Friendly URLs
andyhume
79
6.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Being A Developer After 40
akosma
91
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Designing for Performance
lara
610
69k
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
ご清聴ありがとうございました!