Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXVI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 08 апреля 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Ерланова А.Е. ОБЛАЧНАЯ ПЛАТФОРМА HEROKU, УСТАНОВКА НАСТРОЕК ПО ПРОГРАММЕ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXVI междунар. студ. науч.-практ. конф. № 4(75). URL: https://sibac.info/archive/technic/4(75).pdf (дата обращения: 22.11.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ОБЛАЧНАЯ ПЛАТФОРМА HEROKU, УСТАНОВКА НАСТРОЕК ПО ПРОГРАММЕ

Ерланова Алмара Ерлановна

студент магистратуры 2 курса, Кафедра Информатики и информационной безопасности Евразийский Национальный Университет им Л.Н. Гумилева

Казахстан, г. Астана

Heroku - это классическое хостинговое приложение PaaS. В отличие от обычного хостинга VPS, вам не будет разрешен доступ к виртуальной машине с корневыми оболочками или другими возможностями, но есть набор инструментов для публикации вашей программы в предварительно настроенной среде. То есть вы должны указать тип среды программирования и версию (node.js, python и т. д.), Которую вы должны использовать для запуска веб-сервера, который явно настроен для вас. Одна веб-версия (одна копия программы) бесплатна. Преимущество PaaS заключается в том, что провайдер работает с низкоуровневой конфигурацией, но вы участвуете только в приложении. В хостинге Heroku есть memcached, mongodb, mysql, postgres, rabbitmq, sphinx и другие приложения для разработчиков.

Одна из первых облачных платформ, Heroku, появилась в июне 2007 года и первоначально поддерживала только язык программирования Ruby, но список поддерживаемых в настоящее время языков включает Java, Node.js, Scala, Clojure, Go, PHP и, конечно, Python.

Развертывание веб-приложения в Heroku осуществляется с помощью элемента управления go-go, поэтому приложение должно находиться в хранилище шлюза. Heroku ищет файл с именем Procfile в корневом каталоге программы. Для Python для проектов Heroku вам понадобится файл require.txt со списком всех зависимостей модуля, которые вам нужно установить. После загрузки программы на серверы Heroku вам нужно подождать несколько секунд, чтобы появиться на линии сети.

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

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

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

Чтобы запустить приложение Heroku, вам нужно установить подходящую среду и зависимости и научиться ее запускать. Для приложений Django мы предоставляем информацию о нескольких текстовых файлах:

- runtime.txt: язык программирования и его версия.

- needs.txt: Django включает в себя необходимые компоненты для Python.

- Procfile: список процессов для запуска веб-приложения. Для Jango это обычно сервер веб-приложений Gunicorn (скрипт .wsgi).

- wsgi.py: конфигурация WSGI вызывает наше приложение Django в середине Heroku.

Разработчики взаимодействуют с Heroku, используя специальное клиентское приложение / терминал, похожий на скрипт bash Uniox. Это позволит вам загрузить этот код в хранилище загрузок, управлять запущенными процессами, просматривать журналы, устанавливать переменные конфигурации и многое другое. В приведенном выше примере используется конфигурация WSGI. Эта конфигурация выбирается на основе языков программирования, которые мы используем, или зависит от языка программирования, который мы разработали. Наиболее распространенная конфигурация - это CGI, FastCGI, WSGI и более конкретно ориентированные типы. Включая CGI, FastCGI и WSGI, которые мы рассмотрим. Каждый протокол конфигурации работает в соответствии с конкретными языками программирования и имеет свои преимущества и недостатки из-за своей функциональности, скорости и количества процессов, которые он может обрабатывать одновременно.

 

Рисунок 1. Архивирование данных Salesforce с использованием Lightning Connect и Heroku

 

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

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

Все сценарии обычно находятся в каталоге cgi (или cgi-bin) сервера, но это не обязательно: сценарий может быть расположен где угодно, но большинство веб-серверов требуют специальной настройки. Например, на веб-сервере Apache этот параметр может быть сгенерирован с использованием общего файла конфигурации httpd.conf или файла .htaccess в каталоге, в котором содержится этот сценарий.

