Разработка web-проектов

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

Мы являемся full-stack разработчиками, поэтому можем написать как клиентскую, так и серверную части.
Основными языками для разработки серверной части являются Python и PHP. Для клиентской - JavaScript.
В веб-среде имеем опыт разработки API для проектов с использованием фреймворков Flask, Phalcon, 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
.
Блиносвёрт ?
Glueon, Пункт 6 правил http://johncms.com/forum/index ... 14606
запрещает иметь более одной темы во фрилансе.
Старую закрыть?
.
(\/)____o_O____(\/)
Jane, темы разные совершенно, будет логичнее их разделить
.
Glueon
Jane, пф-пф-пф. Я даже теряюсь, темы действительно разные. Закрывайте тогда эту. Старую оставьте. Хотя если что, мы готовы решить как-то через личку в индивидуальном порядке Может что-то интересует из наших услуг.
.
Блиносвёрт ?
Glueon, Мы с администрацией обсудили и приняли решение сделать исключение для этой темы!
Однако для остальных пока правила остаются в силе, возможно будут пересмотрены, возможно нет !
.
Спасибо, Jane!
.
Нами была разработана веб-панель для управления кластером из DNS серверов, фронтендов и бэкендов.
В панель добавляются IP бэкендов, фронтендов и DNS серверов, после чего на любой из фронтендов в панели добавляются домены. В результате на DNS серверах, добавленных в панели, добавляются зоны для добавленных доменов, с соответствующими IP адресами фронтендов, а на фронтендах автоматически формируется список бэкендов, на которые проксируется трафик.
Панель позволяет быстро менять список бэкендов, на которые проксируется трафик с фронтендов и прикреплять домены к фронтендам, создавая при этом SOA зоны на своих NS-серверах.
Дополнительно реализованы функции работы по расписанию (смены доменов и бекендов), балансировка нагрузки между серверами, небольшая Traffic Direction System (TDS) для задания правил фильтации по странам, мониторинг доступности узлов с извещением по ICQ.
.
Часто приходят заказы на разработку различного рода парсеров и средств автоматизирующих какую-то определенную деятельность на сайтах.

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

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

Наши контакты.
jabber: slava@contactroot.com
skype: contactroot
icq: 657324100
.
К нам обратился клиент - владелец reselling бизнеса доменов с задачей реализовать систему внутреннего учета и работы с доменными регистраторами. Данная система позволяет вести базу по регистраторам, следить за промо-акциями и отслеживать цены на различные зоны.

Нами была реализована веб-панель (как фронтенд, так и бэкенд), которая состоит из следующих частей:
1) Профиль доменного регистратора.
Представляет из себя карточку компании, где можно заполнять различные данные, связанные с регистратором. К примеру адрес, страна, валюта, реселлерская программа, наличие API, метки регистратора. Отдельно задаются поддерживаемые зоны с ценами.
2) Модуль подбора регистраторов.
Модуль, позволяющий производить выборку из регистраторов по различным параметрам.
3) Модуль слежения за изменением цен на доменные зоны.
Реализация слежения за ценами на сайтах регистраторов с выводом значений в единую таблицу (изменения подсвечиваются).
4) Модуль слежения за промо-акциями.
Автоматическое слежение за промо-акциями на домены и смежные услуги, с моментальным извещением на электронную почту.
5) Реализация многопользовательского доступа к панели с разграничением прав пользователей по группам: пользователь, сотрудник службы поддержки, администратор.

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

Основная часть заказов по разработке веб-проектов мы проводим на Django, а в этом мире как самым типовым решением, покрывающим большинство задач, является Celery. Celery – планировщик задач, который является прослойкой между очередью сообщений, типа RabbitMQ, и вашим кодом.

Подробности вы можете прочитать в нашем блогпосте -
http://contactroot.com/primery ... lery/

Наши контакты.
jabber: slava@contactroot.com
skype: contactroot
icq: 657324100
Всего: 23