Проекты на AWS

Разработка современного интернет‑приложения

Развертывание интернет‑приложения, подключение к базе данных и анализ поведения пользователей

Введение: создание современного интернет-приложения на Python

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

Обзор

Это пособие поможет вам создать свое первое современное приложение на базе AWS. Современные приложения изолируют бизнес-логику, оптимизируют повторное использование и итерации, а также сокращают расходы по мере возможности. Современные приложения создаются с помощью сервисов, позволяющих сосредоточиться на написании кода, в то же время автоматизировав задачи обслуживания инфраструктуры.

Мы создадим веб-сайт под названием Mythical Mysfits, где посетители могут приютить вымышленное существо в качестве домашнего питомца. Рабочий пример этого веб-сайта доступен по адресу www.mythicalmysfits.com.

Эта версия учебного пособия совпадает с версией на языке Python. Если вы хотите опробовать руководство на другом языке, откройте главную ветвь и выберите в ней предпочитаемый язык программирования (прокрутите вниз страницы).

Обсуждаемые темы

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

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

Архитектура приложения

Схемы архитектуры приложения – это структурное представление сервисов, входящих в состав сайта Mythical Mysfits, и их взаимодействия между собой. Не волнуйтесь, если вам знакомы не все упомянутые ниже сервисы и функции. В процессе обучения мы подробно обсудим сервисы и укажем ресурсы, которые помогут вам познакомиться с ними поближе.

общая архитектура приложения

Модули

Схемы архитектуры приложения – это структурное представление сервисов, входящих в состав сайта Mythical Mysfits, и их взаимодействия между собой. Не волнуйтесь, если вам знакомы не все упомянутые ниже сервисы и функции. В процессе обучения мы подробно обсудим сервисы и укажем ресурсы, которые помогут вам познакомиться с ними поближе.

Мы реализуем приложение Mythical Mysfits с помощью перечисленных ниже модулей.

  1. Создание статического веб-сайта. Создайте статический веб-сайт, используя сервис Amazon Simple Storage Service (S3), который предоставляет статический контент (изображения, статический текст и т. д.) для веб-сайта.
  2. Создание динамического веб-сайта. Разместите логику приложения на веб-сервере, используя фоновый микросервис API, развернутый в качестве контейнера с помощью AWS Fargate.
  3. Хранение данных о бездомных существах. Предоставьте внешний доступ ко всем данным о существах и сохраните их в управляемой базе данных NoSQL, которую предоставляет Amazon DynamoDB.
  4. Добавление регистрации пользователей. Предоставьте пользователям возможности регистрации, аутентификации и авторизации, чтобы посетители сайта Mythical Mysfits могли отмечать понравившихся существ и забирать их, используя AWS API Gateway и интеграцию с Amazon Cognito.
  5. Регистрация щелчков пользователей. Регистрируйте поведение пользователей с помощью микросервиса для анализа потока щелчков, который будет записывать и анализировать щелчки на веб-сайте с помощью AWS Lambda и Amazon Kinesis Firehose. 

Мы будем создавать и развертывать изменения этого приложения исключительно программным образом. Мы воспользуемся интерфейсом командной строки AWS для создания необходимых компонентов инфраструктуры, включая полностью управляемый стек CI/CD с использованием AWS CodeCommit, CodeBuild и CodePipeline. Наконец, мы выполним необходимые задачи разработки в своем браузере, используя облачную среду IDE – AWS Cloud9.

 Опыт работы с AWS

Начинающий

 Время выполнения

2–3 часа

 Стоимость выполнения

Многие из используемых сервисов включены в уровень бесплатного пользования AWS. Что касается остальных сервисов, их использование в образце приложения будет стоить менее 1 USD в день.

 Предварительные требования для обучения

Чтобы пройти эту схему обучения, вам потребуется:
✓ Аккаунт AWS и административный доступ к нему**

 

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

** У аккаунтов, созданных в течение последних 24 часов, может еще не быть доступа к ресурсам, необходимым для выполнения этого проекта.

 Попробуйте на GitHub

Создание статического веб-сайта: Mythical Mysfits