Search
Write a publication
Pull to refresh
18
0
Andrewus @Andrewus

Head of platform & devops lead

Send message

Техдолг. Большое руководство

Level of difficultyMedium
Reading time20 min
Views7.6K

Меня зовут Андрей Никольский, я Head of Platform в Банки.ру. Сегодня хочу обсудить не самую приятную, но важную тему — технический долг и как с ним работать.

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

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

Читать далее

Твой личный FinOps: как айтишнику перестать жить от зарплаты до зарплаты

Level of difficultyEasy
Reading time8 min
Views12K

Всем привет! Меня зовут Андрей, я head of platform в довольно большой финтех компании. Мы с коллегами спорили, стоит ли выкладывать эту статью на Хабр, или тут маловато айти и много личной истории. Я решил рискнуть в личном блоге, и вот почему: во-первых, знаменитый мем про 300к/наносек не на пустом месте возник – нам, айтишникам, правда надо считать довольно прилично денег; во-вторых, наша индустрия очень любит данные, чтобы потом принимать на их основе всякие полезные решения (или стрелять себе в ногу, всякое бывает); в-третьих, деньги – традиционный и уважаемый измеритель успеха, с которым имеют дела почти все люди; в-четвертых – мое личное наблюдение – многие наши коллеги по индустрии отличаются выдающейся безалаберностью в отношении личных денег – спасают лишь любящие супруги и заботливые работодатели; наконец, в-пятых, я уверен, что грамотное ведение личных дел – надежный фундамент личной эффективности – то есть классных пет-проектов, отличных статьей на Хабре и так далее.

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

Вот ты, Юзернейм, знаешь, сколько у тебя денег? Хватит на новый макбук на М3 или надо дождаться зарплаты?

Если для ответа на этот вопрос требуется доставать телефон, открывать банковские приложения, прикидывать что-то в уме или даже считать наличные в кошельке или сейфе, то моя статья будет полезна. Даже для тех, кто в таких случаях звонит маме (доля шутки).

Ну, погнали!

Jira, Golang и немного фантазии: строим конвейер для создания новых сервисов

Level of difficultyMedium
Reading time7 min
Views2.6K

Привет! Меня зовут Андрей, я Head of Platform в финансовом маркетплейсе Банки.ру. Со мной Борис Зырянов, go/php разработчик. Сегодня расскажем о том, как мы разработали и внедрили процесс создания сервисов одной кнопкой. 

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

В материале расскажем: 

– как работал старый подход и с чем были сложности; 
– какая схема пришла на замену и как все работает; 
– что планируем делать дальше.

Читать далее

Деплой на shared-хостинг: боль и страдания или простая рутина?

Reading time3 min
Views9.7K

Коротко для тех, кто спешит


Утилита FTP Deployment: написана на php, принимает в качестве параметра путь к конфигу и выкладывает файлы на удаленный сервер, довольно быстро и хорошо.

Долго и подробно для тех, кому интересно


Все мы любим классные и удобные методы деплоя с помощью capistrano, rsync или, на худой конец, git pull. А если надо выкладывать проекты на shared-хостинг?

Да, некоторые провайдеры предоставляют ssh и git. Но, прямо скажу, их немного.

Однажды я вдруг понял, что привык к хорошему, и ненавижу выкладывать проекты через (S)FTP: не залился какой-то файл; надо вспомнить, где лежат конфиги; вот эту папку не надо выкладывать вообще; вот тут надо проверить права. Думаю, многие этот список легко продолжат.

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

Легенда о серебряной пуле или как я искал логические ошибки кэширования и получения данных

Reading time5 min
Views5.8K
Отказ от претензий: не используйте описанные ниже патчи на продакшене; пользуйтесь специально подготовленными тестовыми площадками.

* * *


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

Ох уж это сладкое чувство, когда ты приходишь весь в белом, шевелишь пальцами над клавиатурой неделю или две (возможно, час или день) — и решаешь какую-то проблему, с которой много людей долго и безуспешно боролись.

Вводная


История началась с того, что меня попросили провести подробный аудит довольно популярного интернет-магазина. Всё приложение вертелось на двух балансировщиках, нескольких бэкэндах и двух серверах БД. Нагрузка — 1-4 тысячи запросов в минуту. Стек близок к классическому: PHP(-fpm), Mysql, Memcached, Sphinx, Nginx. Иногда обстоятельства складывались так, что вся система вставала колом, при этом прямой корреляции с нагрузкой не было. И даже с выкладкой нового кода (и соответствующими перезапусками демонов) — не всегда.

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

ИМХО о проектах со Startup Weekend'а

Reading time8 min
Views520
Был сегодня на открытии московского Startup Weekend . Что могу сказать: удивительное количество увлеченных людей, порядка 60 презентаций. Даже по две минуты на каждую вылились в два часа.
Топик, в основном для тех, кто не был.

Наиболее, на мой взгляд, интересные идеи-проекты в порядке добавления на сайт SW
5. Поток.FM – мониторинг регионального радиоэфира
ПотокFM – аппаратно-программное решение для мониторинга.вещания всех фм-радиостанций в крупнейших городах страны.
Базовые возможности:
а) Отслеживать в автоматическом режиме расхождения в эфире одной радиостанции в каждом регионе на соответствие официальной региональной сетке. Потребители владельцы радиостанций, программные и региональные директора. А также госструктуры.
б) Осуществлять поиск звуковых шаблонов (рекламных роликов, музыкальных композиций) для анализа статистики ротаций. Потребители крупные рекламодатели, рекламные агентства, и правообладатели всех мастей.
Лирика: я предлагаю работать с радиоэфиром как с медиапространством, которое можно записать и хранить, по которому можно свободно искать, которое можно изучать и анализировать.
potok.fm

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

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

Удобный Backup

Reading time1 min
Views1.8K
Как известно, в Asus Eee и других нетбуках нет сидирома, а посему а делать загрузочную флешку от Acronis'а как-то не улыбается.
Но есть два простых способа сделать образ диска.
Оба способа требуют загрузки любой Linux-системы (с флешки) и прав суперпользователя для исполнения (то бишь sudo для Ubuntu и su для всех остальных)

1. > dd if=/dev/sda1 of=/media/disk/backup.bck

2. > cat /dev/sda1 | gzip > /media/disk/backup.bck.gz

В примерах /dev/sda1 — резервируемый раздел, а /media/disk/ — флешка.
Соответственно, второй способ несколько удобнее за счет сжатия. А первый — заметно быстрее.

Восстановление: в первом случае поменять местами аргументы, а во втором — использовать команду zcat.

Идеи почерпнуты в блоге Telegamochka и комментарии Moose_kazan там же. Проверены на моем MSI Wind.

Владельцам нетбуков посвящается: Unetbootin

Reading time1 min
Views5.5K
Программа уже упоминалась на Хабре в блоге OpenSource

Unetbootin (http://unetbootin.sourceforge.net/) позволяет создать загрузочную USB-флешку из практически любого дистрибутива Linux/BSD. Впрочем, можно создать и загрузочный жесткий диск.
Существуют версии как для Linux, так и для Windows.
Работать просто до неприличия:
Выбрали источник → Выбрали загрузочное устройство → Нажали OK.
При этом в качестве источника можно выбрать дистрибутив и версию, программа сама скачает нужное. Можно выбрать ISO, а можно указать ядро и initrd руками с нужными опциями.

Окошко:
screenshot

PS. Поддерживается даже только что вышедшая Ubuntu 8.10.

Поиск по англоязычным журнальным статьям

Reading time1 min
Views599
Когда хочется найти оригинальный материал по какой-то сложной теме, поход на Google не всегда помогает: у серьезных статей в серьезных журналах обычно немного входящих ссылок.
Чтобы разыскать какой-то материал, рекомендую заглянуть на http://www11.tdnet.com/frames.asp, откуда можно взять заголовок статьи для последующего гугления.

В качестве примера можно привести поиск информации по поисковым системам. Фраза Search Engines обычно ведет из адекватных ресурсов лишь на Вики, все остальное — мусор.

Эксперименты с функциями замены в php

Reading time1 min
Views573
Несколько месяцев назад стал меня занимать вопрос: что быстрее — eregi_replace или str_replace? Когда просто надо заменить один кусок текста другим куском.
Написал какой-то скрипт, который время считал, исправлял там одно на другое и наоборот, но получалась фигня. Все-таки на рабочей машине мерять миллисекунды странно:).

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

UDP. Впихнул в тест preg_replace. Теперь понимаю, почему из шестой версии PHP POSIX-регулярки собираются вообще убрать.

Код скрипта:
http://drusha.msk.ru/times.php

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity