Используем Docker для python приложения

docker img

Технология контейнеризации Docker — своеобразная священная корова последних лет в области Информационных Технологий. Именно с помощью Docker и различных систем управления для контейнеров получается реализовать самые высоконагруженные системы в мире. Также заметно упрощается процесс разработки приложений. В свое время уже писал в блоге статью из этой области — Docker в повседневной работе ITшника. Сейчас хотелось бы немного больше осветить практическую часть вопроса. А именно способ запуска python приложения в Docker контейнере на сервере. При этом подразумевается, что Вы не используете инфраструктуру наподобие Kubernetes или его аналогов, а просто хотите по мере необходимости использовать контейнеры от случая к случаю. Частенько бывает ситуация, что сервер для различных задач задействует возможности Python v2. При этом есть существенная необходимость запускать приложения, написанные на Python v3. Использование Docker позволяет элегантно решить эту задачу.

По большому счету для того, чтобы ощутить всю прелесть преимуществ использования Docker нужна хорошая система оркестрации. Именно при полной декомпозиции программных приложений под Docker с использованием систем управления мы получим отличное масштабирование, фишки CI/CD, отказоустойчивость. В данном примере всего этого у нас не будет. Мы будем разворачивать наше контейнеризированное приложение напрямую в операционной системе Linux. Это будет своеобразным примером, который позволит понять с практической точки зрения как же на самом деле работает Docker в реальной жизни.

Читать далее «Используем Docker для python приложения»

Разворачиваем Django с Ansible

ansible automation

Мне нравится писать программы на языке программирования Python. На этом языке есть популярный фреймворк Django. С помощью него можно создавать серьезные веб приложения. Для запуска работы этого сервиса нам как правило нужнны Nginx, PostgreSQL или MySQL, Gunicorn, а также сам фреймворк Django и несколько подсобных библиотек. Частенько бывают нужны и другие приложения, например Memcached, Redis или RabbitMQ. В этой статье не будем их затрагивать, чтобы чрезмерно не усложнять материал. Каждый раз, запуская сервер для работы с проектом Django, хочется получать готовую среду. Тратить по нескольку часов на установку и базовую настройку всех приложений — утомительное и скучное занятие. С помощью ролей Ansible мы этот процесс можем ускорить с минимумом усилий с нашей стороны при разворачивании.

Ранее в блоге писал, как упростить себе жизнь с помощью Packer (Создаем образ ОС с Packer) и Vagrant (Vagrant — основы работы). Эти два инструмента позволяют автоматизировать разворачивание операционной системы на этапе разработки и тестирования. Добавив к ним систему управления конфигурациями Ansible, мы можем автоматизировать максимум задач по развертыванию сервера, для начала работы с Django. С помощью ролей Ansible мы установим необходимые пакеты и программное обеспечение, выполнив базовую настройку при этом. После выполнения этих ролей, результатом станет готовый сервер с работающим приложением. Необходимость в ручной работе по установке и настройке при этом сведется на ноль.

Читать далее «Разворачиваем Django с Ansible»

Разворачивание telegram бота на сервере

telegram_bot

После того, как Ваш бот написан, пришло время его развернуть на сервере. Это позволит работать ему в постоянном режиме, вне зависимости от работы компьютера разработчика. Для целей хостинга рекомендую использовать небольшой VPS сервер на базе операционной системы Linux. Аренда обойдется, примерно, 5-7 долларов в месяц. Как пример, того что можно использовать — VPS сервера на ihor.ru Подобных хостеров в мири сотни, даже, наверное, тысячи. Небольшой поиск в Интернет поисковиках, позволит Вам подобрать нужный исходя из конкретных требований.

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

Читать далее «Разворачивание telegram бота на сервере»

Telegram боты и их создание

bot

Продукт Павла Дурова при ближайшем рассмотрении вызывает все больше восхищения. Начинаешь понимать, почему TELEGRAM пользуется такой сумасшедшей популярностью по всему миру. В целом продукт создает воркуг себя целую экосистему. С помощью различных его функций можно решать огромное количество бизнес задач и задач из личной жизни. Особенно четко это видно, когда Вы начинаете создавать своих Telegram ботов. Мне, откровенно, не совсем понятно, зачем власти России воют с продуктом, который является одним из самых революционных в мире.

Telegram боты — фишка, дающая возможность автоматизировать различные процессы, с помощью мессенджера Дурова. Любой желающий может создать себе бота, ознакомиться с API и напрограмиировать все, что душе угодно. Возможности, лично меня, поражают. Я в этой статье покажу основные вещи, которые может использовать каждый. Для этих целей мы будем использовать язык программирования Python и соответствующие библиотеки для работы с Telegram — python-telegram-bot.

Читать далее «Telegram боты и их создание»