Немного о переходе на бессерверную платформу с 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.
До следующего раза 😃