1 минута чтения
22 июля 2020 г.
Деплой дашборда на AWS Elastic Beanstalk
Если под рукой имеется машина на Amazon Web Services и стоит задача развернуть веб-приложение, можно воспользоваться сервисом Elastic Beanstalk от AWS: он позволяет развертывать приложения под другими сервисами от Amazon, включая EC2.
Готовим приложение
В материале «Делаем дашборд с параметром на Python» мы создали проект с двумя файлами: application.py — скрипт с генерацией локального дашборда и get_plots.py — скрипт, возвращающий scatter plot с пивоварнями Untappd из материала «Строим scatter plot по пивоварням Untappd». Немного подкорректируем файл application.py: чтобы приложение запускалось на Elastic Beanstalk, app.server в конце файла присвоим переменной application. Должно получиться вот так:
application = app.server
if __name__ == ‘__main__’:
application.run(debug=True, port=8080)
Перед тем, как развернуть приложение, нужно собрать его в архив. В архиве должны присутствовать все необходимые файлы, включая requirements.txt — перечень зависимостей приложения. В нём перечислены пакеты и версии, необходимые для запуска приложения. Чтобы его создать, достаточно в директории с проектом и окружением ввести команду pip freeze и отправить вывод в файл:
pip freeze > requirements.txt
Теперь соберём архив. В unix для архивации и сжатия предусмотрена встроенная утилита zip.
zip deploy_v0 application.py get_plots.py requirements.txt
Создаём приложение и окружение
Переходим на Elastic Beanstalk в раздел «Applications». Жмём на «Create a new application».
В открывшейся странице заполняем наименование приложения и описание. Ниже предлагается присвоить приложению теги для упрощенной категоризации ресурсов. Формат вводимого тега похож на словарь Python: это пара ключ — значение, ключ должен быть уникален. После заполнения данных жмём на оранжевую кнопку «Create».
Сразу после нам покажут список окружений для приложения: изначально он пустой, поэтому нажимаем на «Create a new environment».
Так как мы работаем с веб-приложением, выбираем окружение веб-сервера:
После предлагают ввести информацию о приложении, включая домен. Можно ввести свой домен, если таковой будет свободен:
Следом выбираем платформу веб-приложения. Наше написано на Python.
Теперь загружаем само приложение: так как код мы уже написали, выбираем «Upload your code» и прикрепляем файл с архивом. После жмём «Create environment».
Следом откроется окно с логами создания окружения. Пару минут придётся подождать.
Если все сделали правильно, увидим экран с галочкой и подписью «OK»: это означает, что наше приложение успешно загружено и доступно. Если захотим загрузить новую версию, достаточно пересобрать архив с файлами и загрузить его по кнопке «Upload and deploy».
По ссылке, представленной выше можем пройти на сайт, где лежит дашборд. При помощи тега <iframe> этот дашборд можно также встроить на другой сайт:
<iframe id="igraph" scrolling="no" style="border:none;"seamless="seamless" src="http://dashboardleftjoin-env.eba-qxzgfj64.us-east-2.elasticbeanstalk.com" height="1100" width="800"></iframe>
В итоге получим такой дашборд на сайте:
[ Рекомендации ]
Читайте также
2 минут чтения
3 июня 2020
4 минут чтения
16 сентября 2024
[ Связаться ]
Давайте раскроем потенциал вашего бизнеса вместе
Заполните форму на бесплатную консультацию