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


😱 Ваш центр обработки данных выходит из строя

В идеале, планируя свои системы, вы хотите настроить их так, чтобы они справлялись с любым сбоем. Конечно, всегда есть вероятность, что вы что-то упустили на этом начальном этапе. И еще, ошибки случаются.

Возьмите эту историю из Амазонка. Хотя Amazon — огромное предприятие, оно может стать жертвой собственных ошибок. Одним из примеров является то, что Amazon обрушил весь регион Северной Вирджинии в 2017 году! Согласно их краткому изложению инцидента, участник Amazon Simple Storage Service (S3) выполнил команду, которая случайно удалила больший набор серверов, чем предполагалось. Упс.

Если Amazon может совершать подобные ошибки, то тем более важно иметь наготове инструмент оповещения о сбоях.

В этом случае мы хотели бы порекомендовать Проект отключений. Этот проект с открытым исходным кодом отслеживает сбои с помощью «git-scraping».


⚰️ Потеря ваших производственных данных

Удаление рабочей среды кажется невозможным, верно? Ну, подумайте еще раз. В этот пост на Реддите, младший разработчик удалил рабочую среду своей компании. Худшая часть: резервные копии производства были непригодны для использования! Какой кошмар.

3 июн ’17
Добавить Автора

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

В основном мне дали документ, подробно описывающий, как настроить мою локальную среду разработки. Что включает в себя запуск небольшого скрипта для создания моего личного экземпляра БД из некоторых тестовых данных. После запуска…

Главный вывод из этой истории: сделайте резервную копию своих данных! Вы должны не только создать резервную копию, но и автоматизировать этот процесс.

Мы нашли эти проекты с открытым исходным кодом на GitHub, которые могут помочь в этом, если вы используете MongoDB. Резервная копия MongoDB а также MongoDB-восстановление автоматизировать процесс резервного копирования в MongoDB. Если вы не используете MongoDB или вам нужно что-то более надежное, ознакомьтесь с этой статьей, в которой рассматривается семь инструментов резервного копирования базы данных.

Что бы вы ни выбрали, дважды проверьте, работает ли ваша система резервного копирования.


👻 Невидимые ошибки

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

Вот отличный пример скрытой ошибки, представленной вам этим Сообщение Stackoverflow. Во время взлета пилоты Boeing 777 получили сообщение об ошибке, когда они находились в режиме автопилота, в котором говорилось, что их самолет заглох. Пилоты вернули ручное управление и благополучно посадили самолет. В ходе расследования было обнаружено, что проблема заключалась в скрытой ошибке в данных от вышедшего из строя акселерометра.

В случае ошибок, активных или скрытых, вам нужен надежный инструмент мониторинга ошибок. Если вы не слишком хорошо знакомы с отслеживанием ошибок, это инструмент, который предупреждает вас, когда в вашем проекте возникает ошибка. Один инструмент, который нам нравится, это Ошибка воздушного тормоза и мониторинг производительности (очевидно, поскольку мы Airbrake, лол), у которого есть бесплатный уровень разработчика.


🧠 Утечки памяти

В своей статье «Понимание утечек памяти в программировании,» Пьер ДеБуа описывает утечку памяти как «тип неправильного управления ресурсами при программировании… Они происходят, когда программные объекты хранятся в памяти компьютера, будь то ноутбук или смартфон, но затем выделенная память не освобождается, как задумано при программировании. » Если не остановить, утечки памяти будут потреблять память и приведут к снижению производительности.

Как обнаружить утечки памяти? Возможно, у вас уже есть решение!

Инструменты разработчика Chrome позволяет делать моментальные снимки кучи и инструментарий распределения на временной шкале записей, которые предоставляют такие метрики, как jsHeapSizeLimit, usedJSHeapSize и totalJSHeapSize. ДеБуа шаг за шагом проходит весь процесс по ссылке выше.


🧟 Медленное время отклика

Каждый испытал это! Вы находитесь на веб-сайте или в приложении, и страница загружается НАВСЕГДА. Медленное время загрузки распространено в программировании из-за нескольких факторов (новые коммиты, новые функции и т. д.). Полное объяснение того, почему это происходит, см. сообщение в блоге Johny’s Software Lab.

Вы можете узнать, замедляется ли ваше приложение SaaS с помощью Маяк Google Chrome. Lighthouse должен быть основным элементом вашего мониторинга, поскольку он позволяет вам видеть показатели производительности, доступности и SEO, связанные с производительностью вашего приложения.

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


😨 Что тебе снится?

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

Впрочем, хватит с нас! А вы? С какими кошмарными ситуациями вы сталкивались как разработчик? Как вы прошли через это? Дайте нам знать об этом в комментариях!