Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅

πŸ’Ύ Как AWS S3 Π²Ρ‹Π΄Π°Ρ‘Ρ‚ ΠΏΠ΅Ρ‚Π°Π±Π°ΠΉΡ‚ Π² сСкунду с Β«ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ…Β» HDD

БСгодня ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Тёстких дисках (HDD) ΠΊΠ°ΠΊ ΠΎ наслСдии ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ β€” ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅, ΡˆΡƒΠΌΠ½Ρ‹Π΅, с ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΌ числом IOPS ΠΈ мСханичСскими ограничСниями. Но AWS сумСла ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Ρ‚Π°ΠΊΠΈΡ… дисков Π² основу S3, ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΈΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ 1 ΠŸΠ‘/с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ 150 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² запросов Π² сСкунду. Π­Ρ‚ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ΅ Ρ‡ΡƒΠ΄ΠΎ, ΠΈ Π² Π΅Π³ΠΎ основС Π½Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ SSD, Π° продуманная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. HDD застряли Π½Π° ~120 IOPS Π·Π° послСдниС 30 Π»Π΅Ρ‚ β€” это физичСский ΠΏΡ€Π΅Π΄Π΅Π» ΠΈΠ·-Π·Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ: πŸ‘‰ Π’ суммС: ΠΎΠ΄Π½ΠΎ случайноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ~11 мс, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ лишь 45 ΠœΠ‘/с Π½Π° диск ΠΏΡ€ΠΈ случайном доступС. РСшСниС AWS: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HDD Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΈΡ… сильной сторонС β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записи, Π° слабости ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массивным ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚Π° трёхуровнСвая схСма ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… дисков Π² ΠΎΠ΄ΠΈΠ½ гигантский Β«Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ SSDΒ». МнС каТСтся, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° S3 β€” это Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «силы количСства» Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Π½Π° Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… SSD, AWS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎ,
ОглавлСниС
ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС: СстСствСнная сцСна Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅ β€” Ρ€ΡƒΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ 3.5β€³ HDD Π² стойку; Π²ΠΎΠΊΡ€ΡƒΠ³ ряды сСрвСров, ΠΌΠΈΠ³Π°ΡŽΡ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π²ΠΈΠ΄Π½Ρ‹ связки ΠΎΠΏΡ‚ΠΈΠΊΠΈ ΠΈ Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ с Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС: СстСствСнная сцСна Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅ β€” Ρ€ΡƒΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ 3.5β€³ HDD Π² стойку; Π²ΠΎΠΊΡ€ΡƒΠ³ ряды сСрвСров, ΠΌΠΈΠ³Π°ΡŽΡ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π²ΠΈΠ΄Π½Ρ‹ связки ΠΎΠΏΡ‚ΠΈΠΊΠΈ ΠΈ Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ с Π³Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

БСгодня ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Тёстких дисках (HDD) ΠΊΠ°ΠΊ ΠΎ наслСдии ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ β€” ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅, ΡˆΡƒΠΌΠ½Ρ‹Π΅, с ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΌ числом IOPS ΠΈ мСханичСскими ограничСниями. Но AWS сумСла ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Ρ‚Π°ΠΊΠΈΡ… дисков Π² основу S3, ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΈΡ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ 1 ΠŸΠ‘/с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ 150 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² запросов Π² сСкунду. Π­Ρ‚ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ΅ Ρ‡ΡƒΠ΄ΠΎ, ΠΈ Π² Π΅Π³ΠΎ основС Π½Π΅ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ SSD, Π° продуманная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.

βš™οΈ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ HDD, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π² прСимущСство

HDD застряли Π½Π° ~120 IOPS Π·Π° послСдниС 30 Π»Π΅Ρ‚ β€” это физичСский ΠΏΡ€Π΅Π΄Π΅Π» ΠΈΠ·-Π·Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ:

  • βš™οΈ Seek β€” ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (β‰ˆ4 мс Π² срСднСм).
  • πŸ”„ Rotational latency β€” ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ вращСния Π΄ΠΎ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ сСктора (β‰ˆ4 мс).
  • ⚑ Transfer β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅/запись Π΄Π°Π½Π½Ρ‹Ρ… (β‰ˆ2,5 мс Π½Π° 0,5 ΠœΠ‘).

πŸ‘‰ Π’ суммС: ΠΎΠ΄Π½ΠΎ случайноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ~11 мс, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ лишь 45 ΠœΠ‘/с Π½Π° диск ΠΏΡ€ΠΈ случайном доступС.

РСшСниС AWS: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HDD Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΈΡ… сильной сторонС β€” ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записи, Π° слабости ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массивным ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

