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
190
how to determine architecture
hiroaki
October 08, 2022
Tweet
Share
More Decks by hiroaki
See All by hiroaki
Communication with Ubiquitous Language
hiroaki_u
0
76
the-concept-of-product-creation-learned-in-startup-science
hiroaki_u
0
140
what-is-container
hiroaki_u
1
80
difference-between-nginx-and-apache
hiroaki_u
0
47
CI_CD_by_Code_Brothers_by_AWS
hiroaki_u
0
35
think of study
hiroaki_u
1
79
CI/CD with CodePipeline and ECS
hiroaki_u
0
110
Other Decks in Technology
See All in Technology
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
12
3.5k
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
5
1.9k
Goで作って学ぶWebSocket
ryuichi1208
3
2.4k
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
180
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
74k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
AIエージェント元年
shukob
0
140
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
290
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
7
980
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
実は強い 非ViTな画像認識モデル
tattaka
1
940
OPENLOGI Company Profile for engineer
hr01
1
20k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Designing for Performance
lara
604
68k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Six Lessons from altMBA
skipperchong
27
3.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Building an army of robots
kneath
303
45k
Building Adaptive Systems
keathley
40
2.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How STYLIGHT went responsive
nonsquared
98
5.4k
A Philosophy of Restraint
colly
203
16k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
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
ご清聴ありがとうございました!