AWS Cloud Core Concepts

от автора

Предисловие

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

Cloud — это место, где вы храните свои данные/приложения/процессы и получаете к ним доступ в любое время через Интернет.

The Five Pillar

image

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

  • Operational Excellence
  • Security
  • Reliability
  • Performance Efficiency
  • Cost Optimization

Разберем эти практики и Shared responsibility model в этом подкате.

Operation Excellence

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

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

Две концепции:

  • Infrastructure as a Code (ex. CloudFormation. CDK)
  • Observability (Analytics, Metrics, Actions)

Infrastructure as a Code позволяет писать код для разворачивания сервисов AWS через yaml/json(CloudFormation) файлы или на любимом вами языке(Cloud Development Kit). Один раз пишете – много раз используете, ну разве не рай для DevOps?

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

Пример плохой ситуации: Вы развернули большой сервис по доставке еды. Протестировали, всё работает идеально, приложение набирает популярность, ваш cloud engineer горизонтально масштабирует ваш сервис до 100 экземпляров, и в какой-то момент половина экземпляров приходит в не действие (предположим, что кто-то неправильно прикурил сигарету на ночном перекуре в датацентре AWS). И половина пользователей начинает жаловаться на не доступность доставки еды. А что делать ночью без еды?

Что же мы делали до того как узнали про operation excellence: звоним cloud engineer, он летит в офис к своему ПК, в треморе начинает разворачивать экземпляры в другом датацентре AWS. И ура, к утру все сервисы восcтановлены. Но клиенты уже потеряны, они нашли себе другую доставку. You lose!

Что же мы делаем после того как узнали про operation excellence: настраиваем метрику на минимальное количества экземпляров 100, и когда в следующий раз кто-то попробует прикурить – мы уже будем готовы и AWS за нас вернёт все не достающие экземпляры сразу же как произойдет проблема. You win!

Security

Фокусируется на том, как защитить вашу инфраструктуру в облаке. Три важные концепции, связанные с безопасностью в облаке:

  • Identity and Access Management (IAM)
  • Network Security
  • Data Encryption

IAM – ключевой сервис AWS, который позволяет создавать пользователей, роли, группы, политики.

image

Network security – вы можете настраивать какой трафик может перемещаться по вашей сети в облаке, а какой нет. Все возможные виды фильтрации: от проверки headers в https запросах до портов tcp соединений.

Reliability

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

Две концепции для создания отказоустойчивых систем:

  • Fault Isolation(Resource, Availability Zone, Region)
  • Limits(soft and hard)

Fault Isolation говорит о том что стоит изолировать ваши сервисы от сбоев, чем меньше частей вашей системы выйдет из строя – тем лучше, казалось бы всё просто.
Что надо делать чтобы этого достичь? Делать ваши сервисы высокодоступными(high availability) вам поможет размещения ресурсов в разных датацентрах AWS, в разных регионах и зонах доступности.

image

Вторая концепция – настройка ограничений. Самый доступный пример защита от DDoS-атак, Тестируете рабочую пропускную способность своего приложения, ставите ограничение на приём максисум 150% от текущей пропускную способности, и “задудосить” вас не получится.

Performance Efficiency

Фокусируется на том, как вы можете эффективно и масштабируемо запускать службы в облаке. Хотя облако дает вам возможность обрабатывать любой объем трафика, оно требует, чтобы вы выбирали и настраивали свои службы с учетом масштабирования.

Две основные концепции:

  • Selection
  • Scaling

Первая концепция – выбор сервисов под ваши нужды. Выбирайте те сервисы которые подходят под вашу конкретную задачу. Если это пакетная обработка больших данных – есть AWS EMR, если потоковая – Kinesis, если миграция данных в облако – AWS DataSync. Все они оптимизированы под свою конкретную задачу.

Scaling позволяет увеличивать перфоманс вашего приложения с помощью нарастания мощностей экземпляра (vertical scaling) или увеличением их количества (horizontal scaling).

image

Cost optimization

Фокусируется на оптимизации затрат помогает достичь бизнес-результатов при минимизации затрат. Pay-as-you-go модель вносит следующие изменения в ваш процесс оптимизации затрат:

  • Pay For Use
  • Cost Optimization Lifecycle

image

Shared responsibility model

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

Ответственность клиента будет определяться выбранными для использования облачными сервисами AWS. Выбор сервисов определяет объем работ по настройке, которые должен выполнить клиент в рамках своих обязанностей по обеспечению безопасности. Клиенты, которые развертывают инстанс Amazon EC2, отвечают за управление гостевой операционной системой (включая обновления и исправления безопасности), любым прикладным программным обеспечением или сервисными компонентами, установленными на инстансах, и за настройку брандмауэра (группы безопасности), предоставляемого AWS, для каждого инстанса. В случае абстрактных сервисов, таких как Amazon S3 и Amazon DynamoDB, AWS управляет уровнем инфраструктуры, операционной системой и платформой, а клиенты получают доступ к конечным точкам для хранения и извлечения данных. Клиенты отвечают за управление своими данными (включая параметры шифрования), классификацию своих ресурсов и использование инструментов IAM для применения соответствующих разрешений.”

О чём это говорит? Если ядерная бомба упадёт на датацентр AWS – они берут ответственность за это происшествие на себя. И они будут оправдываться/возмещать ущерб. Если вы не шифруете данные при передачи с вашего компьютера и данные перехватили и украли – это ваша проблема.

Послесловие

Вы прочитали «AWS Cloud Core Concepts». В этом статье вы узнали следующее:

  • Пять столпов архитектуры AWS
  • Важные модели, которые представляют собой облачный образ мышления
  • Ключевые концепции в рамках каждого из пяти столпов
  • Shared responsibility model

Источники

aws.amazon.com/ru/getting-started/fundamentals-core-concepts
aws.amazon.com/ru/compliance/shared-responsibility-model

ссылка на оригинал статьи https://habr.com/ru/post/524892/


Комментарии

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

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