Немного о переходе на бессерверную платформу с AWS Cloud Platform с React.

Что такое бессерверные вычисления?

Бессерверные вычисления - это модель выполнения, в которой поставщик облачных услуг отвечает за выполнение фрагмента кода путем динамического распределения необходимых ресурсов. Статья Википедии о бессерверных вычислениях дает достойное введение в эту тему:

Бессерверные вычисления, также известные как функция как услуга (FaaS), представляют собой модель выполнения кода облачных вычислений, в которой поставщик облачных услуг полностью управляет запуском и остановкой платформы контейнера функции как услуги (PaaS) по мере необходимости для обслуживания запросов. , и запросы оплачиваются на основе абстрактной меры ресурсов, необходимых для удовлетворения запроса, а не на каждую виртуальную машину в час.

Что делает Serverless, так это то, что он отвлекает от вас инфраструктуру, поэтому вам не нужно о ней беспокоиться, что означает,

«Сосредоточьтесь на своем приложении, а не на инфраструктуре»

Однако бессерверный режим на самом деле не является бессерверным, поскольку серверы по-прежнему будут использоваться для выполнения наших функций, но вам просто не о чем беспокоиться. Хорошо, а каков пользовательский случай и каковы преимущества?

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

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

Есть несколько популярных облачных провайдеров, таких как Google Cloud, Azure и AWS, и в этой статье мы погрузимся в AWS: bowtie:

Что такое AWS Amplify?

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

Чтобы использовать любые сервисы AWS или библиотеку Amplify, вам потребуется учетная запись AWS. Если у вас его нет, вы можете зарегистрироваться сейчас, где они предоставляют бесплатный уровень, так что вам не о чем беспокоиться.

Установить Amplify CLI

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

Давайте погрузимся в установку. Сначала вам нужно установить amplify cli, используя,

npm install -g @aws-amplify/cli

После завершения установки мы можем продолжить настройку Amplify, выполнив следующую команду в вашем CLI,

amplify configure

Вам будет предложено войти в AWS. После входа в систему вернитесь в интерфейс командной строки, и вам будет предложено выбрать регион AWS, выбрать регион, который вы предпочитаете, и нажать клавишу ВВОД. Затем вам нужно создать пользователя IAM (Identity and Access Management), и вы должны указать имя пользователя, ввести имя пользователя и снова нажать Enter, он откроет ваш браузер и перенесет вас на панель управления IAM. Выполните это с настройками по умолчанию и настройте имя пользователя IAM. В интерфейсе командной строки вам будет предложено ввести идентификатор ключа доступа, а затем секретный ключ доступа, скопировать и вставить их в консоль, и, наконец, он предложит создать или обновить профиль AWS на вашем локальном компьютере, где вы можете создать новый или продолжить по умолчанию.

Вот и все. Конфигурация выполняется с помощью Amplify.

Базовая настройка с React

Создайте свое приложение React с помощью create-response-app:, перейдите в каталог и запустите свой проект:

npx create-react-app serverless-react
cd serverless-react
npm start

Теперь нам нужно инициализировать наше приложение с помощью Amplify. Для этого выполните следующую команду:

amplify init

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

Наконец, давайте установим пакеты AWS Amplify в наше приложение React:

npm install -S aws-amplify && npm install -S aws-amplify-react

Добавление аутентификации

Давайте добавим аутентификацию в наше приложение React. Мы воспользуемся Amazon Cognito или, если хотите, построим с нуля. Добавьте аутентификацию, используя:

amplify add auth

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

amplify push

Настройте Auth в приложении React

Теперь нам нужно настроить наше приложение React. Откройте свой index.js и добавьте конфигурацию Amplify.

Затем добавьте Amplify Authenticator в ваш App.js файл:

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

Извините за то, что я не сделал эту статью большим желанием еды, может быть, в другой статье. Это завершение бессерверной кулинарии с AWS Amplify.

До следующего раза 😃