Часто, почти всегда, сценарии используются для создания динамических страниц. Содержимое этого веб-сервера является статическим и не изменяется, так как оно должно обрабатываться веб-мастером. Технология CGI позволяет легко изменять содержимое веб-сервера. Простой пример - новая ссылка (баннер) или сценарий анекдота с каждым новым обновлением страницы. Сложные скрипты предназначены для гостевых книг, чатов, форумов и, конечно же, поисковых систем или баз данных, основанных на интернет-технологиях.

Интерфейс FastCGI - клиент-серверный протокол, технология CGI для взаимодействия веб-сервера и программного обеспечения. По сравнению с CGI он более продуктивен и безопасен.

FastCGI устраняет многие ограничения приложений CGI. Отсутствие CGI-программ - их необходимо перезапускать через веб-сервер в каждом приложении, что приведет к снижению производительности. Вместо того чтобы создавать новые процессы для каждого нового запроса, FastCGI использует постоянно работающие процессы для обработки нескольких запросов. Это экономит время.

Хотя программы CGI связываются с сервером через приложения CGI через STDIN и STDOUT, они используют доменные сокеты Unix или TCP / IP для связи с сервером FastCGI. Это обеспечивает следующие преимущества для простых приложений CGI: Приложения FastCGI можно запускать не только на одном сервере, но и в любой точке сети. Несколько процедур FastCGI также могут работать параллельно.

Lighttpd включает внутренний баланс нагрузки FastCGI, который используется для одновременного распределения по нескольким серверам FastCGI. В отличие от других решений, процесс FastCGI должен находиться в кластере, а не только на веб-сервере. Это позволит процессу FastCGI использовать больше ресурсов, чем, например, load + балансировщик + apache + mod_php.

PHP FastCGI точек по сравнению с апача + mod_php и пользователем веб-сервера FastCGI к другой учетной записи пользователя для запуска процесса FastCGI, внимание должно быть уделено для обеспечения дополнительной безопасности, такие как веб-сервер, а также не-CHROOT xrwto.

Perl-FastCGI, для указанных выше точек в сравнении с Apache + mod_perl, через startup.pl разделить память между процессами, проходящими через mod_perl за исключением того, FastCGI является менеджер процессора работает в Perl. Это делается модулем FCGI :: ProcManager и его модулем FCGI: Spawn.

WSGI (интерфейс шлюза веб-сервера) - это стандарт взаимодействия веб-сервера, такой как серверное приложение Python и Apache.

Python имеет много типов веб-фреймворков, инструментов и библиотек. Для каждого из них это способ установить и настроить их, и они не знают, как взаимодействовать друг с другом. Это может быть проблемой для людей, которые начинают изучать Python, потому что, например, выбор конкретной структуры ограничивает выбор веб-сервера и наоборот. WSGI предоставляет простой и универсальный интерфейс между большинством веб-серверов и веб-приложений или кругов. Согласно стандарту приложение WSGI должно отвечать следующим требованиям: - должен быть вызывающим объектом (обычно это функция или метод) - Примите два параметра: - словарь переменных среды (environment) [2] - обработчик запроса (start_response) [3] - Пригласить обработчик запроса HTTP-код ответа и HTTP-заголовки - возвращает дубликат объекта в тело ответа.

 

Список литературы:

  1. Heroku App & Running, Нил Мидлтон, 2013 г.
  2. Heroku programming, Крис Кимп, Брэд Цигер , 2013 г.
  3. Heroku Cloud Application Development, Анубхав Ханюра, 2014 г.
  4. Web Services, Service-Oriented Architectures, and Cloud Computing: The Savvy Manager's Guide (басылым 2), Дуглас К. Бэрри, 2013 г.
  5. http://nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#directives

 

Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.