# Проектируйте ПО для cloud native среды

Taiga Learning · Рабочий лист
https://taiga.training/ru/lessons/cloud-native/

Используйте вымышленную или разрешённую информацию. Не записывайте секреты в этот рабочий лист.

## Цели обучения
- Отличить упаковку в контейнер от поведения cloud native системы.
- Определить риски хранения состояния, повторных попыток и замены процессов в сгенерированном сервисе.
- Определить контракт платформы, который могут проверить люди и агенты.

## Упражнение
Вымышленный сервис отчётов хранит задания и готовые файлы на диске контейнера. Нарисуйте путь от запроса через задание и файл до скачивания. Отметьте состояние, которое должно сохраняться. Определите, что произойдёт, если worker остановится после записи файла, но до подтверждения задания.

## Ваш ответ
- Сценарий и объём:
- Предположения и открытые вопросы:
- Предлагаемый ответ или решение с обоснованием:

## Проверьте свой ответ
| Утверждение или критерий | Подтверждение или тест | Результат или пробел | Ответственный |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## Следующее действие
- Действие, ответственный и дата:
- Когда вы пересмотрите этот ответ?

## Принцип, который нужно сохранить
Cloud native подход делает изменение и эксплуатацию воспроизводимыми. Сам образ контейнера не обеспечивает такое поведение.

## Источники
- [CNCF: Cloud Native Definition v1.1](https://github.com/cncf/toc/blob/main/DEFINITION.md)
- [Kubernetes: Deployments](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/)
- [AWS Builders’ Library: Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/)

Этот рабочий лист помогает обучению. Его заполнение само по себе не разрешает изменение production.
