Как я выбираю AWS для запуска моих программ

1656575649 kak ya vybirayu aws dlya zapuska moih programm

Питер Мбануго

GT7OeaIgXVBe8d4V0QMZJ2T5H8YShEEjwH28
Сервисы AWS

Выбор службы AWS для запуска программы может быть несколько запутанным для некоторых из нас. Даже опытным может потребоваться некоторое время, чтобы принять решение. Возможно, вы новичок в AWS, и вам все еще нужно понять, что и почему из разных служб AWS. Или вы можете знать, как использовать AWS, но это все равно занимает больше времени, поскольку у вас нет процесса, чтобы облегчить выбор. Позвольте мне показать вам, как я это делаю, и процесс, которым я придерживаюсь.

Взгляд на процесс

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

Вопрос 1: Сколько мне нужно контроля?

Отвечая на этот вопрос, я решаю, что хочу контролировать, а не то, что я хотел бы покинуть AWS.

Я выбираю, хочу ли я контролировать, на какой операционной системе (ОС) он будет работать, как настроена сеть, сервер, код программы и ее конфигурация.

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

Различные варианты облачных вычислений дают вам контроль и ответственность. Давайте рассмотрим эти варианты и то, что мы можем контролировать.

Вариант 1: Инфраструктура как услуга (IaaS):

IaaS computing дает вам высокий уровень гибкости и контроля управления вашими ИТ-ресурсами. Он предоставляет доступ к сетевым функциям, компьютерам (виртуальным или на специальном оборудовании) и местам для хранения данных. Используйте эту опцию, если вы хотите контролировать работу программы и нести всю ответственность за следующее:

  1. Конфигурация программы
  2. Код программы
  3. Обслуживание и настройка сервера
  4. Операционная система
  5. Антивирус
  6. сеть

Услуги, доступные как IaaS:

  1. Экземпляры Elastic Compute Cloud (EC2).
  2. Amazon Lightsail
  3. EC2 Container Service (ECS)
  4. Служба эластичного контейнера для Kubernetes (EKS)
  5. Пакет AWS

Вариант 2: Платформа как услуга (PaaS)

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

  1. Конфигурация программы
  2. Код программы
  3. Конфигурация сервера

оставляя другие обязанности AWS.

Услуги, доступные как PaaS:

  1. Упругий бобовой стебель
  2. Мобильный центр

Вариант 3: Функционирует в качестве услуги (FaaS)

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

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

В этой категории доступны следующие услуги:

  1. лямбда
  2. Функции шага

Вопрос 2: как пользователи будут использовать приложение?

Другой вопрос, который следует рассмотреть — знать, как пользователи будут использовать приложение.

  1. Будет ли он всегда включен и будет работать, ожидая обработки ввода/данных? Даже если вход/данные/запросы не поступают, он просто не будет работать, потребляя ресурсы и инфраструктуру сервера.
  2. Он будет работать только тогда, когда это необходимо? В этом случае приложение запускается, когда у него есть запрос или данные для обработки, и останавливается после завершения.

Если моя модель использования программы удовлетворяет вопросы 1то мне нужно будет использовать классическую модель для запуска программ. Я мог бы использовать экземпляры EC2, ECS или Elastic Beanstalk. Если это удовлетворяет вопрос 2я буду работать с Лямбдой.

Иногда мы хотим запускать фоновые задачи. Они будут отличаться в зависимости от того, как долго они работают и сколько ресурсов им понадобится для должной работы. Столкнувшись с этой проблемой, я выберу между использованием Lambda и Batch. Я выберу Lambda, если мне нужно выполнить задание в течение максимально допустимого времени обработки, которое не требует больше ресурсов, чем может предоставить Lambda. Если это противоположно этому, я уйду с Батчем.

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

Выбор продукта IaaS

h62U5mxevaQkMn2X46D60gVvOk5cy4fjE3YJ
выбор услуг IaaS

Выбор продукта PaaS

4oqXOGAm8OBOELjP5kMpvgot1g4tuACufMpK
выбор услуг PaaS

Выбор продукта FaaS

7TjqbgkFajgcXK17OSfN4pSp4X2cVeSfnp-1
выбор PaaS

Вышеприведенные шаги помогут вам быстрее и легче принимать решения, поэтому я надеюсь, что вы нашли их полезными.

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

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

Питер – разработчик программного обеспечения, технический писатель и производитель Hamoni Sync. Сейчас он работает с Field Intelligence, где помогает создавать приложения для логистики и цепочки поставок. Он также участвует в исследованиях дизайна и поддержки клиентов для этих продуктов. Он также является участником Hoodie и членом сообщества Offline-First

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *