Реализация веб-сервиса с python на виртуальном AWS экземпляре - PullRequest
1 голос
/ 11 апреля 2020

Мне нужно реализовать простой веб-сервис в python - это мой первый опыт работы с веб-сервисами и API-интерфейсами REST, поэтому я хочу решить, какая среда и инструменты будут соответствовать моим потребностям. В моем веб-сервисе мне нужно прочитать некоторые данные из базы данных, сделать простую логику c и поддержать вызов GET из другого приложения (qualtrics).

Я прочитал и реализовал простой тестовый веб-сервис с python, используя несколько полезных блогов, таких как: Создание Basi c RestFul API в Python | Codementor , но мне нужен реальный сервер, чтобы я мог вызывать API из внешних приложений.

Поскольку я ищу долгосрочное решение, я подумал, что использование AWS EC2 может быть хорошее решение для сервера. Я попытался реализовать это, используя некоторые рекомендации в блогах, такие как: Развертывание приложения Flask на AWS EC2 | Codementor

Тем не менее, поскольку я новичок в этом и столкнулся с некоторыми ошибками реализации / редактирования (например, обработка файла wsgi), и, поскольку я человек windows, и вещи из Ubuntu не являются всегда легко привыкнуть, мне было интересно, что является лучшей основой для моих нужд? Есть ли какой-либо рекомендуемый поток, в котором я смогу реализовать свой простой код python и подключить его к небольшому серверу (либо к экземпляру AWS EC2, либо к любому другому рекомендованному) более удобным способом?

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

1 Ответ

0 голосов
/ 11 апреля 2020

Для начала рекомендую взглянуть на Elasti c Beanstalk, Fargate и API Gateway с Lambda.

Вы можете использовать Elasti c Beanstalk для простого предоставления готовой среды AWS для размещения приложения python в Flask с минимальными необходимыми конфигурациями:

Другая вещь, на которую стоит обратить внимание, это разработка вашей python приложение в качестве docker контейнера с использованием, например, tiangolo / uwsgi- nginx - flask в качестве базового изображения. Это позволит вам легко работать на локальном хосте, а затем просто переместить ваше изображение на AWS для хостинга.

Вы можете разместить его на Fargate для экономии времени при настройке экземпляров контейнера или на Beanstalk также , который также поддерживает docker.

Еще один вариант - go полностью без сервера и разработка вашего Python REST API с использованием API Gateway и lambda .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...