ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½Π΅ΠΉΡΠΈΠΉ ΡΠΈΠΊΠ» ΡΡΠ°ΡΠ΅ΠΉ ΠΎΡ Nick Craver (ΡΡΠΎ Architecture Lead StackOverflow/StackExchange). ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ StackOverflow ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΡΡΠΈΡΡΠ²Π°Ρ ΠΈΡ
ΠΏΠΎΡΠ΅ΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈ ΡΠ°ΠΊΠΎΠ΅ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡ
ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ).
Π’Π°ΠΊΠΆΠ΅ SO Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΠΉ Π΄Π°ΠΌΠΏ ΠΈΡ Π±Π°Π·Ρ MSSQL - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ (Ρ ΠΌΠ΅Π½Ρ ΠΊ Π½Π΅ΠΉ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ - Π½ΠΎ Π±Π΅Π· ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΡΡ ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½ΠΎΡΠΌ). ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ°ΡΡΠΈ Π΄Π°ΡΠΈΡΡΡΡΡΡ 2016-ΠΌ Π³ΠΎΠ΄ΠΎΠΌ - ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ ΠΈΠ½ΡΠ° Π°ΠΊΡΡΠ°Π»ΡΠ½Π° ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ - ΠΊΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ .NET Framework Π½Π° .NET 6 ΠΈ Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ #architecture #stackoverflow
Π’Π°ΠΊΠΆΠ΅ SO Π²ΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΡΠΉ Π΄Π°ΠΌΠΏ ΠΈΡ Π±Π°Π·Ρ MSSQL - ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ (Ρ ΠΌΠ΅Π½Ρ ΠΊ Π½Π΅ΠΉ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ - Π½ΠΎ Π±Π΅Π· ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΡΡ ΠΊΡΠΈΡΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½ΠΎΡΠΌ). ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠ°ΡΡΠΈ Π΄Π°ΡΠΈΡΡΡΡΡΡ 2016-ΠΌ Π³ΠΎΠ΄ΠΎΠΌ - ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡ ΠΈΠ½ΡΠ° Π°ΠΊΡΡΠ°Π»ΡΠ½Π° ΠΈ ΠΏΠΎ ΡΠ΅ΠΉ Π΄Π΅Π½Ρ.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ - ΠΊΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ .NET Framework Π½Π° .NET 6 ΠΈ Ρ ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ #architecture #stackoverflow
C4Model - ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ-ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΠ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΡΡΡΠ΅ "C":
Context - Containers - Components - Code
(ΠΈ ΡΠ»ΠΎΠ²ΠΎ Container ΡΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΠΈΠΏΠ° docker, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ) #architecture
Context - Containers - Components - Code
(ΠΈ ΡΠ»ΠΎΠ²ΠΎ Container ΡΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΠΈΠΏΠ° docker, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ) #architecture
Π ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ "Π·Π°" ΠΈ "ΠΏΡΠΎΡΠΈΠ²" serverless Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡ. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ Π»ΡΠ³ΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠΎΠΌ Π·Π° serverless (ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΈΡ
ΡΡΠ°ΡΡΡΡ
). ΠΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π²ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎ.
#architecture #serverless
#architecture #serverless
β€1
The Human Side of Airbnbβs Microservice Architecture
40-ΠΌΠΈΠ½ΡΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ Airbnb - ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ.
tldr:
* 2008-2017 - ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ
* 2017-2020 - ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
* 2020 ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ - ΠΌΠΈΠΊΡΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π΅Π·ΡΠΌΠΈΡΡΡ - ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΆΠΈΠ»Π° 9 Π»Π΅Ρ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅. Π ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΎΠ½ΠΈ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠΆΠ΅ Π½Π°Π±ΡΠ°Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ Π±Π°Π·Ρ, Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠΈΡΠΈ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π±ΠΎΠ»Π΅Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Π° ΡΠ°ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΡ) - ΡΠ°ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ (ΠΌΠΈΠΊΡΠΎ)ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. #architecture
40-ΠΌΠΈΠ½ΡΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ Airbnb - ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ.
tldr:
* 2008-2017 - ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ
* 2017-2020 - ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
* 2020 ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ - ΠΌΠΈΠΊΡΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π΅Π·ΡΠΌΠΈΡΡΡ - ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΆΠΈΠ»Π° 9 Π»Π΅Ρ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅. Π ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΎΠ½ΠΈ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠΆΠ΅ Π½Π°Π±ΡΠ°Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ Π±Π°Π·Ρ, Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠΈΡΠΈ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π±ΠΎΠ»Π΅Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Π° ΡΠ°ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΡ) - ΡΠ°ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ (ΠΌΠΈΠΊΡΠΎ)ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. #architecture
π3π1
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ° - Monolith vs Microservices - Π²ΠΎΡ Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ π Π Π΄Π°, ΡΠ°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎΠ΄Π½ΡΡΠΎ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π±ΡΠ²Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π±ΠΎΠ»Π΅Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΠ½ΠΊΠΎΠΉ
ΠΠ° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π±Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ/ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ #architecture
ΠΠ° ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π±Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΌΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ/ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ #architecture
π€1
Complete System Design with Implemented Case Studies and Code (github) - ΡΠ°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ ΡΠ°Π·Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΠ΅ΡΡΠ°ΠΌΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ (ΠΆΠ°Π»Ρ), ΠΌΠ΅ΡΡΠ°ΠΌΠΈ (instagram) - Π΄Π»ΠΈΠ½Π½Π΅ΠΉΡΠ°Ρ ΡΡΠ°ΡΡΡ. #architecture
π3