Несколько недель назад мы опубликовали статью Как мы создали API бессерверной проверки Stonks для ставок на Уолл-Стрит. И с тех пор мы наблюдаем довольно много объема в приложении Stonks Checker. В этой последующей статье мы покажем вам некоторые интересные выводы, касающиеся API.

Резюме за последние две недели

За последние три недели мы стали свидетелями значительного использования настроенного нами API. Вы можете видеть, что вскоре после того, как эта история стала известна, произошел хороший всплеск. Следует отметить, что у нас есть настройка кэширования HTML в возвращаемом значении из функции Lambda. Итак, вы можете видеть, что примерно в половине случаев Lambda не вызывается, а результаты представляют собой кешированную версию HTML.

Выводы Dashbird

Hot Stock Checker (HSC) работает уже месяц и привык. Мы добавили интеграцию Dashbird в учетную запись AWS, в которой размещалась инфраструктура HSC, и просмотрели данные за последние три недели.

Итак, давайте сразу же посмотрим на показатели Dashbird лямбда-функции.

За три недели работы HSC мы получили наибольшее количество вызовов при запуске, что очевидно. Но Dashbird показывает и другие интересные находки.

Лучше всего понять, что запуск этого приложения не стоил нам денег. Уровень использования был настолько низким, что мы никогда не покидали уровень бесплатного пользования AWS Lambda.

Вы можете узнать больше о том, как сэкономить на ваших лямбдах, в статье 6 стратегий оптимизации затрат, которые действительно работают.

Более половины этих вызовов были холодными запусками. В этом конкретном приложении этого следовало ожидать, поскольку у него не хватает вызовов в секунду, чтобы поддерживать теплую лямбда-функцию. Тем не менее, если бы это было производственное приложение, которое должно обеспечивать SLO, было бы неплохо использовать подготовленный параллелизм для функции Lambda, чтобы избавиться от этих холодных запусков . Это также снизит среднюю продолжительность нашей функции.

Следующий пункт - использование памяти. Для лямбда-функции настроено 256 МБ памяти, но используется только 28% ее. Это немного сложно оптимизировать. В такой конфигурации с низким объемом памяти не рекомендуется снижать потребление памяти, поскольку конфигурация памяти неявно настраивает производительность ЦП.

Таким образом, если мы уменьшим конфигурацию памяти, все станет дешевле, но и медленнее. В случае подключения лямбда-функции к шлюзу API это может привести к более высокой задержке и, в свою очередь, ухудшению взаимодействия с пользователем. Если речь идет всего лишь о экономии затрат и мы бы оставили уровень бесплатного использования с помощью нашей лямбда-функции, мы могли бы установить объем памяти 128 МБ и сэкономить немного денег.

Мы также можем увидеть последний вызов, последнюю ошибку и информацию.

Мы можем использовать последний вызов, чтобы получить подробную информацию об этом конкретном вызове, что не очень интересно в этом проекте. Итак, перейдем к последней ошибке.

Последняя ошибка была 4 месяца назад, но Dashbird был интегрирован с этой учетной записью AWS намного позже. Это показывает, как работает Dashbird изнутри. Он считывает данные из CloudWatch Logs, которые записываются сразу после развертывания лямбда-функции. Итак, данные уже здесь, прежде чем потенциальный клиент решит использовать Dashbird. Это позволяет Dashbird показывать нам данные за до интеграции.

То, как Dashbird использует уже существующие данные журналов, особенно ярко проявляется в Dashbird Well-Architected Lens. Он построен на автоматизированных отчетах с хорошей архитектурой AWS на основе набора технических документов AWS Well-Architected Framework, содержащих передовые методы создания программного обеспечения в инфраструктуре AWS.

Старые журналы сами по себе не очень интересны. В конце концов, мы могли бы сами открыть CloudWatch и поискать ошибки четырехмесячной давности. Но с помощью Dashbird Well-Architected Lens мы можем получить высокоуровневую информацию о нашей инфраструктуре, например о лямбда-функциях, которые больше не используются или, как показано на скриншоте выше, обновляемую среду выполнения Lambda.

Вы можете проверить информацию, которую Dashbird предоставляет вам поверх журналов CloudWatch в нашей библиотеке событий. Он включает в себя не только идеи для Lambda, но также API Gateway, DynamoDB и даже Kinesis.

Дальнейшее чтение:

Представляем автоматизированные отчеты Dashbird с хорошей архитектурой

AWS CloudWatch против наблюдаемости Dashbird

Логический мониторинг для AWS Lambda

Больше контента на plainenglish.io