Главная страница

Фотография Черноусова Антона aka Gita-Dev

Черноусов Антон (aka gita-dev)
Системный администратор/Python-разработчик (возраст 36 лет, проживаю в г. Новосибирске)

Контакная информация:
Моя страница в FaceBook https://www.facebook.com, Моя страница Vkontakte https://vk.com, Видео-блог на YouTube https://www.youtube.com Twitter - мой микроблог https://twitter.com

Немного о себе

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

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

Мой профессиональный профиль

Общий стаж моей работы на должностях связанных с информационными технологиями на данный момент составляет 12 лет и За это время я работал на различных направлениях от программиста 1С до исполняющего обязанности начальника IT отдела на крупном производственном предприятии (более подробно вы можете посмотреть в соответствующем разделе моего публичного резюме), так же у меня имеется опыт работы Devops инженером в нескольких компаниях и слова как "непрерывная интеграция", цикл релизов, фиче-брэнчи и т.п. для меня не пустой звук.

Последнее время я специализируюсь на современных WEB-технологиях с позиции системного администрирования высоконагруженных сервисов, обеспечения отказоустойчивости, оптимизации, параллельно являюсь Devops инженером и обеспечиваю поддержку полного непрерывного цикла разработки ряда крупных проектов из разных областей WEB-портал/Мобильное приложение/CRM/Система биллинга и т.п.

Примеры завершенных проектов

Настройка, внедрение, доработка различных PHP-сайтов

Работа с различными PHP-проектами - Установка, настройка и доработка различных PHP-сайтов и WEB-приложений.

Наверное самым распространенным языком программирования в WEB является PHP и естественно с ним постоянно приходится иметь дело. Я уже даже и не веду счет завершенным проектам самой разной степени сложности, начиная от минимальных Landing-страниц, до участи в крупных HighLoad-проектах, скажу только, что я хотя и не являюсь PHP-программистом, но в базовом синтаксисе разбираюсь на уровне достаточном для анализа возникающих нештатных ситуаций и отладки web-приложений.

Настройка IP-телефонии в компании с распределенной сетью филиалов

Настройка сети IP-телефонии - Внедрение полноценной сети IP-телефонии в крупной компании с разветвленной сетью филиалов.

Я провел несколько крупных внедрений IP-телефонии на базе Asterisk в нескольких крупных компаниях и могу настроить практически любое sip-оборудование и программные телефоны.

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

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

Выполнено продакшн-внедрение ERP-системы odoo

Интеграция CRM-части ERP-системы Odoo с действующим web-сайтом - установка и настройка ERP-системы Odoo в режиме мульти-домен и интеграция с существующим сайтом компании.

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

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

За все время моей работы в IT, внедрение и доработку этой системы я проводит четыре раза для разных компаний, а в процессе последнего внедрения проекта было выполнено внедрение Odoo ERP (CRM-блок) на специализированный UWSGI-хостинг, с настройкой мульти-доменного режима работы.

 

Внедрена ферма LXC контейнеров с управлением гипервизором контейнеров LXD

Настройка фермы LXD - тестирование и внедрение фермы серверов для отдела разработки.

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

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

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

 

Завершена разработка скрипта переноса данных из vTiger CRM в облачную версию amoCRM

Миграция данных из Vtiger в amoCRM - разработка модуля выгрузки данных из устаревшей версии vTiger CRM и последующая загрузка данных в облачную версию amoCRM (с использованием WebAPI).

Изначально задача ставилась как обновление vTigerCRM с версии которая не обновлялась уже около 7-и лет и естественно содержала огромный пласт данных о лидах, взаимодействии с клиентами, звонках и прочих данных свойственных типичному отделу продаж. Мной было проведено обновление тестовой системы и после рассмотрения результатов руководство приняло решение не проводить обновление боевой системы, так как даже последняя версия vTiger не удовлетворяет современным требованиям отдела продаж, а приведение системы к современным требованиям потребовало бы приобретение коммерческих плагинов с помесячной подпиской стоимость которых превышала стоимость месяца подписки облачной версии amoCRM на то же количество пользователей.

Соответственно мне было поручено разработать выгрузку (и обновление данных) в облачной версии amoCRM на основании текущей базы vTiger CRM. Эта задача была успешно решена и выгрузка данных проводилась скриптом на python запрашивающим данные напрямую из базы данных mysql vTigerCRM версии 5.0 и выгружающим в данные в amoCRM с использованием WebAPI (согласно документации). Данные удалось мигрировать в полном объеме и дополнительно реализовать автоматическое обновление данных на этапе обучения сотрудников.

Популярные записи в блоге

Установка и настройка Teampass в Ubuntu Linux 18.04


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

Установка и настройка почтового сервера Zimbra (часть первая - основы установки и настройки)


Сразу предупреждаю, если вам нужен простой почтовый сервер для приема и отправки почты, то лучше собрать его из OpenSource компонентов и он будет отлично работать, но если вам нужна мощная система коллективной работы с поддержкой LDAP-авторизации, календарей, общих почтовых папок и прочих колабрэйшн плюшек которые имеются в проприетарном почтовом сервере MS Exchange, то вам прямая дорога к внедрению Zimbra

RocketChat - Установка и настройка из репозитария (не docker)


Рано или поздно вам все равно придет в голову мысль о внутреннем корпоративном мессенджере полностью вам подконтрольном и настраиваемом. Я перепробовал много различных мессенджеров и в конце концов пришел к мнению, что Rocket.Chat подходит на эту роль лучше других. В типовом решении описанном на сайте Rocket.Chat вам просто предложат использовать подготовленный Docker-контейнер, но я честно говоря недолюбливаю докеры и мне ближе полностью подконтрольные мне контейнеры LXD.

Настройка WIFI-подключения в Linux-консоли и тестирование пропускной способности подключения


Сегодня мы будем настраивать WIFI в Linux без использования Network Manager. Network manager конечно довольно удобный инструмент и позволяет настроить WIFI так же быстро как и в Windows, но у него есть один маленький недостаток. Ваше сетевое соединение будет неактивным пока пользователь не авторизуется в своей учетной записи и это логично с точки зрения безопасности, но абсолютно неудобно с практической точки зрения.

Как узнать ip-адрес шлюза в Linux


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

Популярные категории

Linux

Опыт моей профессиональной деятельности связанной с различными Linux-дистрибутивами составляет 12 лет и за это время я внедрил довольно много проектов самой разной направленности. Можно сказать, что я работал со всеми технологиями с которыми обычно работает системный администратор Linux. но при этом не зацикливаюсь на каком-то одном направлении и успешно могу решать вопросы связанные как с обслуживанием баз данных, так и настройкой большой распределенной сети IP-телефонии. Недавно я начал документировать внедряемые проекты и если это не противоречит договору с заказчиком, то публиковать в открытый доступ кейсы и рецепты, фактически этот сайт я и создал для документирования своих наработок.

Системное администрирование

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

Я работал и продолжаю работать как с серверными системами, так и с рабочими станциями под управлением популярных дистрибутивов GNU/Linux и всем семейством OS Windows, а с разного рода экзотикой я предпочитаю не связываться, так как небольшой опыт работы с разного рода FreeBSD/NetBSD и т.п. не дает мне глубокого понимания происходящих в них процессов.

Ubuntu

Ubuntu - на данный момент является наверное самым распространенным дистрибутивом GNU/Linux, а серверная версия дистрибутива по последним данным занимает большую часть установок на Web-серверах в интернет. Естественно, что так как большинство моих проектов связан с операционной системой Linux мне пришлось на практике изучить все подводные камни дистрибутива Ubuntu Linux для того чтобы быстро устранять сбои и ошибки в настройке на серверах клиентов.

Если еще три года назад можно было сказать, что Ubuntu Server не совсем серьезный дистрибутив и в продакшн-решениях лучше использовать RedHat и его производные, то сейчас уже можно точно говорить, что Ubuntu Linux стал самым популярным дистрибутивом и он постепенно вытесняет с рынка web-серверов другие дистрибутивы. Большие энтерпрайз решения конечно все еще используют RedHat/Centos, но их процент довольно мал и вероятность что придется их поддерживать довольно низкая (а обслуживанием обычно занимаются специализированные компании).

Networking

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

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

Мой видео-блог

Моя официальная страница на FaceBook
Мой микроблог в твиттер