Pull to refresh
1
0
Владимир @Kozoft

Release Engineer

Send message

От Kubernetes в мечтах к Kubernetes в проде. Часть 3. Доставка кода, GitOps, ArgoCD

Reading time12 min
Views7.3K

В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрели предпосылки перехода на новую инфраструктуру и познакомились с азами Kubernetes, теперь пора перейти к следующему шагу – доставке кода. В рамках этой статьи мы подробно рассмотрим методологию GitOps и ее реализацию на примере ArgoCD.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments2

От Kubernetes в мечтах к Kubernetes в проде. Часть 2: о Kubernetes

Reading time12 min
Views5.1K

В серии статей по теме DevOps мы рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В первой части мы остановились на основных предпосылках внедрения и выбранном подходе. В этой статье вместе с  Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассмотрим подробнее фундамент нашей инфраструктуры — Kubernetes. 

Разумеется, статей об этом оркестраторе огромное множество, и можно на протяжении всей карьеры узнавать о нем что-то новое. Сразу уточним — в этой части мы не планируем копать глубоко. Попытаемся дать основы, описать Kubernetes так, чтобы сложилось базовое представление об этом инструменте. 

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

От Kubernetes в мечтах к Kubernetes в проде: как построить инфраструктуру для деплоя. Часть 1

Reading time8 min
Views8.1K

Не так давно мы в департаменте информационных систем (далее – ДИС) ИТМО начали выстраивать новую инфраструктуру для деплоя наших проектов. Образовательным организациям обычно с бюрократической точки зрения сложно прийти к масштабным внедрениям. Нам повезло ― мы смогли путем проб и ошибок выбрать удобные проверенные технологии и реализовать единую среду, которая задала формат взаимодействия между администраторами и разработчиками.

В общей сложности подбор инструментов и их внедрение заняли полтора года. Конечно, иногда был непросто: наступали на “грабли” и возвращались, чтобы выбрать более удачный путь. И это несмотря на то, что в общих чертах было изначально понятно, куда двигаться.

Проанализировав свой опыт, мы решили поделиться основными предпосылками и выводами. Хочется надеяться, что это облегчит внедрение тем, кто пойдет аналогичной дорогой.

В рамках университетского блога мы вводим новую рубрику по DevOps, в которой Lead DevOps инженер ДИС Михаил Рыбкин расскажет, как вместе с командой внедрил платформу деплоя для разработчиков.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments0

Лучшая фантастика последних трех лет по версии Goodreads

Reading time5 min
Views136K

GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.

Читать далее
Total votes 50: ↑46 and ↓4+54
Comments180

Гайд для новичков по установке Kubernetes

Level of difficultyMedium
Reading time33 min
Views66K

© кадр из к/ф «Пираты Карибского моря»

С чего начинается практическое освоение любой системы? Правильно, с установки. Данный гайд является компиляцией из народной мудрости, официальной документации, а также собственного опыта и призван помочь новичкам разобраться с тем, как же все таки устанавливать Kubernetes.

Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.

Весь процесс установки будет детальным образом прокомментирован и разложен по шагам, а в реперных точках мы будем делать снимки состояния виртуальных машин (snapshots), что позволит рассмотреть различные варианты установки без необходимости делать одну и ту же работу по несколько раз.
Читать дальше →
Total votes 22: ↑21 and ↓1+24
Comments13

Разработка игр на Go: шейдеры

Level of difficultyMedium
Reading time14 min
Views8.4K

Давненько я не писал никаких статей на Хабре.


Я планировал вести серию заметок о разработке игр на Go и начал я с рендеринга текста, но меня не хватило даже на второй текст. Что же, настало время возвращаться, ведь с того момента я успел создать ещё несколько игрушек.


Сегодня я расскажу вам о шейдерах в Ebitengine. Большая часть примеров будет взята из Roboden и Decipherism (обе игры имеют открытые исходные коды и вы можете найти их на гитхабе).


Читать дальше →
Total votes 23: ↑22 and ↓1+25
Comments5

CustomView Android. Кольцевая диаграмма для отображения статистики

Level of difficultyMedium
Reading time25 min
Views9.2K

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

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

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

Вперед за CustomView!
Total votes 10: ↑9 and ↓1+9
Comments8

Как настроить мониторинг и оповещения на Nginx ingress в Kubernetes

Reading time8 min
Views12K


Команда VK Cloud перевела пошаговую инструкцию о том, как установить и сконфигурировать ingress-nginx, Prometheus и Grafana, а также настроить оповещения для ключевых метрик Ingress. Для работы понадобится кластер Kubernetes и Helm v3.
Читать дальше →
Total votes 10: ↑9 and ↓1+17
Comments3

Укрощение кислорода и подводные камни терраформирования

Reading time12 min
Views15K

Терраформирование — одна из самых долговечных (но не самых древних) идей в научной фантастике. Не подвергается сомнению, что скалистые планеты у других звёзд обживаемы, при условии, что на них есть гидросфера и атмосфера, и залог колонизации этих миров — приближение их биохимических, геохимических и климатических характеристик к земным. Более того, в фантастике рубежа XIX и XX веков, вдохновлённой мечтами об обитаемости Марса (Уэллс и Берроуз) не подвергается сомнению, что марсиане свободно дышали бы на Земле без средств жизнеобеспечения, а на своей планете даже искусственно поднимали бы уровень кислорода при помощи специальных атмосферных фабрик. Один из самых зрелищных эпизодов терраформирования Марса в кинофантастике — это финал фильма «Вспомнить всё» (1990). Но уже в книге «Голубая точка» Карла Сагана, оригинал которой вышел в 1996 году, терраформирование Венеры описывается как экологическая катастрофа, поскольку резкое и даже поступательное насыщение любой планеты газообразным кислородом и водяным паром приведёт к фундаментальной перестройке условий на поверхности планеты и, возможно, в её глубинах. С накоплением данных об экзопланетах (в основном эта информация собрана космическими телескопами Kepler, TESS и Cheops) требуется уточнить, каковы приемлемые рамки увлажнения и оксигенации экзопланеты, чтобы на ней могла существовать жизнь. В этой статье будет рассмотрено, сколько кислорода действительно нужно для жизни, каковы риски дефицита или избытка кислорода в атмосфере, а также какие факты об этом уже известны из изучения экзопланет.    

Читать далее
Total votes 49: ↑46 and ↓3+68
Comments237

Теория ограничений Голдратта и проектное управление. Диагональный буфер

Level of difficultyEasy
Reading time5 min
Views2.9K

Диагональный буфер — это часть решения по управлению проектами в Теории Ограничений Голдратта (ТОС). Это только часть решения, части проблем. Решения не бывают хорошими или плохими вне контекста. В предыдущей заметке я описала проблему, которую решает диагональный буфер, время прочтения — 4 минуты. Посыл — срок задачи в проекте не работает как хотелось бы.

Решение ТОС для проектного управления называется метод Критической цепи. Отличается от метода Критического пути тем, что мы уходим от срока задачи.

Диагональный буфер — это инструмент приоритизации. Если у нас не будет сроков задач, то непонятно как в каждый момент времени ответить на вопросы: мы успеваем, или пора торопиться, или уже пора разговаривать с заказчиком о переносе срока? А если я могу приступить к выполнению нескольких задач из одного, или даже разных проектов, как выбрать, с какой начать?

Пишем подробный план

Мы начинаем с того, что строим обычную диаграмму Ганта. Выписываем задачи и распределяем их в порядке выполнения. Чем подробнее будет ваш план, тем лучше. Что такое подробный план? Если, например, нам нужно написать ТЗ, то нельзя отделаться одной задачей: «Написать ТЗ«. И даже если вы добавите «Согласовать ТЗ», этого тоже будет недостаточно. Подробный: написать ТЗ, показать, доработать, показать, доработать и т. д. Чем лучше такой план? Тем что задача «написать ТЗ» будет оценена мной в 2 недели. А набор из 6 мелких задач будет оценён мной в 3.5 дня. Это не значит, что я оставлю себе на это 3.5 дня, но это значит, что дальнейшие мои расчёты будут реалистичнее.

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments0

6. Устойчивость систем автоматического регулирования. 6.5. Частотный критерий Найквиста

Level of difficultyMedium
Reading time11 min
Views10K

Продолжаем разбиратся теорией автоматического управления, по лекциям Олега Степановаича Козлова, "Управление в технических системах". Сейчас у нас будет годограф Найквиста.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Как я веду свою систему учета дел, материалов и знаний

Reading time5 min
Views9.2K

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

Зачем я это делаю? Это позволяет посмотреть на свою жизнь немного сверху. Например, у меня получился ленивый период и я по вечерам смотрел ютуб. Во-первых, скорее всего я бы даже не заметил, сколько времени и какие видео я смотрел. А даже если бы заметил, то в рамках одного дня это бы не сильно меня смутило: "ну посмотрел 2 часа видео с мемами, мне надо было отдохнуть".

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

Читать далее
Total votes 13: ↑11 and ↓2+12
Comments18

Как взломать Kubernetes (и как его защитить)

Reading time8 min
Views4.1K

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

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

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

Читать далее
Total votes 10: ↑9 and ↓1+9
Comments0

Зачем нужны feature-окружения и как с ними работать

Level of difficultyEasy
Reading time12 min
Views2.6K

Паттерн feature-окружений называют по-разному: ondemand, review- или preview-окружения. Он нужен, чтобы приблизить среду разработки к продакшену, и позволяет разом избавиться от множества проблем, связанных с организацией разработки и переносом кода.
Но для создания feature-окружений и работы с ними ваш технологический стек должен быть достаточно мощным, чтобы обеспечить необходимую гибкость и динамичность. В этой статье я расскажу, как реализовать некоторые механизмы, необходимые для эксплуатации feature-окружений.


Читать дальше →
Total votes 3: ↑2 and ↓1+2
Comments0

«Глаза» беспилотных автомобилей: LiDAR и компьютерное зрение

Reading time13 min
Views12K

Самоуправляемое транспортное средство может «видеть» разными способами. Человеческое зрение ему заменяют радары, камеры, лазеры, радиоволны и ультразвук. В этом обзоре поговорим о лидарах и компьютерном зрении (CV) — двух основных инструментах, на которых основано автономное восприятие окружающего мира беспилотными автомобилями. Мы коротко опишем принцип работы технологий, расскажем, кто производит и внедряет подобные устройства, а также сравним их основные достоинства и недостатки.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments7

Механизм автопилота мозга управляет сознанием

Reading time17 min
Views12K
Представления Фрейда о темном, либидном бессознательном устарело. Новая теория утверждает, что мозг производит непрерывный поток бессознательных предсказаний.


Иллюзия треугольника Каницца свидетельствует о том, что восприятие основано на неявных выводах. Зрительная система конструирует воображаемый треугольник как способ “объяснить” расположение окружностей. Источник: Scientific American

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

Согласно теории “предсказательного разума” сознательный опыт возникает только тогда, когда скрытые ожидания мозга не оправдываются.

Высокоуровневая когнитивная обработка в коре головного мозга может происходить без возникновения сознательного опыта. Сознательное внимание направляют области мозга ответственные за эмоции и мотивацию, а не кора головного мозга.
Читать дальше →
Total votes 20: ↑18 and ↓2+20
Comments25

Чистый код, часть 1

Reading time16 min
Views21K

Привет! В этом посте я хочу обсудить, что такое чистый код и почему я считаю его очень важной практикой. Если у вас всё руки не доходили до того, чтобы сесть и подробно почитать книги Дяди Боба, я подготовил небольшой конспект по его видеолекциям со своими примерами с самым главным.

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

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

Читать далее
Total votes 23: ↑19 and ↓4+20
Comments36

Корутины в UnrealEngine

Level of difficultyMedium
Reading time22 min
Views11K

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

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments8

Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство

Reading time8 min
Views291K

Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!

Начать читать
Total votes 125: ↑100 and ↓25+95
Comments174

Релокация в Словению, дорожная карта

Reading time3 min
Views5.9K

Приветствую коллеги! С вами Александр Стрелов, разработчик, предприниматель и немного писатель. Давно у меня не было времени на реализацию в последнем направлении, исправляюсь.

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

Поехали!
Total votes 21: ↑14 and ↓7+11
Comments4
1
23 ...

Information

Rating
5,243-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity