Pull to refresh
2
0

воен энторнета и свободы

Send message

Кластер PostgreSQL внутри Kubernetes: что нужно знать для успешного внедрения

Reading time8 min
Views26K
Хабр, привет!

В этой статье расскажу про PostgreSQL и его работу внутри кластера Kubernetes. Небольшое превью, о чем поговорим: как появился PostgreSQL, какие у него есть High Availability обвязки, как обеспечивается отказоустойчивость внутри Kubernetes и какие существуют Kubernetes-операторы.



Будут схемы-примеры для наглядности и обзор возможных кейсов, начнем!
Читать дальше →

Контейнеры взлетели, но невысоко: результаты исследования применения контейнерных технологий в России

Reading time7 min
Views4.4K
Контейнеризация приложений не покидает шорт-лист горячих тем. Сегодня это Tesla в мире ИТ — равнодушных нет. А как же обстоит дело с реальным применением контейнеров в крупных компаниях, работающих в России? Вместе с CNews Analytics мы решили разобраться, насколько широко отечественный бизнес использует контейнеризацию. Спойлер: с контейнерами в России все хорошо — в среднем мы отстаем года на три от крупных западных компаний.


Читать дальше →

Релиз ruleguard v0.3.0

Reading time8 min
Views2.7K

Релиз ruleguard v0.3.0


А что, если я скажу вам, что линтеры для Go можно создавать вот таким декларативным способом?


func alwaysTrue(m dsl.Matcher) {
    m.Match(`strings.Count($_, $_) >= 0`).Report(`always evaluates to true`)
    m.Match(`bytes.Count($_, $_) >= 0`).Report(`always evaluates to true`)
}

func replaceAll() {
    m.Match(`strings.Replace($s, $d, $w, $n)`).
        Where(m["n"].Value.Int() <= 0).
        Suggest(`strings.ReplaceAll($s, $d, $w)`)
}

Год назад я уже рассказывал об утилите ruleguard. Сегодня хотелось бы поделиться тем, что нового появилось за это время.


Основные нововведения:



Читать дальше →

Модуляризация iOS-приложения Badoo: борьба с последствиями

Reading time13 min
Views5.6K

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

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

В этой статье я расскажу:

— как мы не потерялись в сложном графе зависимостей;

— как спасли CI от чрезмерной нагрузки;

— что делать, если с каждым новым модулем приложение запускается всё медленнее;

— мониторинг каких показателей стоит предусмотреть и почему это необходимо.

Читать далее

Прогресс shell-operator и addon-operator: хуки как admission webhooks, Helm 3, OpenAPI, хуки на Go и многое другое

Reading time7 min
Views2.9K

Shell-operator и addon-operator — Open Source-проекты компании «Флант» для администраторов Kubernetes, представленные в апреле 2019 года. Первый призван упростить создание K8s-операторов: для этого с ним достаточно писать простые скрипты (на Bash, Python и т.п.) или любые бинарники, которые будут вызываться в случае наступления определённых событий в Kubernetes API. Второй (addon-operator) — его «старший брат», цель которого — упростить установку Helm-чартов в кластер, используя для их настройки хуки shell-operator’а.

В последний раз мы рассказывали о возможностях shell-operator по состоянию на релиз v1.0.0-beta.11 (летом прошлого года), если не считать последовавшего доклада на KubeCon EU’2020, который знакомил с проектом тех, кто о нём ещё не знает. (К слову, этот доклад мы по-прежнему рекомендуем всем желающим разобраться, как shell-operator облегчает жизнь при создании операторов, и увидеть наглядные примеры его применения.)

За минувшее время и shell-operator, и addon-operator получили множество интересных новшеств, которым и посвящена эта статья.

Читать далее

Вам показалось! Все о Perceived Performance

Reading time12 min
Views12K

Перед вами быстрый, удобный и отзывчивый сайт? Возможно, это не результат плодотворной работы множества людей, а всего лишь набор психологических и инженерных трюков, направленных на улучшение Perceived Performance.

