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
100
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
86
CI/CD with CodePipeline and ECS
hiroaki_u
0
120
Other Decks in Technology
See All in Technology
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
10
700
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
1
190
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
3
1.7k
ガチな登山用デバイスからこんにちは
halka
1
200
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
240
Skrub: machine-learning with dataframes
gaelvaroquaux
0
100
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
0
140
AIエージェントの活用に重要な「MCP (Model Context Protocol)」とは何か
masayamoriofficial
0
250
モバイルアプリ研修
recruitengineers
PRO
5
1.6k
スプリントレトロスペクティブはチーム観察の宝庫? 〜チームの衝突レベルに合わせたアプローチ仮説!〜
electricsatie
1
140
モダンフロントエンド 開発研修
recruitengineers
PRO
9
6k
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
310
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Embracing the Ebb and Flow
colly
87
4.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
KATA
mclloyd
32
14k
How STYLIGHT went responsive
nonsquared
100
5.8k
Writing Fast Ruby
sferik
628
62k
Documentation Writing (for coders)
carmenintech
73
5k
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
ご清聴ありがとうございました!