Подробное руководство для профессионалов в области данных (аналитика данных)

Разверните свой первый аналитический проект

Развертывание панели инструментов парсинга веб-страниц Lazada с помощью Heroku

Постановка задачи:

Для специалистов по обработке данных очень важно развернуть приложение в облаке, чтобы сделать его доступным для технических или нетехнических пользователей. Судя по моему опыту работы, ожидания того, что специалисты по обработке данных будут создавать модели машинного обучения, а инженеры их развертывать, исчезли. В большинстве случаев специалистам по обработке данных необходимо делать и то, и другое: проектировать свои модели данных и развертывать свои приложения для обработки данных (Dev-Ops).

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

Введите Heroku

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

Проще говоря, что бы вы ни запускали на локальном сервере Jupyter Server, вы также можете развернуть его в облаке для пользователей!

Heroku в действии

В этом руководстве вы узнаете, как развернуть свое веб-приложение приборной панели Python с помощью Heroku. Мы собираемся развернуть панель управления, чтобы отслеживать падение цен на продукты Lazada и генерировать оповещения.

Не стесняйтесь просто наслаждаться этой статьей или посетить мой Github Repo для получения полных кодов. Или просто прокрутите вниз и наслаждайтесь этой статьей.

Для вас, кто не знаком с веб-приложением Dashboard, о котором я говорю. Я создаю информационную панель на основе изменений цен на Lazada Scraped Products. Каждый раз, когда пользователь изменяет раскрывающийся список ввода, приложение будет предупреждать пользователей, если цена продукта упадет.

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

Вот ключевые важные шаги для этого:

  1. Зарегистрируйте учетную запись Heroku
  2. Создать новое приложение
  3. Настройка конфигурации развертывания и библиотек
  4. Разверните свое первое приложение с помощью Heroku Toolbelt
  5. Отладка и устранение неисправностей

Зарегистрируйте учетную запись Heroku

Посетите Heroku и зарегистрируйтесь. Затем вы получите уведомление на свою электронную почту, чтобы подтвердить создание учетной записи.

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

Создать новое приложение

Продолжайте и нажмите новое приложение в правом углу страницы. Введите название своего приложения, затем нажмите «Создать приложение».

Настройка конфигурации развертывания и библиотек

На первой странице Heroku вам понадобятся два файла: requirements.txt и Procfile.

  1. requirements.txt будет хранить все библиотеки Python и зависимости, которые есть в вашей среде Python при запуске приложения. Вы можете запустить pip freeze > requirements.txt, чтобы выгрузить свои библиотеки Python в файл.
  2. 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 может предложить с некоторыми движками. Не стесняйтесь посещать следующие ссылки.

  1. Хэроку главный сайт
  2. Развертывание Dash на Heroku
  3. Цены и услуги Heroku

Наконец-то…

Я действительно надеюсь, что это было отличное чтение и источник вдохновения для вас, чтобы развиваться и вводить новшества.

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

Спасибо и удачного кодирования :)

об авторе

Винсент Татан - энтузиаст данных и технологий с соответствующим опытом работы в Google LLC, Visa Inc. и Lazada по реализации микросервисных архитектур, бизнес-аналитики и конвейерных проектов аналитики .

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

Он активно консультировал SMU BI & Analytics Club, направляя начинающих специалистов по обработке данных и инженеров с разным опытом, а также делился своим опытом с компаниями для разработки своих продуктов.

Винсент также открывает свою услугу наставничества 1 на 1 на сайте BestTop, чтобы научить вас, как получить работу аналитика / инженера своей мечты в Google, Visa или других крупных технологических компаниях. запишитесь на прием к нему здесь, если вы ищете наставничества.

Наконец, свяжитесь с Винсентом через LinkedIn, Medium или Youtube Channel.