В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрели предпосылки перехода на новую инфраструктуру и познакомились с азами Kubernetes, теперь пора перейти к следующему шагу – доставке кода. В рамках этой статьи мы подробно рассмотрим методологию GitOps и ее реализацию на примере ArgoCD.
Release Engineer
От Kubernetes в мечтах к Kubernetes в проде. Часть 2: о Kubernetes
В серии статей по теме DevOps мы рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В первой части мы остановились на основных предпосылках внедрения и выбранном подходе. В этой статье вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассмотрим подробнее фундамент нашей инфраструктуры — Kubernetes.
Разумеется, статей об этом оркестраторе огромное множество, и можно на протяжении всей карьеры узнавать о нем что-то новое. Сразу уточним — в этой части мы не планируем копать глубоко. Попытаемся дать основы, описать Kubernetes так, чтобы сложилось базовое представление об этом инструменте.
От Kubernetes в мечтах к Kubernetes в проде: как построить инфраструктуру для деплоя. Часть 1
Не так давно мы в департаменте информационных систем (далее – ДИС) ИТМО начали выстраивать новую инфраструктуру для деплоя наших проектов. Образовательным организациям обычно с бюрократической точки зрения сложно прийти к масштабным внедрениям. Нам повезло ― мы смогли путем проб и ошибок выбрать удобные проверенные технологии и реализовать единую среду, которая задала формат взаимодействия между администраторами и разработчиками.
В общей сложности подбор инструментов и их внедрение заняли полтора года. Конечно, иногда был непросто: наступали на “грабли” и возвращались, чтобы выбрать более удачный путь. И это несмотря на то, что в общих чертах было изначально понятно, куда двигаться.
Проанализировав свой опыт, мы решили поделиться основными предпосылками и выводами. Хочется надеяться, что это облегчит внедрение тем, кто пойдет аналогичной дорогой.
В рамках университетского блога мы вводим новую рубрику по DevOps, в которой Lead DevOps инженер ДИС Михаил Рыбкин расскажет, как вместе с командой внедрил платформу деплоя для разработчиков.
Лучшая фантастика последних трех лет по версии Goodreads
GoodrGoodreads — пожалуй, главный книжный сайт англоязычного интернета. Недавно он составил список самых популярных фантастических книг за 2020-2023 годы, опираясь на мнение пользователей. К сожалению, на русский язык переведено далеко не все, однако даже те книги, которые уже можно прочитать в переводе, составляют внушительный список. Вот он.
Гайд для новичков по установке Kubernetes
© кадр из к/ф «Пираты Карибского моря»
С чего начинается практическое освоение любой системы? Правильно, с установки. Данный гайд является компиляцией из народной мудрости, официальной документации, а также собственного опыта и призван помочь новичкам разобраться с тем, как же все таки устанавливать Kubernetes.
Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.
Весь процесс установки будет детальным образом прокомментирован и разложен по шагам, а в реперных точках мы будем делать снимки состояния виртуальных машин (snapshots), что позволит рассмотреть различные варианты установки без необходимости делать одну и ту же работу по несколько раз.
Разработка игр на Go: шейдеры
Давненько я не писал никаких статей на Хабре.
Я планировал вести серию заметок о разработке игр на Go и начал я с рендеринга текста, но меня не хватило даже на второй текст. Что же, настало время возвращаться, ведь с того момента я успел создать ещё несколько игрушек.
Сегодня я расскажу вам о шейдерах в Ebitengine. Большая часть примеров будет взята из Roboden и Decipherism (обе игры имеют открытые исходные коды и вы можете найти их на гитхабе).
CustomView Android. Кольцевая диаграмма для отображения статистики
Наверное, каждый Android-разработчик на этапе обучения или в процессе выполнения задач в коммерческом проекте задумывался о создании своей CustomView без использования сторонних библиотек, с собственной отрисовкой, анимацией, а также хорошей оптимизацией, чтобы CustomView адаптировалась под переданные ей размеры, правильно отображалась в независимости от экрана пользователя.
Самый верный и действенный способ постичь Дзен в реализации CustomView является работа над диаграммами и графиками. Чем сложнее будет задуманная диаграмма, тем больше этапов будет пройдено в её реализации: начиная от собственного расчета размеров, заканчивая многоступенчатой анимацией при отрисовке. Каждый из вас способен сделать что-то своё, но порог входа для этого, я соглашусь, достаточно высокий. Поэтому необходим некоторый пример, который поможет разобраться в этом темном лихолесье неизвестности.
Что ж, в этой статье мы пройдем все этапы реализации своей CustomView, с подробным описанием шагов, чтобы каждый смог повторить такое в своих проектах. Мы будем реализовывать кольцевую диаграмму для отображения какой-либо статистики, добавим много возможностей кастомизации диаграммы под любые виды задач, а также приправим это дело красивой анимацией отрисовки и сохранением состояния. Все будет написано на языке программирования Kotlin.
Как настроить мониторинг и оповещения на Nginx ingress в Kubernetes
Команда VK Cloud перевела пошаговую инструкцию о том, как установить и сконфигурировать ingress-nginx, Prometheus и Grafana, а также настроить оповещения для ключевых метрик Ingress. Для работы понадобится кластер Kubernetes и Helm v3.
Укрощение кислорода и подводные камни терраформирования
Терраформирование — одна из самых долговечных (но не самых древних) идей в научной фантастике. Не подвергается сомнению, что скалистые планеты у других звёзд обживаемы, при условии, что на них есть гидросфера и атмосфера, и залог колонизации этих миров — приближение их биохимических, геохимических и климатических характеристик к земным. Более того, в фантастике рубежа XIX и XX веков, вдохновлённой мечтами об обитаемости Марса (Уэллс и Берроуз) не подвергается сомнению, что марсиане свободно дышали бы на Земле без средств жизнеобеспечения, а на своей планете даже искусственно поднимали бы уровень кислорода при помощи специальных атмосферных фабрик. Один из самых зрелищных эпизодов терраформирования Марса в кинофантастике — это финал фильма «Вспомнить всё» (1990). Но уже в книге «Голубая точка» Карла Сагана, оригинал которой вышел в 1996 году, терраформирование Венеры описывается как экологическая катастрофа, поскольку резкое и даже поступательное насыщение любой планеты газообразным кислородом и водяным паром приведёт к фундаментальной перестройке условий на поверхности планеты и, возможно, в её глубинах. С накоплением данных об экзопланетах (в основном эта информация собрана космическими телескопами Kepler, TESS и Cheops) требуется уточнить, каковы приемлемые рамки увлажнения и оксигенации экзопланеты, чтобы на ней могла существовать жизнь. В этой статье будет рассмотрено, сколько кислорода действительно нужно для жизни, каковы риски дефицита или избытка кислорода в атмосфере, а также какие факты об этом уже известны из изучения экзопланет.
Теория ограничений Голдратта и проектное управление. Диагональный буфер
Диагональный буфер — это часть решения по управлению проектами в Теории Ограничений Голдратта (ТОС). Это только часть решения, части проблем. Решения не бывают хорошими или плохими вне контекста. В предыдущей заметке я описала проблему, которую решает диагональный буфер, время прочтения — 4 минуты. Посыл — срок задачи в проекте не работает как хотелось бы.
Решение ТОС для проектного управления называется метод Критической цепи. Отличается от метода Критического пути тем, что мы уходим от срока задачи.
Диагональный буфер — это инструмент приоритизации. Если у нас не будет сроков задач, то непонятно как в каждый момент времени ответить на вопросы: мы успеваем, или пора торопиться, или уже пора разговаривать с заказчиком о переносе срока? А если я могу приступить к выполнению нескольких задач из одного, или даже разных проектов, как выбрать, с какой начать?
Пишем подробный план
Мы начинаем с того, что строим обычную диаграмму Ганта. Выписываем задачи и распределяем их в порядке выполнения. Чем подробнее будет ваш план, тем лучше. Что такое подробный план? Если, например, нам нужно написать ТЗ, то нельзя отделаться одной задачей: «Написать ТЗ«. И даже если вы добавите «Согласовать ТЗ», этого тоже будет недостаточно. Подробный: написать ТЗ, показать, доработать, показать, доработать и т. д. Чем лучше такой план? Тем что задача «написать ТЗ» будет оценена мной в 2 недели. А набор из 6 мелких задач будет оценён мной в 3.5 дня. Это не значит, что я оставлю себе на это 3.5 дня, но это значит, что дальнейшие мои расчёты будут реалистичнее.
6. Устойчивость систем автоматического регулирования. 6.5. Частотный критерий Найквиста
Продолжаем разбиратся теорией автоматического управления, по лекциям Олега Степановаича Козлова, "Управление в технических системах". Сейчас у нас будет годограф Найквиста.
Как я веду свою систему учета дел, материалов и знаний
Вот уже год я веду свою систему учета дел, материалов и знаний. Не могу точно сказать, откуда пришла система. Она формировалась постепенно с разными материалами и практикой. Ощущение, что большая часть это GTD, но не буду опираться только на нее, а расскажу как это работает у меня.
Зачем я это делаю? Это позволяет посмотреть на свою жизнь немного сверху. Например, у меня получился ленивый период и я по вечерам смотрел ютуб. Во-первых, скорее всего я бы даже не заметил, сколько времени и какие видео я смотрел. А даже если бы заметил, то в рамках одного дня это бы не сильно меня смутило: "ну посмотрел 2 часа видео с мемами, мне надо было отдохнуть".
Но когда вбиваешь данные за месяц и видишь, сколько времени ушло на просмотры развлекательных роликов, то понимаешь что что-то нужно менять. Ну или наоборот, что ты молодец и читал в этом месяце в 2 раза больше, чем в прошлом!
Как взломать Kubernetes (и как его защитить)
Kubernetes — ценный ресурс и ведущая система управления контейнерами в конвейерах разработки по всему миру, но это не освобождает её от вредоносных атак. Использование Kubernetes требует глубокого понимания среды, включая разные уязвимости, с которыми можно столкнуться при создании, развертывании или запуске приложений в ваших кластерах.
Поскольку кластер Kubernetes один из самых ценных облачных ресурсов, он нуждается в защите. Его безопасность обеспечивает безопасность облака, кластеров приложений, контейнеров, приложений и кода. Хотя Kubernetes обеспечивает преимущества в области безопасности, укрепление способов защиты имеет решающее значение для обороны вашей системы от хакеров и других кибер-угроз.
В этом обзоре рассматриваются семь основных способов, которые могут подвергнуть кластер атаке, с соответствующими мерами противодействия к каждому.
Зачем нужны feature-окружения и как с ними работать
Паттерн feature-окружений называют по-разному: ondemand, review- или preview-окружения. Он нужен, чтобы приблизить среду разработки к продакшену, и позволяет разом избавиться от множества проблем, связанных с организацией разработки и переносом кода.
Но для создания feature-окружений и работы с ними ваш технологический стек должен быть достаточно мощным, чтобы обеспечить необходимую гибкость и динамичность. В этой статье я расскажу, как реализовать некоторые механизмы, необходимые для эксплуатации feature-окружений.
«Глаза» беспилотных автомобилей: LiDAR и компьютерное зрение
Самоуправляемое транспортное средство может «видеть» разными способами. Человеческое зрение ему заменяют радары, камеры, лазеры, радиоволны и ультразвук. В этом обзоре поговорим о лидарах и компьютерном зрении (CV) — двух основных инструментах, на которых основано автономное восприятие окружающего мира беспилотными автомобилями. Мы коротко опишем принцип работы технологий, расскажем, кто производит и внедряет подобные устройства, а также сравним их основные достоинства и недостатки.
Механизм автопилота мозга управляет сознанием
Иллюзия треугольника Каницца свидетельствует о том, что восприятие основано на неявных выводах. Зрительная система конструирует воображаемый треугольник как способ “объяснить” расположение окружностей. Источник: Scientific American
Исследования бессознательного показали, что мозг выносит суждения и принимает решения быстро и автоматически. Он постоянно делает прогноз будущих событий.
Согласно теории “предсказательного разума” сознательный опыт возникает только тогда, когда скрытые ожидания мозга не оправдываются.
Высокоуровневая когнитивная обработка в коре головного мозга может происходить без возникновения сознательного опыта. Сознательное внимание направляют области мозга ответственные за эмоции и мотивацию, а не кора головного мозга.
Чистый код, часть 1
Привет! В этом посте я хочу обсудить, что такое чистый код и почему я считаю его очень важной практикой. Если у вас всё руки не доходили до того, чтобы сесть и подробно почитать книги Дяди Боба, я подготовил небольшой конспект по его видеолекциям со своими примерами с самым главным.
Существует связь между количеством кода в проекте и количеством сделанных фич в единицу времени. На старте проекта количество фич растет очень быстро. Когда проект увеличивается, в него становится все сложнее вносить изменения, все меньше фич удается сделать в единицу времени. Если писать грязный код, то в конечном итоге это убивает компанию из-за того, что она не может быстро делать какие-то фичи.
Дядя Боб считает, что единственный способ быстро двигаться в разработке — делать хорошо, поэтому чистота кода очень важна.
Корутины в UnrealEngine
В этой статье я расскажу, как можно улучшить читаемость асинхронного кода и сократить немалое, на мой взгляд, количество писанины. И это благодаря такой возможности стандарта уже минувшего года, как сопрограммы. На Хабре опубликовано некоторое количество статей об этой интересной языковой технологии, но я хочу показать практическое применение в проектах UnrealEngine, а так же приоткрыть завесу сопрограмм для тех, кто ещё не в курсе.
Как я несколько лет боролся с прокрастинацией и победил: полное практическое руководство
Постоянно откладываешь дела на потом и не видишь в этом проблемы? Мне это знакомо. Расскажу как не повторить моих ошибок и почему пора это прекращать. Не откладывай эту статью на потом!
Релокация в Словению, дорожная карта
Приветствую коллеги! С вами Александр Стрелов, разработчик, предприниматель и немного писатель. Давно у меня не было времени на реализацию в последнем направлении, исправляюсь.
Уже скоро будет 3 года как я со своей семьей переехал в Словению, о чем были статьи здесь и здесь. Уверен, что тема поиска нового места для жизни и развития сейчас весьма актуальна среди хабра-сообщества, поэтому решил поделиться трудами моей команды в этой области. C коллегами разработали дорожную карту для переезда.
Информация
- В рейтинге
- 3 872-й
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность