Подробное руководство для профессионалов в области данных (аналитика данных)
Разверните свой первый аналитический проект
Развертывание панели инструментов парсинга веб-страниц Lazada с помощью Heroku
Постановка задачи:
Для специалистов по обработке данных очень важно развернуть приложение в облаке, чтобы сделать его доступным для технических или нетехнических пользователей. Судя по моему опыту работы, ожидания того, что специалисты по обработке данных будут создавать модели машинного обучения, а инженеры их развертывать, исчезли. В большинстве случаев специалистам по обработке данных необходимо делать и то, и другое: проектировать свои модели данных и развертывать свои приложения для обработки данных (Dev-Ops).
Что, если бы мы могли легко и бесплатно развернуть наше приложение для обработки данных для наших пользователей.
Введите Heroku
Heroku - это широко используемая коммерческая платформа как программное обеспечение (PaaS), которая значительно упрощает профессионалам в области данных создание, управление и развертывание приложений различного масштаба. Это означает, что теперь вы можете сосредоточиться на разработке аналитических приложений без особых проблем с инфраструктурой развертывания. Heroku берет на себя всю тяжелую работу по развертыванию!
Проще говоря, что бы вы ни запускали на локальном сервере Jupyter Server, вы также можете развернуть его в облаке для пользователей!
Heroku в действии
В этом руководстве вы узнаете, как развернуть свое веб-приложение приборной панели Python с помощью Heroku. Мы собираемся развернуть панель управления, чтобы отслеживать падение цен на продукты Lazada и генерировать оповещения.
Не стесняйтесь просто наслаждаться этой статьей или посетить мой Github Repo для получения полных кодов. Или просто прокрутите вниз и наслаждайтесь этой статьей.
Для вас, кто не знаком с веб-приложением Dashboard, о котором я говорю. Я создаю информационную панель на основе изменений цен на Lazada Scraped Products. Каждый раз, когда пользователь изменяет раскрывающийся список ввода, приложение будет предупреждать пользователей, если цена продукта упадет.
Наша задача - развернуть это приложение в облаке с помощью Heroku. Конечным результатом является ссылка, по которой вы можете поделиться с друзьями или коллегами, чтобы получить доступ и отслеживать тенденции цен на продукты Lazada.
Вот ключевые важные шаги для этого:
- Зарегистрируйте учетную запись Heroku
- Создать новое приложение
- Настройка конфигурации развертывания и библиотек
- Разверните свое первое приложение с помощью Heroku Toolbelt
- Отладка и устранение неисправностей
Зарегистрируйте учетную запись Heroku
Посетите Heroku и зарегистрируйтесь. Затем вы получите уведомление на свою электронную почту, чтобы подтвердить создание учетной записи.
Как только вы будете готовы, перейдите в свою учетную запись, и вы сможете посетить свою личную главную страницу приложения.
Создать новое приложение
Продолжайте и нажмите новое приложение в правом углу страницы. Введите название своего приложения, затем нажмите «Создать приложение».
Настройка конфигурации развертывания и библиотек
На первой странице Heroku вам понадобятся два файла: requirements.txt и Procfile.
- requirements.txt будет хранить все библиотеки Python и зависимости, которые есть в вашей среде Python при запуске приложения. Вы можете запустить
pip freeze > requirements.txt
, чтобы выгрузить свои библиотеки Python в файл. - Procfile укажет критерии развертывания, например, какой тип дино вы используете. Dynos - это контейнерная модель для запуска и масштабирования приложений на платформе Heroku. Это очень масштабируемый и надежный способ сбалансировать трафик и заставить ваше приложение работать в небольших единицах движков. В этом случае мы собираемся использовать Gunicorn в качестве интерфейса для взаимодействия с динамометрическими станциями.
Gunicorn как служба веб-приложений
Gunicorn - это интерфейс WSGI, что означает, что в нем размещаются любые программируемые на Python веб-приложения и обеспечивается надлежащая связь с нашей библиотекой Dash Python и Flask.
Gunicorn берет на себя задачи, которые происходят между вашим веб-сервером и вашим веб-приложением. Это также помогает вам запускать несколько экземпляров для ваших веб-приложений, проверять работоспособность экземпляра и при необходимости сбрасывать их при балансировке нагрузки этих экземпляров. Было приложено много усилий, чтобы оптимизировать его, чтобы нам было легко его использовать. Прохладный!
Просто поместите эту строку кода в Procfile, чтобы проинструктировать динамометрические станции использовать веб-интерфейс Gunicorn.
web: gunicorn app:server
Разверните свое первое приложение с помощью Heroku Toolbelt
Есть много способов развертывания с помощью Heroku. Но один из самых простых способов, который я нашел, - это использовать Heroku Toolbelt. Перейдите по этой ссылке, чтобы загрузить Toolbelt.
Затем мы будем использовать команды git и heroku для развертывания нашего приложения.
Затем, как только вы вставите его в heroku, вы увидите, что ваш хост установит все библиотеки, которые вы укажете в своем файле requirements.txt.
После того, как сервер закончит свою комиссию, вы получите ссылку для доступа к нашему приложению.
Поздравляем, вы только что развернули свое первое приложение на Heroku!
Отладка и устранение неисправностей
В большинстве случаев вы столкнетесь с некоторыми проблемами при развертывании. Поэтому для отладки вы можете вставить команду heroku logs -tail.
Эта команда вернет следующие журналы, в которых будет рассказано, почему ваше приложение упало.
Здесь говорится, что модуль на моем Dash не называется приложением. Это потому, что я назвал свое основное приложение dashboard.py, а не app.py. Это вызвало ошибку, потому что Flask не смог найти сценарий основного приложения для запуска. Следовательно, мы могли бы просто переименовать его в app.py, а затем снова отправить приложение.
Если у вас возникнут другие проблемы, просто погуглите ошибки журнала, переполнение стека или документацию по Dash. Если нет, не стесняйтесь комментировать здесь, и я отвечу как можно скорее. Ваше здоровье :)
Конечные результаты
Поздравляю !! Вы развернули свое первое приложение для обработки данных. Если вы все сделаете правильно, вы сможете получить доступ к приложению по своей ссылке. Если нет, не стесняйтесь вернуться к моим Кодам Github или задать здесь свои вопросы.
Теперь освободите и разверните свое приложение Analytics с помощью Heroku.
Больше ссылок
Если вам нужно больше примеров и лучшее понимание того, что Heroku может предложить с некоторыми движками. Не стесняйтесь посещать следующие ссылки.
- Хэроку главный сайт
- Развертывание Dash на Heroku
- Цены и услуги Heroku
Наконец-то…
Я действительно надеюсь, что это было отличное чтение и источник вдохновения для вас, чтобы развиваться и вводить новшества.
Пожалуйста, оставьте комментарий ниже, чтобы предложить и оставить отзыв. Как и вы, я все еще учусь, как стать лучшим специалистом по анализу данных и инженером. Пожалуйста, помогите мне стать лучше, чтобы я мог помочь вам лучше в моих последующих выпусках статей.
Спасибо и удачного кодирования :)
об авторе
Винсент Татан - энтузиаст данных и технологий с соответствующим опытом работы в Google LLC, Visa Inc. и Lazada по реализации микросервисных архитектур, бизнес-аналитики и конвейерных проектов аналитики .
Винсент - индонезиец по рождению, за плечами которого успехи в решении проблем, а также сильные стороны в разработке полного стека, аналитике данных и стратегическом планировании.
Он активно консультировал SMU BI & Analytics Club, направляя начинающих специалистов по обработке данных и инженеров с разным опытом, а также делился своим опытом с компаниями для разработки своих продуктов.
Винсент также открывает свою услугу наставничества 1 на 1 на сайте BestTop, чтобы научить вас, как получить работу аналитика / инженера своей мечты в Google, Visa или других крупных технологических компаниях. запишитесь на прием к нему здесь, если вы ищете наставничества.
Наконец, свяжитесь с Винсентом через LinkedIn, Medium или Youtube Channel.