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

Фотография Черноусова Антона 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 (согласно документации). Данные удалось мигрировать в полном объеме и дополнительно реализовать автоматическое обновление данных на этапе обучения сотрудников.

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

Создание установочного диска Proxmox на USB-накопителе


Вся эта интересная история началась с того, что у меня под рукой не оказалось чистой DVD или CD болванки для того что бы записать туда дистрибутив Proxmox для последующей установки его на сервер. Я ничуть не сомневаясь решил использовать для установки USB-накопитель и воспользовался утилитой Unetobootin про которую я уже рассказывал, но как оказалось не тут то было и загрузочный диск конечно создался на ура, но вот загрузиться с него не получилось.

Настройка HTTP-авториазции (тип авторизации BASIC-AUTH) для WEB-серверов Apache и Nginx


Такой тип авторизации вы довольно часто можете видеть на разного рода активном оборудовании. В общем виде представляет собой окно для ввода логина и пароля которое генерируется браузером, а результат передается web-серверу который принимает решение о том разрешать доступ к системе или нет. Большинство web приложений имеет свои встроенные методы авторизации с поддержкой баз данных, групп пользователей и многое другое, но basic-авторизация все еще не сдает свои позиции и все еще активно используется. Сегодня мы обсудим как настроить BASIC-авторизацию на web-серверах Apache и Nginx и в каких случаях ее вообще стоит использовать.

Создание почтового домена в Zimbra и подключение почтового клиента


Как я уже говорил ранее, у меня опять подвернулся проект связанный с Zimbra Collabration Suite и я решил задокументировать типовые операции по управлению почтовым сервером и некоторые подводные камни и грабли с которыми я сталкиваюсь практически на каждом внедрении этого почтового сервера.

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


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

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


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

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

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
Мой микроблог в твиттер