πŸ”₯ ЭкспСрт ΠΈΠ· Amazon составил Ρ‚ΠΎΠΏ-10 Ρ‚Π΅ΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π»ΠΈΡ‡Π½Ρ‹ΠΉ взгляд Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π·Π° дСсятилСтиС

ИзмСнившиСся взгляды Amazon-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π° 10 Π»Π΅Ρ‚: простота ΠΊΠΎΠ΄Π°, Java, ORM ΠΈ Serverless

ΠžΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ· Amazon Π·Π° дСсятилСтиС пСрСсмотрСл свои убСТдСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ‚Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. НиТС прСдставлСн ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ практичСскими рСкомСндациями для ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π§Ρ‚ΠΎ стало ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Π·Π° эти Π³ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° β€” Π½Π΅ Π΄Π°Π½Π½ΠΎΡΡ‚ΡŒ, Π° Ρ†Π΅Π»ΡŒ, ΠΊ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ приходится постоянно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. РаньшС Π³ΠΎΡ€Π΄Ρ‹Π»ΠΈΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ знаСшь слоТныС систСмы; сСгодня ΠΆΠ΅ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ β€” Π²Ρ‹ΡΡˆΠ°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° экспСртности. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ зависимостСй, ясныС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами ΠΈ прСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы.

Π’ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки. БтатичСская типизация стала инструмСнтом для ΠΊΠΎΠΌΠ°Π½Π΄ с Ρ€Π°Π·Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΎΠΏΡ‹Ρ‚Π°: ΠΎΠ½Π° создаёт ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ риск ошибок Π½Π° Ρ€Π°Π½Π½ΠΈΡ… этапах ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΠ±ΠΌΠ΅Π½ знаниями ΠΌΠ΅ΠΆΠ΄Ρƒ участниками ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… с высоким ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠΌ ΠΊΠ°Π΄Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ»ΡŽΡΡ‹ особСнно Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹.

Java. Взгляд Π½Π° язык измСнился: это Π½Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ инструмСнт, Π° надёТная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с Π±ΠΎΠ³Π°Ρ‚ΠΎΠΉ экосистСмой ΠΈ массой Π·Ρ€Π΅Π»Ρ‹Ρ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ. БоврСмСнная Java ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов ΠΈ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ Ρ†Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… долгосрочной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄. Π Π°Π½Π΅Π΅ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ казался ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ постоянного роста. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ воспринимаСтся ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ систСмы со своСй ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π΅Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ клиСнтской ΠΈ сСрвСрной стороны ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ интСрфСйс лишними элСмСнтами. ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΈ понятная клиСнтская Ρ‡Π°ΡΡ‚ΡŒ часто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ слоТной, Π½ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π°ΠΆΠ½Π΅Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ созданию качСствСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎ написания ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΊΠΎΠ΄Π°: продуманная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ API ΠΈ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ·ΠΆΠ΅. Вводятся ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π²Ρ€ΠΎΠ΄Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ (ADR) ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ модСлирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ принятыС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹.

ИзмСнСния Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ инструмСнтов ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²

ЭстСтичСская ΡΠ»Π΅Π³Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° пСрСстала Π±Ρ‹Ρ‚ΡŒ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” ΡΡΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Код становится Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π½Π΅ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ красив ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ, Π° Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

ORM β€” ΠΏΠΎΠ΄ вопросом. Π Π°Π½Π΅Π΅ ORM считался ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ инструмСнтом, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅ Π½Π°Π΄ Π½ΠΈΠΌ часто ΡΠ½ΠΈΠΌΠ°ΡŽΡ‚ Β«Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ²Π΅Ρ€Β» ΠΈ пСрСходят ΠΊ Π±ΠΎΠ»Π΅Π΅ прямым ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв цСлСсообразно ΠΏΠΈΡΠ°Ρ‚ΡŒ SQL Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ для ΡƒΠ·ΠΊΠΈΡ… критичСских мСст ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ минималистичныС ORM/ΠΌΠΈΠΊΡ€ΠΎ-ORM, Ссли это Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ Π½Π°Π΄ запросами. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Serverless-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ краткосрочной пСрспСктивС ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠ°ΠΊ быстрый каркас для Π·Π°Π΄Π°Ρ‡ Π½Π° события, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ систСма ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ Π² ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ слоТности ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, тСстирования ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Serverless для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ сцСнариСв, Π³Π΄Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ инфраструктурой, Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² управляСмых сСрвисах.

Π”ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ, стоит ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ модСль Π΄Π°Π½Π½Ρ‹Ρ… Π² NoSQL-Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…. НапримСр, Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ DynamoDB ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ стоимости, Ссли Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ индСксы. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС оТидания ΠΎΡ‚ NoSQL-Π±Π°Π·Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Ρ‚ΡŒΡΡ.

Π§Ρ‚ΠΎ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ

Код-стайл ΠΈ Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹. Π’Π°ΠΆΠ½ΠΎΠ΅ срСдство ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ согласованности Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π½ΠΎ Π½Π΅ панацСя Π·Π° качСство ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π˜Ρ… польза Π²Ρ‹ΡˆΠ΅ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Сдинообразная Π±Π°Π·Π°, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ ΡΠΌΡ‹ΡΠ»ΠΎΠ²ΡƒΡŽ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅:  Nintendo Switch 2 ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ΄Π°ΡŽΡ‚ Π½Π° Ρ‡Π΅Ρ€Π½ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ΅ Π·Π° Π±Π°ΡΠ½ΠΎΡΠ»ΠΎΠ²Π½ΡƒΡŽ сумму

ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² микросСрвисов. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв монолитная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° быстрСС разворачиваСтся ΠΈ Π»Π΅Π³Ρ‡Π΅ поддСрТиваСтся, особСнно Π½Π° стартС. ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ цСлСсообразны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π²ΠΈΠ΄Π½Ρ‹ явныС Π²Ρ‹Π³ΠΎΠ΄Ρ‹: нСзависимоС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ отвСтствСнности ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ΅ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚ Π½Π° микросСрвисы, стоит ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ с Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ частями.

ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ инфраструктура. НС всСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ Π½ΡƒΠΆΠ½Π° мгновСнная ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ уровня ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ инфраструктуры. Π’Π°ΠΆΠ½ΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, потрСбности Π² рСсурсах ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ владСния. ΠŸΠΎΡ€ΠΎΠΉ простыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ инфраструктуры Π΄Π°ΡŽΡ‚ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ρ‡Π΅ΠΌ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Β«ΠΏΠ΅Ρ€Π΅ΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΡ‰Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ AWS.

ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСстами. ВысокоС ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ само ΠΏΠΎ сСбС Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ качСствС ΠΊΠΎΠ΄Π°. Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ β€” ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° критичСских путях, ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΎΠΌ тСстировании ΠΈ тСстах устойчивости; Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы ΠΏΠΎΠ΄ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ практичСскиС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ

  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ упрощСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹: вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ Β«ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎΒ» сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ всё, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ lΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π° нСсколько сСрвисов Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° (ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ монолитная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°) с Ρ‡Ρ‘Ρ‚ΠΊΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ ΠΈ API ΠΌΠ΅ΠΆΠ΄Ρƒ частями. Π­Ρ‚ΠΎ позволяСт ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ части нСзависимо Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ всСй систСмы.
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π±ΠΎΡ€Π° стСка: для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с постоянной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ слоТной бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ стСк, Ρ‡Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ·-Π·Π° страха слоТности.
  • ORM ΠΏΡ€ΠΎΡ‚ΠΈΠ² прямого SQL: для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… участков ΠΊΠΎΠ΄Π° примСняйтС явныС SQL-запросы с ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ выраТСниями; для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… частСй ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»Ρ‘Π³ΠΊΠΈΠΌ ORM ΠΈΠ»ΠΈ query-builder’ом, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SQL-запроса:
    SELECT order_id, SUM(amount) AS total
    FROM payments
    WHERE status = 'COMPLETED'
    GROUP BY order_id
    ORDER BY total DESC
    LIMIT 100;
  • Π”Π°Π½Π½Ρ‹Π΅ Π² DynamoDB: Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ‚Π°Π±Π»ΠΈΡ† ΠΏΠΎΠ΄ ΠΎΠ΄ΠΈΠ½Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ сцСнариСв β€” ΠΊΠ»ΡŽΡ‡ PK, SK, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Π΅ индСксы. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ β€” ΠΎΠ΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° для Ρ€Π°Π·Π½Ρ‹Ρ… сущностСй, Π³Π΄Π΅ всС связи Π·Π°ΡˆΠΈΡ‚Ρ‹ Π² ΠΊΠ»ΡŽΡ‡ΠΈ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ слоТных join-запросов ΠΈ быстро ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΉ структуры записи:
    PK: ENTITY#ORDER#
    SK: ORDER#
    Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: customerId, totalAmount, status

Как Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ эти ΠΈΠ΄Π΅ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

  • НачинайтС с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ: фиксируйтС ADR, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ API Π΄ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, опрСдСляйтС Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ сСрвисов ΠΈ Π΄ΠΎΠΌΠ΅Π½Ρ‹ отвСтствСнности.
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Π°ΡƒΠ΄ΠΈΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: Π³Π΄Π΅ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Serverless, Π³Π΄Π΅ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ сСрвисы Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…; ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ORM ΠΈ прямыми SQL-запросами β€” ΠΏΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ путям ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ.
  • Π‘Ρ‚Ρ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ понятных ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²: типизация, Ρ‡Ρ‘Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ интСрфСйсы ΠΈ тСстируСмыС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.
  • Π”ΠΈΠ·Π°ΠΉΠ½ Π΄Π°Π½Π½Ρ‹Ρ… β€” особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: для DynamoDB ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ доступа Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ «слСпого» копирования структуры Π Π‘ Π² NoSQL.
  • БалансируйтС простоту ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ: Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ с простого, Π·Π°Ρ‚Π΅ΠΌ постСпСнно добавляйтС ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ явная Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ, избСгая Ρ€Π°Π½Π½Π΅Π³ΠΎ услоТнСния Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ быстрСС Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ устойчивых Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ тСхничСский Π΄ΠΎΠ»Π³ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π² условиях роста ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»Π°ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒΡ? ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:
CyberSafe: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