Search
Write a publication
Pull to refresh
0
@lektor32read⁠-⁠only

User

Send message

Конвертация в один клик! Как перенести код из Teradata в GreenPlum без лишних затрат и усилий

Level of difficultyHard
Reading time11 min
Views2K

Привет, Хабр! Миграция баз данных из одной СУБД в другую представляет собой особо сложную задачу, требующую тщательного планирования, подготовки и исполнения. В 2023 году в Сбербанке завершился масштабный проект по миграции крупного аналитического хранилища данных с платформы Teradata на GreenPlum. Особое внимание уделялось таким направлениям, как:

Повышенная трудоёмкость ручного переписывания SQL‑скриптов из‑за разницы в диалекте и специфических встроенных функций Teradata.

Перенос архива данных из Teradata, объемом более 400 Тб.

Кросс‑платформенная проверка качества данных в ходе и после завершения миграции.

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

Читать далее

Защищаем сервис от перегрузки с помощью HAProxy

Reading time13 min
Views14K

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

Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.

Читать далее

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Views55K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее

Как я ad-hoc задачи аналитиков автоматизировал

Level of difficultyEasy
Reading time6 min
Views12K

Лид продуктовой аналитики о том, как спасал свою команду от ad-hoc-задач, что получилось, а что нет и как нужно было действовать. История внедрения изменений в команде аналитики.

Читать далее

Как я склеил картон и продал на маркетплейсах на 50 млн в год

Level of difficultyEasy
Reading time8 min
Views306K

В 2020-м мой работодатель начал прижимать меня по условиям, я забрал команду, снял склад и запустил свое производство когтеточек. Казалось бы, ничего сложного: закупаешь клей, картон, и находишь людей, которые 5 000 раз в день готовы повторять одни и ту же операцию. Но есть нюансы.

Читать далее

Тормозящая виртуализация на x86. Небольшая попытка разобраться. Часть 2: ESXi by Broadcom

Level of difficultyHard
Reading time8 min
Views11K

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

Часть 2. Что из этого следует, и как устроен планировщик в Broadcom ESXi. Тут не будет ничего нового для тех, кто открывал документацию про изменение модели планировщика side-channel aware scheduler (SCA) - SCAv2, и дополнительно читал Performance Optimizations in VMware vSphere 7.0 U2 CPU Scheduler for AMD EPYC Processors и Optimizing Networking and Security Performance Using VMware vSphere and NVIDIA BlueField DPU with BWI

Читать далее

Тормозящая виртуализация на x86. Небольшая попытка разобраться. Часть 1: Общий обзор

Level of difficultyHard
Reading time10 min
Views17K

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

Про что текст. Я знал, что виртуализация «тормозит по сравнению с baremetal», но заметил, что я, и не только я, порой не понимают «почему» и списывают это на превратности климата, кривой код в кровавом энтерпрайзе, и просто на «так устроен мир». Но ведь так нельзя (можно), надо примерно представлять — почему тормозит, и насколько тормозит.

Читать далее

DIY: Ваше собственное облако на базе Kubernetes (часть 2)

Level of difficultyMedium
Reading time8 min
Views11K

Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин и всего что для этого необходимо, а это в первую очередь хранилище и сеть.

Мы поговорим про такие технологии как KubeVirt, LINSTOR и Kube-OVN

Для начала мне стоит рассказать зачем вообще нужны виртуальные машины, почему бы нам не ограничиться только-лишь контейнерами?

Всё дело в том, что контейнеры в ядре Linux не дают должного уровня изоляции. Несмотря на то, что с каждым годом ситуация становится всё лучше, тем не менее довольно часто мы сталкиваемся с уязвимостями, позволяющими покинуть песочницу контейнера и повысить свои привилегии в системе.

Читать далее

Обучение системного инженера. Путеводитель по ключевым навыкам и знаниям

Level of difficultyEasy
Reading time9 min
Views25K

Всем привет! Меня зовут Максим, я работаю системным инженером в Yandex Cloud и в Яндекс Практикуме на курсе «Системный администратор». В этой статье я опишу свой субъективный взгляд на путь развития системного инженера (DevOps‑инженера, SRE, системного администратора).

Системный инженер — ключевой игрок в создании и поддержании сложных информационных систем. Он объединяет в себе знания из различных областей: от аппаратной части и инфраструктуры до программного обеспечения и сетей.

В дополнение к этой статье я создал:

- диаграмму на roadmap.sh;

- git‑репозиторий со ссылками на ресурсы для изучения (жду ваших пул‑реквестов).

Читать далее

Ключи Supermicro, SSM, VMWare и лекарство от жадности

Reading time5 min
Views33K

Ни для кого не секрет, что крупные производители серверного оборудования любят продавать самые вкусные фишки своего оборудования за отдельную плату. Supermicro ничем не лучше: начиная с X9 (Romley), появилась возможность обновлять BIOS материнской платы из-под веб-интерфейса IPMI, но, как говорится, есть нюанс. Для разблокировки этой возможности необходимо приобрести отдельную лицензию OOB.

Читать далее

Личное облако на Proxmox

Level of difficultyMedium
Reading time8 min
Views28K

В прошлой статье (https://habr.com/ru/articles/794508/) я писал как поставить Proxmox 8 на Orange Pi 5(b). Это даже получилось, но я уперся в то, что производитель железки не выпускает свежие ядра под нее. Для железки есть 5.10.160 и оно устарело для Proxmox 8. Виртуалки работают, но есть проблемы с фаерволом. Производитель обещает вот-вот выпустить новое, но ждать я не стал и решил сделать инфраструктуру по другому. О чем и напишу. Получается уже цикл статей. Эта будет описывать цель и первые шаги к ней.

Читать далее

Сборник советов, как упростить работу с YAML-файлами

Level of difficultyEasy
Reading time5 min
Views23K

YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использовать его бывает трудно. В этой статье мы рассмотрим несколько советов, которые помогут упростить процесс создания и редактирования yml-файлов.

Читать далее

Погружаемся в Kubernetes: полезные материалы от сотрудников Selectel

Level of difficultyEasy
Reading time6 min
Views13K

Часто новичкам сложно начать работу с Kubernetes. Нужно перебрать с десяток курсов, прежде чем они найдут действительно полезные материалы. Чтобы помочь вам с выбором, мы попросили коллег порекомендовать ресурсы для изучения Kubernetes. Сохраняйте в закладки: пригодится начинающим разработчикам, администраторам и DevOps-инженерам.
Читать дальше →

DIY: Ваше собственное облако на базе Kubernetes (часть 1)

Level of difficultyMedium
Reading time8 min
Views22K

Мы очень любим Kubernetes и мечтаем чтобы все современные технологии поскорее начали использовать его замечательные паттерны.

А вы когда-нибудь задумывались о том чтобы построить своё собственное облако? Могу поспорить что да. Но можно ли это сделать используя лишь современные технологии и подходы, не покидая уютной экосистемы Kubernetes? Нам по опыту разработки Cozystack пришлось с ним как следует разобраться.

Да, вы могли бы возразить что Kubernetes для этого не предназначен и почему бы не использовать OpenStack для Bare Metal-серверов а внутри него запускать Kubernetes как положено. Но поступив так, вы просто переложите ответственность с ваших рук на руки OpenStack администраторов. Что добавит как-минимум ещё одну сложную и неповоротливую систему в вашу экосистему.

Зачем так всё усложнять? - ведь на данный момент Kubernetes уже имеет всё необходимое для запуска Kubernetes кластеров.

Читать далее

Создаём виртуальную сеть, как это делает Docker

Level of difficultyEasy
Reading time8 min
Views28K

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

Читать далее

Как я закрыл свой столярный бизнес

Level of difficultyEasy
Reading time9 min
Views87K

Когда думаешь про столярную мастерскую, то рисуется идиллическая картина: чел в кожаном фартуке, с киянкой возле верстака. Реальность немного иная. Если любите запах опилок, если нравится, как фугованная доска выглядит, если хочется ее погладить – приходите в комментарии, мужики.

В 2018-м я открыл столярную мастерскую. Четыре года продавал столешницы, разделочные доски и полочки. Нанял 2-х сотрудников, бился с Авито, Озоном и демпингом, вышел на оборот 500к в месяц, но вернулся обратно в найм. И вот почему.

Читать далее

Как нефункциональные требования влияют на архитектуру

Reading time8 min
Views12K

Привет, Хабр, меня зовут Светлана Уварова, я — ведущий системный архитектор в МТС.

В этой статье я расскажу о том, как может меняться архитектура системы в зависимости от нефункциональных требований к ней, и как важно знать все нефункциональные требования на начальном этапе проектирования системы.

Читать далее

Демонстрация переноса виртуальной машины с VMware на vStack с помощью MIND Migrate

Reading time2 min
Views3.5K

Эдуард Сотников, пресейл-архитектор компании MIND Software, демонстрирует, как быстро и без потерь данных перенести виртуальную машину из облака на базе VMware в облако на базе vStack. Кейс нестандартный: платформа VMware находится в защищенном закрытом контуре и до нее невозможно достучаться извне. 

Исходные данные.

Виртуальная машина на ОС Linux Ubuntu 22.04 с развернутым на ней веб-сервером NGINX.

Инструмент миграции — MIND Migrate

Читать далее

Заранее неправильные ответы — 2 или неправильные ответы, которые многие хотят услышать на техническом интервью: Сети

Reading time5 min
Views6.3K

Для лиги лени: до сих пор часть людей считает, что Etherchannel \ LAG – лучшее, что придумали в части сетей.

Читать далее

Где джуну оттачивать навыки программирования: 6 бесплатных ресурсов

Reading time3 min
Views74K

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

Читать далее

Information

Rating
Does not participate
Registered
Activity