В большинстве случаев с ростом реальной производительности улучшается и Perceived Performance. А когда реальная производительность не может быть с легкостью увеличена, существует возможность поднять видимую. В своем докладе на Frontend Live 2020 бывший разработчик Avito Frontend Architecture Алексей Охрименко рассказал о приемах, которые улучшают ощущение скорости там, где ускорить уже нельзя.

Читать далее

Настроили мониторинг. Что дальше?

Reading time8 min
Views3.4K
Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat.
Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недостаточно. Сегодня я поделюсь тремя историями из жизни нашей команды: расскажу, как мы искали решения и какие выводы сделали. На мой взгляд, пост может оказаться полезен и разработчикам, и QA-инженерам, и системным администраторам, и тимлидам/техлидам.

Эта статья основана на моем докладе с онлайн-конференции TechLead Conf 2020. Если вам приятнее смотреть видео, оно доступно на YouTube.



Читать дальше →

Сравнение ITSM-систем

Reading time5 min
Views28K


По мере своего развития у компаний появляется необходимость развивать и адаптировать свою структуру ИТ. И возникает логичный вопрос: «А что для этого нужно?» или «С чего начать?» И тут на помощь приходит ITIL и ITSM.

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

На рынке существует множество ITSM-систем, которые можно разбить на 2 группы:

  • Open-source решения (бесплатное решение с открытым кодом);
  • Коммерческие решения.

Рассмотрим особенности и функциональные возможности некоторых ITSM-систем. Для анализа мною были выбраны популярные решения на российском рынке, с которыми я плотно работал:

  • Bpm`online;
  • OTRS;
  • Naumen SD;
  • Omnitracker.

Анализ этих систем буду проводить по следующим критериям:

  • сложность внедрения;
  • соответствие ITIL;
  • удобство работы и дизайн.

Все решения рассматриваются с точки зрения «коробочных» решений. Итак, начнем.
Читать дальше →

Как писать читаемый код

Reading time11 min
Views23K

Бывает, что посмотрев на старый код, мы говорим: «Его проще переписать, чем поменять». Печально, если речь идет о нашем собственном коде, с такой любовь написанном несколько лет назад. Head of Developer Relations в Evrone Григорий Петров в своем докладе на TechLead Conf 2020 разобрал проблемы, которые приводят к такой ситуации, и рассказал, как бороться с Software complexity problem.

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

Читать далее

Анализатор кода не прав, да здравствует анализатор

Reading time6 min
Views6K
Foo(std::move(buffer), line_buffer - buffer.get());

Совмещать много действий в одном выражении языка C++ плохо, так как такой код тяжело понимать, тяжело поддерживать, так в нём еще и легко допустить ошибку. Например, создать баг, совмещая различные действия при вычислении аргументов функции. Мы согласны с классической рекомендацией, что код должен быть прост и понятен. И сейчас рассмотрим интересный случай, когда формально анализатор PVS-Studio не прав, но с практической точки зрения код всё равно стоит изменить.
Читать дальше →

Как сделать хорошую интеграцию? Часть 1

Reading time11 min
Views23K
Вопрос в заголовке включает в себя неочевидную часть, ведь перед тем, как рассказывать про создание хорошей интеграции стоит определить, какую интеграцию мы считаем хорошей. А ответ на этот вопрос не однозначен.

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


Читать дальше →

Инциденты информационной безопасности, за которые CISO расстались с должностью

Reading time4 min
Views6.3K

Источник статьи

Согласно отчету Radware о состоянии безопасности веб-приложений за 2018 год , 23% компаний сообщили о увольнении руководителей по информационной безопасности (CISO), связанных с атаками приложений. Американские компании чаще говорили, что руководители были уволены после инцидента, равно как и Европейские компании, работающие в сфере высоких технологий или финансовых услуг.

Вглядеться в истину

Выводы Grofers после двух лет Kubernetes в production

Reading time15 min
Views10K
Прим. перев.: эта статья — опыт миграции на Kubernetes одного из крупнейших в Индии онлайн-магазинов продуктов. В ней Vaidik Kapoor, software engineer из Grofers, рассказывает о главных ошибках и препятствиях этого долгого путешествия, а также делится своими мыслями о целесообразности и плюсах подобного переезда в целом.

Почти два года назад мы решили отказаться от развертывания приложений на EC2 с конфигурациями, управляемыми через Ansible, и перейти к контейнеризации и оркестровке приложений с помощью Kubernetes. За это время большую часть инфраструктуры уже перенесли в Kubernetes. Миграция была сопряжена со своими вызовами: от технических, связанных с необходимостью обеспечивать работу гибридной инфраструктуры до завершения миграции, до обучения всей команды совершенно новой парадигме работы.

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

Ботулизм на засолку

Reading time8 min
Views29K

"Нет на свете краше птицы, чем свиная колбаса" - гласит весёлый советский постер. На латыни колбаса - "botulus", и сегодня ваш весельчак ScientaeVulgaris расскажет, как эффектно от неё умереть.

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

Читать далее

Валидация Kubernetes YAML на соответствие лучшим практикам и политикам

Reading time20 min
Views15K

Прим. перев.: С ростом числа YAML-конфигураций для K8s-окружений всё более актуальной становится потребность в их автоматизированной проверке. Автор этого обзора не просто отобрал существующие решения для этой задачи, но и на примере Deployment'а посмотрел, как они работают. Получилось весьма информативно для тех, кому эта тема интересна.



TL;DR: В статье сравниваются шесть статических инструментов проверки и оценки YAML-файлов Kubernetes на соответствие лучшим практикам и требованиям.


Рабочие нагрузки Kubernetes, как правило, определяются в форме YAML-документов. Одна из проблем с YAML'ом — сложность задания ограничений или взаимоотношений между файлами манифестов.

Читать дальше →

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Reading time4 min
Views152K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

Читать дальше →

Сам себе Большой Брат

Reading time4 min
Views4.8K

Современное время очень динамичное и когда ты о чем-то думаешь напряженно, то внешние раздражители частично не достигают цели. И тогда, подойдя к точке интеграции с курьером, коллегой, да и что-ж (не будем кривить душой) и с семьей тоже, обнаруживается, что ты что-то важное забыл. Хорошо если тебя спросили по email/смс/Whatsapp/telegram и т.д. А если голосом? И тут историю не поднимешь, чтобы не ударить в грязь лицом. Хотя почему? Можно подумать и над этим вопросом.

Читать далее

Эти безумные KPI

Reading time12 min
Views20K

Любите ли вы KPI? Полагаю, скорее всего, нет. Трудно найти человека, который не пострадал от KPI в том или ином виде: кто-то не дотягивал до целевых показателей, кто-то столкнулся с субъективной оценкой, а кто-то поработал, уволился, но так и не смог узнать, из чего состояли те самые KPI, которые в компании даже упомянуть боялись. И вроде бы хорошее дело: в показателе тебе транслируют цель компании, ты делаешь всё для её достижения, в конце месяца получаешь премию или другой бонус. Прозрачная игра, честные ставки. Но нет, KPI превратились в страшного и неудобного монстра, который то и дело норовит подстегнуть нерадивых, но при этом ничего не даёт исполнительным сотрудникам. Что-то с этими показателями не так! 

Спешу сообщить: если вы не любите KPI, в вашей компании их просто не умеют готовить. Ну или вы разработчик. 

Поехали

Галя, сколько? Игра в шашечки на кассах Пятёрочки

Reading time3 min
Views68K
Заскучал? Хочется немного абсурда? Придумай людям KPI и объясни, как он считается.

Раньше я думал, что такой идиотизм только на заводах бывает. Оказывается, нет. Пятёрочка выручила. Она ж выручает.
Читать дальше →

Сложение двух чисел с плавающей запятой без потери точности

Reading time9 min
Views83K
Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

s = a+b;
z = s-a;
t = b-z;

то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

Information

Rating
4,556-th
Location
Испания
Date of birth
Registered
Activity