Введение: создание современного интернет-приложения на Python
Следуйте пошаговым инструкциям, чтобы создать свое первое современное приложение.
Обзор
Это пособие поможет вам создать свое первое современное приложение на базе AWS. Современные приложения изолируют бизнес-логику, оптимизируют повторное использование и итерации, а также сокращают расходы по мере возможности. Современные приложения создаются с помощью сервисов, позволяющих сосредоточиться на написании кода, в то же время автоматизировав задачи обслуживания инфраструктуры.
Мы создадим веб-сайт под названием Mythical Mysfits, где посетители могут приютить вымышленное существо в качестве домашнего питомца. Рабочий пример этого веб-сайта доступен по адресу www.mythicalmysfits.com.
Эта версия учебного пособия совпадает с версией на языке Python. Если вы хотите опробовать руководство на другом языке, откройте главную ветвь и выберите в ней предпочитаемый язык программирования (прокрутите вниз страницы).
Обсуждаемые темы
В этом руководстве мы рассмотрим этапы создания вышеописанного интернет-приложения с использованием концепции Well-Architected. Вы узнаете, как разместить это интернет-приложение на интерфейсном веб-сервере и подключиться к фоновой базе данных. Вы также научитесь настраивать аутентификацию пользователей, а также собирать и анализировать данные о поведении пользователей.
На этом сайте реализованы базовые функции, например возможность отметить понравившихся существ и зарезервировать выбранного питомца. Это также дает возможность собирать сведения о поведении пользователей для последующего анализа.
Архитектура приложения
Схемы архитектуры приложения – это структурное представление сервисов, входящих в состав сайта Mythical Mysfits, и их взаимодействия между собой. Не волнуйтесь, если вам знакомы не все упомянутые ниже сервисы и функции. В процессе обучения мы подробно обсудим сервисы и укажем ресурсы, которые помогут вам познакомиться с ними поближе.

Модули
Схемы архитектуры приложения – это структурное представление сервисов, входящих в состав сайта Mythical Mysfits, и их взаимодействия между собой. Не волнуйтесь, если вам знакомы не все упомянутые ниже сервисы и функции. В процессе обучения мы подробно обсудим сервисы и укажем ресурсы, которые помогут вам познакомиться с ними поближе.
Мы реализуем приложение Mythical Mysfits с помощью перечисленных ниже модулей.
- Создание статического веб-сайта. Создайте статический веб-сайт, используя сервис Amazon Simple Storage Service (S3), который предоставляет статический контент (изображения, статический текст и т. д.) для веб-сайта.
- Создание динамического веб-сайта. Разместите логику приложения на веб-сервере, используя фоновый микросервис API, развернутый в качестве контейнера с помощью AWS Fargate.
- Хранение данных о бездомных существах. Предоставьте внешний доступ ко всем данным о существах и сохраните их в управляемой базе данных NoSQL, которую предоставляет Amazon DynamoDB.
- Добавление регистрации пользователей. Предоставьте пользователям возможности регистрации, аутентификации и авторизации, чтобы посетители сайта Mythical Mysfits могли отмечать понравившихся существ и забирать их, используя AWS API Gateway и интеграцию с Amazon Cognito.
- Регистрация щелчков пользователей. Регистрируйте поведение пользователей с помощью микросервиса для анализа потока щелчков, который будет записывать и анализировать щелчки на веб-сайте с помощью AWS Lambda и Amazon Kinesis Firehose.
Мы будем создавать и развертывать изменения этого приложения исключительно программным образом. Мы воспользуемся интерфейсом командной строки AWS для создания необходимых компонентов инфраструктуры, включая полностью управляемый стек CI/CD с использованием AWS CodeCommit, CodeBuild и CodePipeline. Наконец, мы выполним необходимые задачи разработки в своем браузере, используя облачную среду IDE – AWS Cloud9.
Опыт работы с AWS
Начинающий
Время выполнения
2–3 часа
Стоимость выполнения
Многие из используемых сервисов включены в уровень бесплатного пользования AWS. Что касается остальных сервисов, их использование в образце приложения будет стоить менее 1 USD в день.
Предварительные требования для обучения
Чтобы пройти эту схему обучения, вам потребуется:
✓ Аккаунт AWS и административный доступ к нему**
* Предполагается, что вы будете использовать рекомендуемые конфигурации на протяжении всего учебного курса и завершите работу всех ресурсов в течение 24 часов.
** У аккаунтов, созданных в течение последних 24 часов, может еще не быть доступа к ресурсам, необходимым для выполнения этого проекта.