Тут я оставляю заметки при подготовке к экзамену AWS Certified DevOps Engineer Professional - DOP-C01
Пять критериев качественной инфрастуктуры
Операционное совершенство - Operational Excellence
Наиболее важный критерий в повседневной работе.
Включает в себя пять основных принципов работы с инфрастурктурой:
Использование Infrastructure As Code. Способствует распространению знаний об инфрастурктуре, оценке её качества и позволяют быстро тестировать изменения. AWS предлагает несколько инструментов: CloudFormation, Cloud Development Kit (CDK), различные SDK и интерфейс CLI.
Быстрая реакция на события и инциденты.
Внесение частых, небольших и обратимых изменений в инфраструктуру.
Предсказание проблем и отказов и действия на опережение.
Извлечение знаний из инциденнтов и ииспользование их в дальнейшем
Пример реализации операционного совершенства
Например - есть набор ec2-инстансов, которые требуют обновлений.
Для установки патчей можно использовать Patch Manager из состава System Manager. Регулярные обновления реализуются с помощью System Manager Maintenance Task.
Вот что нужно сделать для реализации этой задачи:
убедиться, что на всех инстансах развернут SSM Agent (бывший Simple System Manager).
Создать алгоритм обновления (patching baseline), содержащий правила для аппрува/отказа списков патчей
измениь IAM-role инстансов, чтобы SSM на них имел нужные привилегии
опционально создать группы серверов (patch managenment groups), на которые устанавливаются разные наборы обновлений.
Безопасность
Обеспечение безопасности включает в себя четыре области:
защита данных
Управление привилегиями
Реакция на инциденты
Расследование инцидентов
В свою очередь хорошо српоектированная сисьема должна следовать семи принципам безопасности:
Строгая идентификация (strong identity foundation) и следование принципу наименьших необходимых привилегий (AWS IAM, AWS Single Sign-On, Active Directory)
Возможность проследить взаимосвязанные события (traceability) (AWS CloudWatch Logs, AWS VPC Flow Logs, AWS CloudTrail)
безопасность на всех уровнях взаимодействия (Security Groups, Network ACLs, etc…)
автоматизация процедур, обеспечивающих безопасность (GuardDuty, CloudWatch, EventHub, AWS Config)
защита данных в процессе передачи и хранения (Certificate Manager, AWS Shield, AWS Web Application Firewall, Amazon CloudFront, Key Management Service)
отсутствие прямого доступа людей к данным
готовность к событиям безопасности - создание и поддержание в актуальном состоянии планов на случай нежелательных событий
При проектировани облачных решений важно уделять внимание безопасности.
То есть - обеспечивать аутентификацию и авторизацию, проверку целостности данных и кода.
Назначение привилегий всегда должно быть основано на принципе минимально необходимых привилегий.
Решения должны включать в себя планы создания резервных копий и восстановления после сбоев.
Важно уделять внимание аудиту событий в инфрастурктуре.
Надежность
Пять основных принципов обеспечения надежности:
Автоматизация процедур восстановления после сбоев
Регулярное тестирование процедур восстановления
Горизонтальное масштабирование для повышения общей доступности сервисов
Правильное планирование ресурсов
Автоматизация рутинных процедур
Приложения должны быть устойчивы к отказам отдельных элементов инфраструктуры.
Также - важно время восстановления после отказа.
В рамках облачной инфраструктуры все компоненты рассматриваются как быстрозаменяемые. То есть архитектура должна это учитывать и вместо починки вышедшего из строя инстанса нужно стремиться просто поднимать новый.
Производительность и эффективность
При проектировани инфраструктуры важно стремиться к заданому уровню производительности при оптимальной цене.
Также следует закладывать возможность расширения ресурсов при возрастающей нагрузке.
Следует планировать распределение ресурсов с учетом особенностей досиупа к приложениям - например - с учетом географии пользователей.
Оптимизация расходов
Анализ структуры расходов на облачную инфраструктуру и автоматическая оптимизация потребления в зависимости от текущих условий.
Использование managed-решений.