πŸ“œ Π—Π°ΠΏΠΈΡΡŒ: S3 ΠΊΠ°ΠΊ Β«Kafka для дисков»

  • πŸ“ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ log-structured merge tree (LSM) β€” Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ идСально для HDD.
  • πŸ“¦ AWS, вСроятно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Ρ‚Ρ‡ΠΈΠ½Π³ (ΠΊΠ°ΠΊ Kafka), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство seek-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
  • 🎯 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: запись Π΄Π΅ΡˆΡ‘Π²Π°Ρ ΠΈ быстрая, нСсмотря Π½Π° мСханичСскиС ограничСния.

πŸ“– Π§Ρ‚Π΅Π½ΠΈΠ΅: ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ эратур-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

  • πŸ”’ AWS примСняСт Erasure Coding (5-of-9): ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ разбиваСтся Π½Π° 9 ΡˆΠ°Ρ€Π΄ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… достаточно 5 для восстановлСния.
  • πŸ’Ύ Π­Ρ‚ΠΎ экономичнСС Ρ‚Ρ€ΠΎΠΉΠ½ΠΎΠΉ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (1,8x вмСсто 3x) ΠΈ Π΄Π°Ρ‘Ρ‚ 9 Ρ‚ΠΎΡ‡Π΅ΠΊ чтСния вмСсто 3.
  • 🌐 Π€Π°ΠΉΠ» Π² 1 Π’Π‘, Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ΠΉ Π½Π° 20 000 дисков, ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ с суммарной ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ всСх дисков β†’ Ρ‚Π΅Ρ€Π°Π±Π°ΠΉΡ‚Ρ‹ Π² сСкунду.

πŸ”€ Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ

  • 🎲 Power of Two Random Choices β€” Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ записи ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° случайныС Π½Π°Π±ΠΎΡ€Ρ‹ дисков, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ «горячиС Ρ‚ΠΎΡ‡ΠΊΠΈΒ».
  • ♻️ Rebalancing β€” Π΄Π°Π½Π½Ρ‹Π΅ рСгулярно ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ, особСнно ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… стоСк (каТдая β‰ˆ20 ΠŸΠ‘).
  • 🧊 Chill@Scale β€” Ρ‡Π΅ΠΌ большС систСма, Ρ‚Π΅ΠΌ прСдсказуСмСС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°: ΠΏΠΈΠΊΠΈ ΡƒΡΡ€Π΅Π΄Π½ΡΡŽΡ‚ΡΡ Π·Π° счёт ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ°Ρ€Π΅Π½Π΄Π½ΠΎΡΡ‚ΠΈ.

πŸ“‘ ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π½Π° всСх уровнях

  • πŸ‘¨β€πŸ’» ΠšΠ»ΠΈΠ΅Π½Ρ‚ β€” multipart upload/byte-ranged GET (Ρ„Π°ΠΉΠ» дробится ΠΈ качаСтся частями).
  • 🌍 Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° β€” ΠΏΡƒΠ» соСдинСний вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ Β«Π³ΠΎΡ€Π»Π° Π±ΡƒΡ‚Ρ‹Π»ΠΊΠΈΒ».
  • πŸ’½ Диски β€” Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ°Π·Π°Π½Ρ‹ ΠΏΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌ HDD.

Π­Ρ‚Π° трёхуровнСвая схСма ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… дисков Π² ΠΎΠ΄ΠΈΠ½ гигантский Β«Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ SSDΒ».

πŸ’‘ ΠœΠΎΡ‘ ΠΌΠ½Π΅Π½ΠΈΠ΅

МнС каТСтся, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° S3 β€” это Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «силы количСства» Π² ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Π½Π° Π΄ΠΎΡ€ΠΎΠ³ΠΈΡ… SSD, AWS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ массово доступно ΠΈ Π΄Ρ‘ΡˆΠ΅Π²ΠΎ, Π½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ это Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ ΡƒΠ·Π»ΠΎΠ².

Π­Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΠΎΡΠΎΡ„ΠΈΡŽ распрСдСлённых систСм:

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт слаб, Π½ΠΎ вмСстС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΡƒΡŽ ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ структуру.
  • Ошибки ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… дисков Π½Π΅ Π²Π°ΠΆΠ½Ρ‹, ΠΏΠΎΠΊΠ° Π΅ΡΡ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.
  • ΠœΠ°ΡΡˆΡ‚Π°Π± ΠΏΠ°Ρ€Π°Π΄ΠΎΠΊΡΠ°Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ систСму Π½Π°Π΄Ρ‘ΠΆΠ½Π΅Π΅ ΠΈ прСдсказуСмСС.

ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ сСгодня всё большС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ΅ ΠΈ ML строятся прямо ΠΏΠΎΠ²Π΅Ρ€Ρ… S3: ΠΎΠ½ΠΎ стало Π½ΠΎΠ²Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ абстракции для хранСния, Π³Π΄Π΅ инТСнСрия Amazon скрыла всю ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π° простыми API.

πŸ”— Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ: