Оптимізація продуктивності й ресурсів
Розгортання застосунків в AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Повільно й дорого
Додаток гальмує під час піків трафіку
Рахунок за Lambda зростає в той самий місяць
Налаштування робить його швидшим і дешевшим
Concurrency: вартість vs cold start
Reserved: ліміт і захист
Обмежує та гарантує потужність для функції
Найдешевший контроль, але не усуває cold start
Provisioned: платіть за «тепло»
Тримає інстанси підігрітими, тож немає cold start
Дорожче; вмикайте лише там, де критична затримка
Добір обсягу пам'яті за кривою «тривалість–вартість»
Більше пам'яті = більше CPU =
менша тривалість
Вартість = ціна пам'яті × тривалість
Найдешевша точка часто
посередині
Профілюйте на кількох розмірах і оберіть
Кешування на рівні застосунку
Повторно використовуйте роботу
в execution context
Тепла Lambda зберігає глобальні змінні між викликами
Кешуйте конфіг, клієнти та «гарячі» пошуки
ElastiCache
для спільного кешу між інстансами
Кешування CloudFront на межі мережі
CloudFront
: кешуйте відповіді на edge-локаціях
Повторні запити обслуговуйте без бекенду
Ключі кешу можуть включати
headers, query strings, cookies
Статичний і кешований контент масштабується безкоштовно
Як обрати потрібний шар кешу
Edge (CloudFront)
: статичний, широко спільний контент
Application (in-memory)
: «гарячі» об'єкти на інстансі
Data (ElastiCache/DAX)
: спільні гарячі читання
Комбінуйте шари; кожен знижує свою вартість
Об'єднуємо оптимізацію
Підіймайте пам'ять за
кривою «тривалість–вартість»
Додавайте provisioned concurrency лише там, де важлива затримка
Кешуйте на шарах
edge, app і data
Виміряйте, змініть одне, виміряйте знову
Давайте потренуємось!
Розгортання застосунків в AWS
Preparing Video For Download...