Как стать автором
Обновить
0
0
Владимир @Kozoft

Release Engineer

Отправить сообщение

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

Время на прочтение 12 мин
Количество просмотров 6.9K

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 2

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

Время на прочтение 12 мин
Количество просмотров 4.7K

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

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

Время на прочтение 8 мин
Количество просмотров 8K

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

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

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

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

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 0

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

Время на прочтение 5 мин
Количество просмотров 130K

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

Читать далее
Всего голосов 62: ↑58 и ↓4 +54
Комментарии 180

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

Уровень сложности Средний
Время на прочтение 33 мин
Количество просмотров 57K

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

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

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

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

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

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 8K

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


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


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


Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 5

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

Уровень сложности Средний
Время на прочтение 25 мин
Количество просмотров 8.4K

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

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

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

Вперед за CustomView!
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 8

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

Время на прочтение 8 мин
Количество просмотров 11K


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

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

Время на прочтение 12 мин
Количество просмотров 15K

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

Читать далее
Всего голосов 74: ↑71 и ↓3 +68
Комментарии 237

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

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 2.7K

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

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

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

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

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

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 0

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

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 8K

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

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

Время на прочтение 5 мин
Количество просмотров 8.8K

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

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

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

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 18

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

Время на прочтение 8 мин
Количество просмотров 4K

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

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

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

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

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

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 2.4K

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


Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 0

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

Время на прочтение 13 мин
Количество просмотров 10K

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 7

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

Время на прочтение 17 мин
Количество просмотров 11K
Представления Фрейда о темном, либидном бессознательном устарело. Новая теория утверждает, что мозг производит непрерывный поток бессознательных предсказаний.


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

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

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

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

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

Время на прочтение 16 мин
Количество просмотров 21K

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

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

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

Читать далее
Всего голосов 28: ↑24 и ↓4 +20
Комментарии 36

Корутины в UnrealEngine

Уровень сложности Средний
Время на прочтение 22 мин
Количество просмотров 10K

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 8

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

Время на прочтение 8 мин
Количество просмотров 284K

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

Начать читать
Всего голосов 145: ↑120 и ↓25 +95
Комментарии 174

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

Время на прочтение 3 мин
Количество просмотров 5.7K

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

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

Поехали!
Всего голосов 25: ↑18 и ↓7 +11
Комментарии 4

Информация

В рейтинге
3 872-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность