Разработка ваших проектов начинается тут.

12
Glueon
На сайте с 26.07.2013
Offline
172
61572

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

Мы являемся full-stack разработчиками, поэтому можем написать как клиентскую, так и серверную части.

Основными языками для разработки серверной части являются Python и PHP. Для клиентской - JavaScript.

В веб-среде имеем опыт разработки API для проектов с использованием фреймворков Flask, Falcon, Bottle и Django Rest, а также полноценных веб-сайтов с помощью Django.

Также без проблем разработаем одностраничный (single page) веб-сайт на связке Django + Angular с богатой клиентской частью.

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

Работаем с SQL базами данных MySQL/MariaDB, PostgreSQL, а также noSQL решениями Memcached, Redis, MongoDB. Понимаем что такое шардинг, репликация и зачем может быть нужно наследование таблиц, когда использовать jsonb в PostgreSQL.

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

Небольшой список задач, которые мы выполняли:

1. Создание Helpdesk-системы , полностью работающей по протоколу XMPP (Jabber), и интеграция её в уже использующийся веб-сервис поддержки клиентов. Создавалось с повышенными требованиями к надёжности работы - тест API при каждом запуске. Модульная система работающая отдельным процессом, при необходимости возможно создание отдельного веб-интерфейса или расширение функционала.

2. Получение информации об автономных сетях Internet (AS) и отбор по многочисленным параметрам (всего 8 проверок, использующих как парсинг веб-страниц, так и telnet-запросы). "Побочным" эффектом unit-тестирования функций было отслеживание развития сети Интернет в разных странах и наблюдение за ограничениями протокола IPv4.

3. Полуавтоматическая система рассылки почты (opt-in). Продукт включает в себя:

1) Настройку серверов под рассылку (по ТоС почтовых систем, прописывание корректных записей).

2) Тестирование доходимости (inbox и spam папки популярных систем) сообщений.

3) Автоматическая проверка доменов и адресов на Black Lists (c автоматическим извещением в icq/jabber/email).

4) Скрипт рассылки. (SMTP, рассылка по расписанию)

5) Настройка сбора почты в единую почтовую программу на удаленном рабочем столе. (windows rdc)

6) Live-time контроллирование рассылки ваших писем. (по запросу)

7) Шаблонизатор текстов писем.

4. Написание модулей для биллинг-систем. (WHMCS, AWBS)

К нам периодически обращаются хостинг-компании с запросами по разработке дополнений и хуков для различных биллинг панелей. Несколько примеров выполненных работ:

- Hook для уведомления о новых тикетах, новых ответах и назначениях тикетов по Jabber-у.

- Серверный модуль для Leaseweb, Hetzner и ряда других ДЦ.

- Серверный модуль для Proxmox - как KVM (qemu), так и OpenVZ.

- Расширение для сокрытия значений настраиваемых опций у некоторых продуктов. Удобно, если у вас есть настраиваемая опция, например, HDD (250ГБ, 500ГБ, 1ТБ), которая есть у большинства продуктов. Отличие лишь в том, что для одних недоступно значение в 500ГБ, у некоторых невозможен апгрейд до 1ТБ. Вместо того, чтобы создавать на каждый такой продукт отдельную опцию HDD_250ГБ_500ГБ, HDD_250ГБ_1ТБ в админке WHMCS на странице расширения для конкретного продукта можно отметить ненужное значение - оно пропадет из списка во время конфигурации.

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

- Модуль отзывов. Добавляет страницу с отзывами, пополняемые в админке WHM. Дает возможность собрать все отзыва о вашей фирме с разных мест на одной странице вашего сайта. Указывается текст, дата, имя пользователя и внешняя ссылка на отзыв.

5. Автоматический подсчет трафика. Задача в рамках которой было необходимо ежемесячно считать 95% статистику по трафику клиентов с целью реализации burstable billing. Такой подход позволяет при анализе утилизации вашего канала различными клиентами исключить редкие пики в скорости и смотреть на более актуальную картину. Статистика собирается по SNMP протоколу со свичей с задаваемой в настройках периодичностью. Были учтены различные нюансы. Например, возможный сброс SNMP счетчиков свитчах, вероятность того, что скрипт, может быть запущен не четко по заранее указанным временным промежуткам, в связи с чем статистику должны быть усреднена каким-либо алгоритмом исходя из предпочтений клиента.

Скрипт позволяет выводить текущие значения счетчиков со свичей, показывать текущую 95%

статистику, задавать для свичей номера стоек, а для портов человеко-читаемые псевдонимы (например, имена клиентов).

6. Скрипт для автоматизации работы с Amazon EC2

Скрипт производит создание и ротацию снэпшотов у запущенных инстансов, смену типа инстанса в зависимости от условий, указываемых клиентом.

7. API для работы с группой Cisco роутеров

Сбор статистики по каждому из портов, хранение этих данных в MongoDB и вывод приложению статистики по заданным датам у заданных портов. Управление портами: оставка и включение, смена скорости, включение шейпинга и прочее.

Наши принципы.

Всегда открыты для интересных и нестандартных задач.

Оплату всегда согласовываем до начала сотрудничества.

Выдерживаем разумные сроки.

Наши контакты.

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

aim: glueon@contactroot.com

yim: glueon@yahoo.com

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
Glueon
На сайте с 26.07.2013
Offline
172
#1

Одна из прямых специализаций компании является разработка приложений на языке Python. Наш ведущий разработчик периодически публикует материалы по данной тематике на нашем корпоративном блоге. Сегодня речь пойдет о некоторых инструментах и для этого языка.

pyenv – программа для удобного и быстрого переключения между версиями Python. Является адаптицией rbenv и ruby-build для Python. Полностью автоматизирует установку интерпретатора, а также позволяет задавать версию интепретатора на уровне папки, переменной окружения.

pyenv-virtualenv - плагин, который позволяет создавать виртуальные окружения, как это делает virtualenv.

tox – полезный инструмент для запуска скриптов в разных окружениях в разных версиях python.

Больше информации можете найти по ссылке: http://contactroot.com/pyenv-tox/

Мы являемся full-stack Python разработчиками, пишем как client-side (на JS) так и server-side.

Реализуем API для вашего проекта на скоростном фреймворке Falcon или Bottle, напишем веб-сайт на Django с богатым функционалом или иной другой серверный скрипт или комплек скриптов для автоматизации и решения иных задач.

Glueon
На сайте с 26.07.2013
Offline
172
#2

Разработали систему для работы с SSH-серверами в качестве SOCKS прокси. Платформа: Linux.

Выполнено за 2 дня, использовался язык программирования Python.

Решены следующие задачи:

1. По просьбе клиента добавлен веб-интерфейс (изначально тестировалось как консольное приложение). Система сама запускает веб-сервер используя порт, указанный в файле настроек.

2. Запуск прокси из списка, выгружаемого на сервер через веб-интерфейс.

3. Полная автономность: при включении показываются все используемые прокси и запущенные процессы SSH (информация получается из /proc сервера). После завершения работы систему можно выключить, соединения при этом остаются активными.

4. Отображение истории соединений и подробных ошибок при подключении в интерфейсе. Время отображается в удобном для клиента формате ("X дней Y часов Z минут назад"). Отдельная страница со списком текущих соединений (возможно использование в качестве API для автоматизации софта, работающего с SOCKS-прокси).

5. Расширяемость, простое добавление функций в будущих версиях программы.

R1
На сайте с 01.05.2009
Offline
64
#3

Заказывал скрипт у данных людей! Всё сделали на отлично как я и хотел. Был момент что скрипт давал сбой, но ребята всё поправили и доработали. Вообщем работой доволен, всем советую.

P.S. Из 6 прогаммистов только они взялись за изготовку данного скрипта, остальные писали что мол незнаю как это сделать:)

Glueon
На сайте с 26.07.2013
Offline
172
#4

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

Требовалось спроектировать единую базу и интерфейс по всем дата-центрам, с которыми работает заказчик.

Основные части системы:

1) Список ДЦ (дата-центров), разбитый по странам. Каждый ДЦ имеет множество дополнительных опций, по которым в последствии можно осуществлять фильтрацию для осуществления выборки. Примеры опций: название, адрес,

контактные данные, примеры IP, цена на размещения оборудования и аренду серверов, стоимости дополнительных опций.

2) Список активных серверов.

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

3) Модуль "Продление".

Предназначен для выставления на продление серверов службе биллинговой поддержки.

Имеет две составляющих: модуль "Запросы на продление" и модуль "Запросы на оплату".

Первый модуль используется старшими менеджерами для одобрения/отклонения серверов. После отклонения продления сервер помечается как "неактивный", в случае одобрения продления создается соответствующий запрос на оплату в модуле "Запросы на оплату", где непосредственно исполнитель совершает оплату в ДЦ и меняет статус на "оплачено", с последующей автоматической смены даты у конкретного сервера.

В данном модуле настроено извещение о всех действиях в мессенджеры (Jabber, ICQ).

4) Администрирование пользователей системы.

Имеется возможность выставлять права доступа к различным частям системы различным пользователям (просмотр различных ДЦ, редактирование ДЦ, добавление и редактирование серверов, обработка запросов на продление, обработка запросов на оплату).

5) Интеграция системы со сторонними биллингами.

Реализована двусторонная интеграция с самописным биллингом клиента (корректировка статусов серверов и дат продления) и панелью WHMCS.

6) Дополнительный функционал.

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

memphis
На сайте с 16.03.2008
Offline
71
#5

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

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

Буду обращаться ещё, точнее уже обратился :)

Get the best, fuck the rest.
Glueon
На сайте с 26.07.2013
Offline
172
#6

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

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

Для добавления серверов, обзора текущего состояния, редактирования настроек и списка серверов написана небольшая панель с помощью Flask.

Наши контакты.

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

aim: glueon@contactroot.com

yim: glueon@yahoo.com

Glueon
На сайте с 26.07.2013
Offline
172
#7

Обратился клиент с заказом системы для удалённой настройки серверов.

Использовался язык программирования Python.

Были решены следующие задачи:

1. Работа с SSH и apt-get для установки пакетов операционной системы Debian, используя модуль Pexpect.pxssh. Работа с утилитой SCP для копирования файлов.

2. Обработка всех ошибок подключения, детальный отчёт о работе программы.

3. Автоматическая установка и настройка почтовых серверов Exim, Dovecot. Диагностика их работы для каждого сервера.

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

5. Автоматическая настройка DNS (включая SPF и DMARK записи), DKIM-сертификатов. Привязка и настройка доменов и любого количества поддоменов.

6. Настройка почтовых ящиков, генерация паролей к ним, SMTP-авторизация.

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

8. Полное тестирование системы перед сдачей клиенту.

9. Система проектировалась с учётом дальнейшего расширения функционала (поддержка других ОС).

Glueon
На сайте с 26.07.2013
Offline
172
#8

Нами была разработана веб-панель для управления кластером из DNS серверов, фронтендов и бэкендов.

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

Панель позволяет быстро менять список бэкендов, на которые проксируется трафик с фронтендов и прикреплять домены к фронтендам, создавая при этом SOA зоны на своих NS-серверах.

Дополнительно реализованы функции работы по расписанию (смены доменов и бекендов), балансировка нагрузки между серверами, небольшая Traffic Direction System (TDS) для задания правил фильтации по странам, мониторинг доступности узлов с извещением по ICQ.

Наши контакты.

jabber: slava@contactroot.com

skype: contactroot

icq: 657324100

Glueon
На сайте с 26.07.2013
Offline
172
#9

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

Например, один наш клиент, являющийся реселлером выделенных серверов пришел с проблемой. В одном из дата-центров, в котором он берет серверы, уже который год не могут починить API для партнеров. При этом весь необходимый функционал доступен через их сайт. Для нормального реселлера, у которого уже не 5 серверов, это совершенно неудобно. Хочется, чтобы клиенты сами могли перезагрузить сервер, переставить ОС или загрузить rescue mode/livecd без обращения в тех. поддержку. И реселлеру самому удобнее, когда просроченные сервера автоматически отключаются, чтобы клиенты сильно не откладывали процесс оплаты.

О методе решения вы можете подробнее почитать в новой статье на нашем блоге - http://contactroot.com/testirovanie-koda-s-requests/

Glueon
На сайте с 26.07.2013
Offline
172
#10

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

Нами была реализована веб-панель (как фронтенд, так и бэкенд), которая состоит из следующих частей:

1) Профиль доменного регистратора.

Представляет из себя карточку компании, где можно заполнять различные данные, связанные с регистратором. К примеру адрес, страна, валюта, реселлерская программа, наличие API, метки регистратора. Отдельно задаются поддерживаемые зоны с ценами.

2) Модуль подбора регистраторов.

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

3) Модуль слежения за изменением цен на доменные зоны.

Реализация слежения за ценами на сайтах регистраторов с выводом значений в единую таблицу (изменения подсвечиваются).

4) Модуль слежения за промо-акциями.

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

5) Реализация многопользовательского доступа к панели с разграничением прав пользователей по группам: пользователь, сотрудник службы поддержки, администратор.

Данный программный комплекс создавался под ключ за 3 недели. Процесс разработки велся по Agile методологиям. Каждые три дня клиенту показывалось демо продукта с работающим функционалом, сделанным за прошедший период. Непосредственно в разработке использовались AIOHttp + React + React-router + Bootstrap + Websockets + Reflux.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий