0

Колибри – большое сердце, маленькое тельце!

ТАК много...

ТАК много...

Если смотреть со стороны, многие приложения кажутся до смешного простыми. Открыл, нажал кнопку, что-то заполнил, что-то отправил – всё. «Ну что там делать, пять экранов и одна форма, господи». И это нормальная реакция обычного пользователя. Но внутри команды программистов ты очень быстро узнаёшь правду: чем проще выглядит приложение снаружи, тем, скорее всего, сложнее оно устроено изнутри. Особенно, если оно не просто «крутится», а стабильно работает, держит нагрузку, не теряет данные и умеет адекватно развиваться. Вот там начинается мир, о котором большинство вообще никогда не задумывается, – мир бэкенда.

Что такое бэкенд по-человечески?

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

За одной кнопкой «Отправить» может стоять:

сервер, который принимает запрос;

очередь, в которой этот запрос ждёт своей обработки;

сервис, который проверяет корректность данных;

база, где это всё записывается;

отдельный сервис, который шлёт уведомление;

ещё один, который пишет в лог, что именно произошло.

Пользователь видит только экран «сработало» или «не сработало». Всё остальное существует где-то в тени: очереди, логи (записи о том, что происходило в системе в конкретный момент) и т.д. Любое мало-мальски серьёзное приложение живёт на очередях. Например, человек отправил пожертвование, а у вас в этот момент одновременно ещё сотни людей что-то делают в приложении. Всё это нельзя обрабатывать в лоб, иначе в какой-то момент всё подвиснет намертво. Поэтому запросы выстраиваются в очереди: сначала одно действие, потом другое, где-то параллельно, где-то последовательно. Для пользователя «всё работает» или «ничего не работает». Для бэкендера между этими двумя состояниями тысячи вариантов.

Если нет грамотного логирования, все эти ситуации превращаются в одну правду: «у меня ничего не работает, исправьте». Хороший бэкенд – это когда за каждой такой фразой можно найти конкретный запрос, конкретную ошибку.

Почему «простое приложение» не значит «простая работа»?

Снаружи всё действительно может выглядеть довольно скромно. День отрисовали интерфейсы, неделю писали бэкенд, месяц всё это нормально запускали и связывали.
Потом кто-нибудь спрашивает: «А почему вы три недели ничего нового не выкатываете, у вас же всего пара экранов?»

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

Да, это иногда обидно. Вы горбатились месяц, сделали сервис устойчивее, быстрее, более масштабируемым, а пользователю кажется: «Ну они просто сидели и думали». Но есть и плюс, причём очень серьёзный.

Во-первых, скорость развития. Парадоксально, но чем больше времени потрачено на нормальный фундамент, тем быстрее потом можно добавлять «простые функции». Если бэкенд кривой, любая новая задача превращается в мини-ремонт с проводкой.

Во-вторых, масштабируемость. Сегодня у тебя тысяча пользователей, завтра десять тысяч, через год сто (ПОЖАЛУЙСТА, мы бы были рады такому). Если бэкенд к этому не готов, приложение начинает «сыпаться» при первой же серьёзной нагрузке. Хороший бэкенд – это запас по прочности, который никто не видит, пока он не понадобится.

В-третьих, предсказуемость. Когда у тебя настроены логи, мониторинг, ты знаешь, что если что-то пойдёт не так, ты хотя бы поймёшь, где искать.

И, наконец, доверие. Пользователь может не знать, что у вас там с очередями и архитектурой, но он очень хорошо чувствует другое: «здесь всё стабильно» или «здесь всё время что-то ломается».

Почему про бэкенд почти никто не думает?

Пользователю это не нужно – и это нормально. Его задача – решить свою проблему в приложении. Всё остальное – ваша ответственность. Но внутри команды полезно иногда честно признавать: «Да, есть огромный кусок работы, который никто никогда не похвалит в лоб». Никто не напишет: «Спасибо, что у вас такие классные очереди и структурированные логи». Максимум скажут: «Спасибо, что всё работает».

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

P.S. У нас очень крутой бэкендер, поддержите его работу своей активностью, это моя личная просьба ;)

Реклама ООО «ЮНИК», ИНН: 7751240810

Пожалуйста, соблюдайте правила общения в блогах компаний

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества