развертывание django на java и c

#c #django #google-app-engine #amazon-ec2 #web-deployment

#c #django #google-app-engine #amazon-ec2 #веб-развертывание

Вопрос:

Я создал приложение django, которое содержит c для некоторых представлений, а также библиотеку Java. Как бы мне развернуть это приложение? Какой тип хостинга поддерживает несколько языков? Я просмотрел EC2, GAE и несколько платформ (например, heroku), но, похоже, не могу найти окончательного решения.

Я никогда ничего не развертывал в Интернете, поэтому было бы очень полезно простое объяснение.

Комментарии:

1. GAE не будет работать, EC2 или любая служба, где у вас есть root-доступ к виртуальному ящику Linux, должна быть в порядке

Ответ №1:

Материал PaaS, вероятно, не является вашим лучшим выбором. Если вам нужна масштабируемость и связанные с ней модные словечки (почти 99,9999999999% доступности, поскольку мои серверы размещены в параллельном измерении без грозы, перебоев в подаче электроэнергии, ураганов, землетрясений или ядерной катастрофы), которые предоставляются при размещении вашего приложения на платформе крупной веб-компании, ознакомьтесь с системами IaaS (Инфраструктура как услуга), такими как Google Compute Engine или AWS. С ними вы просто получаете виртуальный сервер (или серверы), на котором работает выбранный вами дистрибутив Linux, и вы можете устанавливать и запускать на них все, что вам заблагорассудится, не будучи привязанным к конкретной платформе, такой как App Engine или Heroku (где вам нужно в основном написать свое приложение специально для запуска на этой платформе). Если вы планируете с самого начала использовать тонну пропускной способности / ресурсов, вы почти наверняка получите более выгодную сделку, используя выделенный сервер (ы) от небольшой компании. Интересует, для чего конкретно вы выполняете C в представлении Django. Обработка изображений / видео?

Ответ №2:

Что ж. Развертывание — это не совсем то, где простое объяснение сильно помогает.

Сначала я бы проверил, каковы требования к операционной системе (компиляторы, зависимости, …). Возможно, это быстро сократит возможности.

Я предполагаю, что при установке, содержащей артефакты C и Java, обычных предложений PaaS (GaE, Heroku, …) будет недостаточно, потому что они определяют стек. И я бы сказал, что смесь Python / C / Java довольно необычна.

Одним из вариантов может быть выбор предложения IaaS (EC2, …). Там вы можете запускать весь свой собственный стек и иметь возможность более простого масштабирования. Размещение приложения на вашем собственном сервере (ах) также всегда возможно. Проверьте свои правила защиты данных, чтобы выяснить, не является ли это даже обязательным требованием.

Существует множество способов запустить приложение Django. В документации Django содержится некоторая информация о развертывании. Если у вас есть определенные особые требования, uwsgi может быть хорошим сервером приложений.

Возможно, вам также понадобится веб-сервер перед приложением. Возможности варьируются от использования встроенного HTTP-сервера uwsgi до использования, например, Nginx с uwsgi.

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


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