# ออกแบบซอฟต์แวร์สำหรับสภาพแวดล้อม cloud native

Taiga Learning · ใบงาน
https://taiga.training/th/lessons/cloud-native/

ใช้ข้อมูลสมมติหรือข้อมูลที่อนุมัติแล้ว อย่าใส่ secret ในใบงานนี้

## วัตถุประสงค์การเรียนรู้
- แยกความแตกต่างระหว่างการบรรจุใน container กับพฤติกรรมแบบ cloud native
- ระบุความเสี่ยงด้านสถานะ การลองใหม่ และการแทนที่ในบริการที่สร้างด้วย AI
- กำหนดข้อกำหนดของแพลตฟอร์มที่ agent และคนสามารถตรวจสอบได้

## แบบฝึกหัด
บริการรายงานในสถานการณ์สมมติเก็บงานและไฟล์ที่สร้างเสร็จไว้บนดิสก์ของ container วาดลำดับตั้งแต่คำขอ งาน ไฟล์ ไปจนถึงการดาวน์โหลด ทำเครื่องหมายสถานะที่ต้องคงอยู่ กำหนดสิ่งที่จะเกิดขึ้นหาก worker หยุดหลังจากเขียนไฟล์ แต่ก่อนยืนยันงาน

## คำตอบของคุณ
- สถานการณ์และขอบเขต:
- สมมติฐานและคำถามที่ยังไม่ได้ข้อยุติ:
- คำตอบหรือการตัดสินใจที่เสนอ พร้อมเหตุผล:

## ตรวจสอบคำตอบของคุณ
| ข้ออ้างหรือเกณฑ์ | หลักฐานหรือ test | ผลหรือสิ่งที่ยังขาด | ผู้รับผิดชอบ |
| --- | --- | --- | --- |
| | | | |
| | | | |
| | | | |

## งานถัดไป
- งาน ผู้รับผิดชอบ และวันที่:
- คุณจะตรวจทานคำตอบนี้เมื่อใด

## หลักการที่ควรจำ
การออกแบบ cloud native ทำให้การเปลี่ยนแปลงและการดำเนินงานทำซ้ำได้ Container image เพียงอย่างเดียวไม่ได้ทำให้เกิดพฤติกรรมนั้น

## แหล่งข้อมูล
- [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 โดยตัวมันเอง
