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

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

Обзор

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

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

В архитектуре приложения используются сервисы AWS Lambda, Amazon API Gateway, Amazon DynamoDB, Amazon Cognito и AWS Amplify Console. Amplify Console обеспечивает непрерывное развертывание и позволяет размещать статические веб-ресурсы, в том числе файлы HTML, CSS, JavaScript и изображения, которые будут загружаться в браузер пользователя. Выполняемый в браузере код JavaScript отправляет и получает данные из общедоступного API внутренней части, который создан на основе Lambda и API Gateway. Amazon Cognito предоставляет функции управления пользователями и аутентификации для защиты внутреннего API. Кроме того, DynamoDB предоставляет уровень с сохранением состояния, на котором функция Lambda API может сохранять информацию.

Статический веб-хостинг

AWS Amplify позволяет размещать статические веб-ресурсы, в том числе файлы HTML, CSS, JavaScript и изображения, которые будут загружаться в браузер пользователя.

Управление пользователями

Amazon Cognito предоставляет функции управления пользователями и аутентификации для защиты внутреннего API.

Внутренняя часть для бессерверного приложения

Amazon DynamoDB предоставляет уровень с сохранением состояния, на котором функция Lambda API может сохранять информацию.

RESTful API

Выполняемый в браузере код JavaScript отправляет и получает данные из общедоступного API внутренней части, который создан на основе Lambda и API Gateway.

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

Начинающий

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

2 часа

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

Все сервисы этой архитектуры входят в уровень бесплатного пользования AWS. Если вы уже превысили лимиты, установленные для уровня бесплатного пользования, работа с этой схемой обучения обойдется вам не более чем в 0,25 USD*.

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

Требуются следующие инструменты:


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

Модули

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

  1. Размещение статического веб-сайта (15 минут): Настройте AWS Amplify для размещения статических ресурсов вашего интернет-приложения со встроенной функцией непрерывного развертывания
  2. Управление пользователями (30 минут): В этом модуле вы создадите пул пользователей Amazon Cognito для управления аккаунтами своих пользователей
  3. Создание серверной части для бессерверного приложения (30 минут): Создание серверного процесса для обработки запросов в интернет-приложении
  4. Развертывание RESTful API (15 минут): Использование Amazon API Gateway для предоставления API RESTful с помощью функции Lambda, которую вы создали в предыдущем модуле
  5. Удаление ресурсов (10 минут): Удалите все ресурсы, которые вы создали в ходе выполнения данного учебного пособия

Размещение статического веб‑сайта