Как построить отказоустойчивую систему для ритейла в облаке
Как известно, рост бизнеса — это не только новые клиенты и растущие продажи, но и закономерное увеличение нагрузки на IT-инфраструктуру, которая в какой-то момент может стать тормозом для развития.
С такой проблемой столкнулся мебельный ритейлер «169»: сайты компании стали медленно грузиться, а пиковые нагрузки приводили к простоям. Это било по конверсии и мешало масштабироваться. Решением стала полномасштабная миграция в Рег.облако — для высокой производительности СУБД и поиска развернули выделенные серверы.
В основе вот какая начинка:
отказоустойчивый кластер PostgreSQL с WAL-архивированием;
кластер Elasticsearch с русской морфологией для поиска товаров;
Redis для кэширования;
медиафайлы хранятся в S3 с lifecycle-правилам;
вся инфраструктура управляется через автоматизированный CI/CD-пайплайн на собственном GitLab-сервере;
мониторинг метрик и бизнес-показателей через Prometheus, Alertmanager и Grafana с алертами в мессенджер.
Как это повлияло на бизнес:
конверсия сайта в покупку выросла на 15%;
годовой оборот интернет-магазинов увеличился на 20%;
затраты на администрирование инфраструктуры сократились на 30% за счет автоматизации и Pay-as-you-go-модели.
Подробнее о том, как выстраивали архитектуру и каких результатов достигли, разобрали в кейсе на сайте.
А у нас для вас сразу два вебинара про Kubernetes 🖥️☁️
Присоединяйтесь к встречам с экспертами Cloud.ru, чтобы узнать, как эффективнее работать в кубере и обеспечить безопасность контейнеров.
📅 16 сентября архитектор решений Илья Смирнов расскажет, как мультикластерная архитектура повышает отказоустойчивость сервисов. А еще — когда именно пригодится мультикластер и как его организовать с помощью фреймворка Karmada.
📅 18 сентября менеджер продукта Вера Орлова поделится, какую роль в защите контейнеров играет Admission Control, какие есть типы контроллеров и в чем разница между Kyverno и Gatekeeper.
Записывайтесь на вебинары и до встречи в 11:00 по мск ⏱️ Будет полезно всем, кого интересует, как организовать защиту и отказоустойчивость контейнеров: DevOps-инженерам, техлидам, специалистам по кибербезопасности — и не только.
Новый веб-интерфейс S3 в Рег.облаке: все основные операции теперь прямо в браузере
В Рег.облаке важное обновление для всех, кто работает с данными. Мы завершили большой этап по развитию интерфейса работы с объектами в нашем S3-совместимом хранилище. Теперь все основные операции с объектами доступны прямо через визуальный интерфейс личного кабинета — без необходимости использовать командную строку или сторонние файловые менеджеры.
Существенно расширили функциональность веб-интерфейса, добавив в него все ключевые фичи:
просмотр и сортировка объектов в бакете;
создание папок для организации данных;
прямая загрузка файлов до 1 ГБ прямо из браузера;
скачивание файлов;
генерация предварительно подписанных URL-ссылок для безопасного предоставления доступа к объектам на время;
копирование, перемещение и переименование объектов;
удаление отдельных объектов и папок, а также массовое удаление для очистки хранилища;
быстрый поиск по объектам в бакете.
Как это можно использовать на практике?
Обмен тестовыми данными с подрядчиком. Разработчик выгружает артефакты сборки в бакет и создает предварительно подписанную ссылку, а подрядчик скачивает файл по ссылке без регистрации в облаке и настройки сложных политик доступа. Это экономит время и упрощает взаимодействие.
Организация структуры в бакете. DevOps-инженер может навести порядок в хранилище: сгруппировать файлы по папкам, переименовать старые версии и удалить лишнее. В результате вся команда быстрее находит нужные данные, а хранилище становится опрятным и логичным.
Массовое удаление старых данных. Аналитики ежедневно загружают в бакет выгрузки объемом в десятки гигабайт. Когда отчеты или расчеты устаревают, их можно удалить одной операцией, а не по одному файлу. Это мгновенно освобождает место и упрощает управление.
Общекомандное хранилище. Команда может использовать бакет как единое пространство для тяжелых файлов: документов, образов, архивов логов. Больше не нужно пересылать гигабайты через почту или сторонние сервисы.
Подключить S3-хранилище можно в личном кабинете Рег.облака. Новый веб-интерфейс уже доступен всем пользователям.
Microsoft представила открытый исходный код интерпретатора BASIC для восьмиразрядных микропроцессоров MOS Technology 6502, разработанный в 1975 году. Опубликованная в открытом виде версия BASIC устанавливалась в ПЗУ размером 8 КБ и поддерживала работу на системах Apple II, Commodore PET, Ohio Scientific, MOS KIM-1с и симуляторе PDP-10. Код включает 6955 строк на ассемблере и открыт под лицензией MIT. Последнее изменение датировано 28 июлем 1978 года.
Код BASIC для 6502 может представлять интерес для любителей ретрокомпьютеров, использующих эмуляторы и реализации на базе FPGA. Среди прочего, компания Commodore анонсировала модель Commodore 64 ULTIMATE на базе FPGA, начало продаж которого намечено на октябрь. В Commodore 64 ULTIMATE заявлена совместимость с более чем 10 тысячами ретро игр при таких возможностях, как передача игр по Wi‑Fi, поддержка USB и режим ускорения для запуска новых игр.
2 апреля 2025 года Билл Гейтс в честь 50-летия Microsoft в своём блоге Gates Notes представилисходный код Altair BASIC (более 7 тыс. строк с комментариями), который он написал в соавторстве с Полом Алленом. Гейтс назвал этот проект «самым крутым кодом», который он когда‑либо писал, и символом скромного начала компании. В 1976 году Билл Гейтс и Рик Вейланд подготовили порт Altair BASIC для микропроцессоров 6502, который был лицензирован компанией Commodore и поставлялся как Commodore BASIC в компьютерах Commodore PET, VIC-20 и Commodore 64.
Август подошел к концу, а мы успели подготовить множество обновлений. Наша команда трудилась всё лето, чтобы сделать Рег.облако еще удобнее и мощнее. В этом дайджесте — ключевые новинки, которые вышли в прошлом месяце.
Рег.облако стал самостоятельным брендом
Выделили направление облачных и Bare-metal услуг в отдельный бренд — Рег.облако. Теперь профессиональная выделенная команда сконцентрирована исключительно на облачных продуктах и комплексном обслуживании IT-инфраструктуры бизнеса. Все наши продукты и сервисы представлены на новом сайте.
Выпустили готовый образ облачного сервера с Portainer
Веб-интерфейс Portainer для управления Docker-контейнерами, Kubernetes и другими платформами контейнеризации помогает создавать, запускать, управлять и мониторить контейнеры через графический интерфейс прямо в браузере. Протестировать новую фичу уже можно в личном кабинете Рег.облака.
Представили продукты по информационной безопасности
Новая ИБ-линейка на первом этапе запуска включает три комплексных продукта: ИБ как сервис, аудит и расследование инцидентов. Каждый сервис можно гибко настроить под нужды конкретного бизнеса.
Защищенное облако по модели IaaS полностью соответствует требованиям закона по работе с персональными данными. Облако ФЗ-152 размещено в изолированном сегменте ЦОД с повышенными стандартами безопасности и аттестовано лицензированным партнером по максимальному уровню защищенности (УЗ1), а развернуть его так же просто, как и обычный облачный сервер.
Встречаем осень с новыми силами и планами — мы продолжаем развивать Рег.облако, чтобы оно отвечало всем вашим запросам. До новых встреч уже в сентябре!
«СберТех», Cloud.ru и Хабр заколлабились и запустили грантовую программу «Код без границ». Это отличная мотивация для разработчиков и ресурсы для проектов. Можно доработать свой проект с поддержкой сообщества, найти единомышленников и показать свои возможности.
Участвовать просто:
разместить свой проект на GitVerse (СберТех) или импортировать его с другой площадки.
делится кодом и вдохновляться чужими разработками.
Номинации следующие: ИИ‑инновации, «Наука и образование», «Проекты для всех», «Разработка для разработчиков».
Заявки на грантовую программу «Код без границ» принимаются с 3 сентября по 31 октября. Отбор проведут в ноябре, а результаты огласят в декабре.
Представлен открытый репозиторий «The Little Book of Linear Algebra», где опубликовано введение в основные понятия линейной алгебры, причём кратко и понятно для начинающих.
• языки программирования: С++, С#, Rust, Haskell, Java, Go, JS, Swift, Python. • архитектура и дизайн кода, паттерны проектирования, документирование, функциональное программирование, контроль версий, тестирование, UX/UI — базу для создания качественного, мощного и стабильного ПО. • популярные фреймворки: Spring, Vue, Node, React, Xamarin. • полезные инструменты и приёмы для разработки программ: регулярные выражения в разных языках программирования, Docker, ZeroMQ и Dotfiles. • дополнительно позволяет изучить ML, компьютерное зрение, многопоточность, обработку естественного языка и SQL.
Потому что гораздо приятнее считать себя линуксоидом и ругать винду, чем признать, что руки кривые в любых обстоятельствах.
Мое маленькое ДАНО ХОЧУ:
сделать веб запрос к серверу из синей цмдушечки (такие вот у меня специфические желания). Можно и не из синей, но линукса под рукой у меня не оказалось, поэтому в распоряжении были только cmd и powershell.
А вот теперь ДАНО:
Веб сайт, развернутый на стенде и доступный мне через браузер (именно так я поняла, что именно руки у меня кривые, а не сайт просто не доступен).
Ну и cmd и powershell почти в прямой сетевой видимости к оному.
Из плюсов у приложения, к которому я так успешно подключилась через веб браузер есть целый свагер с описанием всевозможных ручек, из минусов он развернут на скорую руку, а значит с самоподписанным сертификатом, выпущенным обычным openssl на первой попавшейся машинки.
Но все по порядку. Вообще легкий гуголь (а точнее его иишка) говорит, что начиная с версии 5.1 синей цмдушечки есть alias curl, который в свою очередь вызывает Invoke-WebRequest, но предупреждает, что синтаксис и параметры у них отличаются от обычного curl.exe
Пробуем командлет Invoke-WebRequest -Uri "https://ya.ru", на что цмдушечка ругается на меня своими ошибками. Немного поигравшись с всевозможными кавычками командлет побежден не был, а ошибка в своей формулировки не изменилась
Invoke-WebRequest : Базовое соединение закрыто: Непредвиденная ошибка при передаче. строка:1 знак:1
С помощью команды host убеждаемся, что у нас стоит не самая допотопная powershell и идем копать дальше
Легкий гуголь ошибки Invoke-WebRequest : Базовое соединение закрыто: Непредвиденная ошибка при передаче. говорит, что дело в том, что он не может договориться о том, какое соединение использовать.
А гуголь поглубже напоминает, что у винды все логи в event-viewer'e и туда вообщем-то стоит ходить за ответами. Но у меня он ничего нового мне не сообщил - просто повторил все то же, что вывел мне в ответе. Еще этот же самый гуголь предлагает обновиться до версии 7.1 обещая золотые горы и устранение всех ошибок.
А вот обычная cmd и ее curl.exe была больше благосклонна ко мне и не стала истерить, как ее синяя подруга. Поэтому curl https://habr.com мне конечно ничего не вернул, но зато написал, что редиректид на https://habr.com/en/feed/ и завершилась без ошибок.
А вот при попытке зайти на самодельный сайт стал ругаться на сертификат
curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - Цепочка сертификатов выпущена центром сертификации, не имеющим доверия. More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the webpage mentioned above.
Но с ключем -k даже так уже не капризничал.
Усложняем задачу: нам надо не просто ткнуться в сайт, а дернуть ему ручку по GET запросу
Удивительно, но и тут проблем не возникло, добавив к команде ключ -X и указав тип запроса GET мне цмдушечка вернула ответ (потрясающая цмдушечка)
Усложняем задачу х2: теперь желаю стать владычицей морскою отправить не просто GET запрос, а еще и в его header'e добавить параметр!
curl -k -X GET https://10.10.0.1/api/getRequest -H Head-Parameter:value
Удивительно, но так тоже сработало.
Какой можно сделать вывод? правильно! черный цвет решает!
В этой битве за право работать в суровых условиях моих кривых рук победила стандартная командная строка. И хоть не все мои усложнения удалось победить так же легко, как эти первые два, я бы хотела закончить свой маленький текст на положительной ноте и пойти добывать себе шоколадку за прожитый стресс, тем более, что хабр ограничивает мои фантазии в количестве символов на одну душу один пост.
Что можно сказать и на баттле по Kubernetes, и на семейном застолье? 🥂
«Ну чего вы опять спорите, нормально же сидели!»
Именно так и прошел наш прямой эфир в прошлый четверг. Георг Гаал вкидывал неудобные вопросы, а Артем Гаврилов — парировал и рассказывал, как мы прокачали наш Кубер.
«Идея вебинара была в том, чтобы сделать проблемы более прозрачными. Такие сложные продукты не создаются за один день. Тарифы и конфиги нового Kubernetes не всегда способны сразу закрыть все возможные юзкейсы».
(с) Артем Гаврилов, продакт-лид Timeweb Cloud
До драки не дошло, но за спором понаблюдать можно на ютубе, рутубе и в вк.
Вместе с коллегами Selectel и экспертами из других компаний будем обсуждать вопросы, которые волнуют всех сетевых специалистов. Подключайтесь к Selectel Network MeetUp!
Программа
18:05-18:45 — Начнем вечер с доклада технического директора Selectel Кирилла Малеванова. Поговорим о переподписке в сетях CLOS’a, обсудим, зачем она нужна и какое значение коэффициента возможно в современных сетях.
18:45-19:25 — Передадим слово руководителю RnD Дмитрию Чигишеву. Присмотримся к разным открытым ОС и их архитектуре. Выясним, зачем нужен SAI, если есть SDK.
19:50-20:30 — После небольшого перерыва перечислим, что нужно знать при переходе на 400GE. Вместе с сетевыми инженерами Selectel Евгением Никифоровым и Алексеем Антоновым обсудим опыт работы с 400GE-решениями.
На GitHub вышел открытый проект SeedBox Lite, который позволяет развернуть аналог Netflix у себя дома. Решение предоставляет библиотеку контента с торрентов — в бесплатном доступе все фильмы мира. Мгновенный старт — смотрите сразу, не дожидаясь загрузки. Плеер как у стримингов: субтитры, фуллскрин, жесты. Работает на смартфоне, планшете и ПК и вообще всем, где есть браузер. Можно закрыть паролем. Устанавливается за минуты по простому гайду.
В SpaceWeb усилили инфраструктуру связи и отказоустойчивость хостинг-систем
Сегодня делимся сетевыми новостями. Подключили в SpaceWeb дополнительного оператора и запустили пиринг через PiterIX. Теперь у нас есть два независимых магистральных канала связи и резерв. Оба защищены от DDoS-атак, а трафик направляется по наиболее короткому маршруту до пользователя. Если один канал даст сбой, то второй мгновенно берет на себя 100% нагрузки.
Также подключились к PiterIX — одной из крупнейших точек обмена интернет-трафиком в России:
500+ участников;
14,5 Тбит/с пропускной способности;
узлы в 15 городах РФ.
Трафик от провайдеров, подключенных к этим точкам, идет в SpaceWeb напрямую, минуя лишние промежуточные сети.
Рассказываем для новичков, что такое CLI и как ускорить работу с помощью простых команд. CLI (Command line interface) — интерфейс командной строки, который позволяет управлять различными процессами в операционной системе: запуском программы, регулировкой прав доступа, созданием и удалением файлов.
Собрали наиболее часто используемые команды для разных ОС:
Подробнее о возможностях CLI и быстром управлении файлами и папками рассказали в базе знаний Рег.облака — предлагаем использовать новую команду «зайти почитать» :)
А ну быстро подключите мне MySQL через Кубер, иначе я ТАКОЙ СКАНДАЛ УЧИНЮ 📱
Многие просили добавить возможность управлять базами прямо из Kubernetes-кластера. Кто мы такие, чтобы отказать?
В дополнениях Kubernetes вас ждет наше дополнение TWC DBaaS Operator, через которое вы можете:
Создавать инстансы баз данных
Добавлять базы внутри инстансов
Управлять пользователями и правами
Представим, что у вас фитнесшеринг. Абонементы, биллинг, расписания и карточки клубов — в MySQL. Быстрые фильтры, сессии, «удержание» брони и счетчики свободных мест — в Redis.
Раньше: пришлось бы отдельно заводить инстансы в панели, настраивать доступы и добавлять инстансы баз данных в ту же приватную сеть, что и Kubernetes.
Сейчас: достаточно описать нужные базы и пользователей в YAML-манифесте — и кластер сам развернет всю инфраструктуру одной командой.
Решение айти проблем эмпирическим путем и методом свободного гугла с попыткой выработать какой-то ПЛАН, чтобы его придерживаться
ну а еще мне просто нравится писать - от этого становится пусто в голове и вся полученная информация упорядочивается в изящную структуру, которая перестает быть сплошным хаосом.
а еще я люблю обратную связь и ваши комментарии (и хоть предыдущий мой пост заминусили, такая обратная связь тоже была полезна, хоть и болезненна).
А еще я вру себе (и вам), что может быть мои много буков ради буков кому-то помогут или хотя бы развлекут.
А еще дурацкая мелкомягкая ворвалась на моем (и так сложном) пути мотивации себя любимой к работе с очередной глупой ошибкой, которая не починилась с полтычка и потребовала распределения всего попавшего под руку по полочкам.
И так, мое ДАНО:
Виртуальная машина VirtualBox 7.1.6 c Windows 10 (Корпоративная LTSC) 21H2 на такой же мелкомягкой, но уже Windows 11 (Корпоративная) 23H2 с настроенным типом сети NAT (то бишь самой простой из возможных в мире виртуалбокса).
И все в целом работало стабильно до сакрального "я ничего не трогала, оно само" исчезновения интернета с виртуальной машины. Точнее пинг до 8.8.8.8 шел, а уже на ya.ru дорогу найти не мог! И казалось бы - дело в DNS! но не тут-то было!
При установке типа NAT в виртуалбоксе, адрес у системе устанавливается по DHCP и DNS приходит оттуда же. Если в свойствах интерфейса принудительно поставить имя DNS сервера на четыре восьмерки - чуда не происходило, а в тырнетик машинка напрочь отказывалась идти.
Что было проверено?
Я перезагружала виртуальную машину
Я перезагружала хост, на котором виртуальная машинка запускалась
Я выключала\включала сетевой кабель в настройках ВМки (не, ну а что? ну а вдруг?)
Я выключила к чертям интерфейс в настройках ВМки и активировала соседний с таким же типом подключения (то бишь NAT).
Я выключила брендмауер на виртуальной машинке.
И хоть попытки документирования таких вот безобразий как раз предпринимаются для упорядочивания моих сумбурных шагов к светлому будущему и решению внезапно возникающих проблем на моем пути, все встало на круги своя почти так же внезапно, как и пропало.
Упал - очнулся гипс!(с)
Последнее, что я смогла отметить и вспомнить после попытки, когда ничего не работало и чудотворным моментом появлением святого интернета на виртуальной машинке - это смена мак адреса в настройках самой виртуальной машины. До этого я еще выключила брендмауер на общественную сеть (а именно такой мелкомягкая окрестила это подключение), убедившись что после этого интернет все-равно не появился - я отправила машинку на перезагрузку (уже десятую за день, потому что вариант с "выключить\включить" все еще один из самых рабочих).
Каждый сервис можно будет гибко настроить и кастомизировать под конкретные нужды и задачи бизнеса. Фактически, вы сами собираете тот уровень защиты, который нужен прямо сейчас: от базовой гигиены до реагирования на инциденты.
Основная цель — сделать такие услуги максимально доступными для малого и среднего бизнеса. Например, провести полноценный аудит информационной безопасности для инфраструктуры в 5-7 серверов можно начиная от 50 тыс. рублей.
В Рег.ру запустили публичное облако для работы с персональными данными
Делимся важным апдейтом команды Рег.ру — запустили защищенное облако по модели IaaS. Облако 152-ФЗ полностью соответствует требованиям закона по работе с персональными данными. Новое решение размещено в изолированном сегменте ЦОД с повышенными стандартами безопасности и аттестовано лицензированным партнером по максимальному уровню защищенности (УЗ1).
Как работает безопасное облако: сетевой сегмент отделен от других клиентских сетей, используются межсетевые экраны с системами обнаружения вторжений, а также средства канального шифрования и доверенной загрузки.
Переход на защищенную платформу позволит пользователям решать комплексные задачи: не только ускорять запуск проектов и снижать затраты на IT-инфраструктуру, но и соответствовать правилам обработки персональных данных.
Мы продолжаем усиливать экспертизу в области безопасности — новое решение стало еще одним шагом в этом направлении. Подробнее об Облаке 152-ФЗ читайте на сайте.