𝗖𝗹𝗼𝘂𝗱 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲 𝗮𝗻𝗱 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆: 𝗧𝗵𝗲 𝗡𝗲𝘅𝘁 𝗟𝗲𝘃𝗲𝗹 𝗳𝗼𝗿 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀
เว็บแอปพลิเคชันของคุณทำงานได้บนเครื่องส่วนตัวของคุณ คุณอาจคิดว่างานเสร็จสิ้นแล้ว แต่มันยังไม่จบเพียงเท่านี้
คุณต้องตัดสินใจว่าแอปของคุณจะไปรันอยู่ที่ไหน คุณต้องตัดสินใจว่าจะปกป้องมันอย่างไร และคุณต้องตัดสินใจว่าอะไรจะเกิดขึ้นเมื่อมีผู้คนนับพันเข้ามาใช้งานพร้อมกัน
การย้ายไปสู่ระบบคลาวด์ต้องทำมากกว่าแค่การอัปโหลดโค้ด คุณจำเป็นต้องเข้าใจเรื่องสถาปัตยกรรมและความปลอดภัย
PaaS (Platform as a Service) เป็นจุดเริ่มต้นที่ดีสำหรับนักพัฒนา ด้วย PaaS ผู้ให้บริการคลาวด์จะเป็นผู้จัดการเรื่องเซิร์ฟเวอร์ ระบบปฏิบัติการ และระบบเครือข่ายให้ คุณเพียงแค่โฟกัสที่โค้ดและประสบการณ์ของผู้ใช้งาน
ตัวเลือก PaaS ชั้นนำ ได้แก่:
• AWS App Runner: เหมาะมากสำหรับเว็บแอปแบบ containerized โดยจะจัดการเรื่องการ deployment และการ scaling ให้ • Azure App Service: สมบูรณ์แบบหากคุณใช้เครื่องมือของ Microsoft เช่น GitHub Actions หรือ Azure DevOps • Google Cloud Run: ยอดเยี่ยมสำหรับ serverless containers สามารถ scale ลงจนถึงศูนย์ (scale to zero) เพื่อประหยัดค่าใช้จ่ายเมื่อไม่มีผู้ใช้งาน
ความปลอดภัยบนคลาวด์เป็นความรับผิดชอบของคุณ ผู้ให้บริการจะมอบเครื่องมือให้ แต่คุณต้องใช้งานมันอย่างถูกต้อง
ปฏิบัติตามกฎความปลอดภัยเหล่านี้:
- ใช้หลักการสิทธิ์ขั้นต่ำ (principle of least privilege) ให้สิทธิ์แก่ผู้ใช้และบริการเฉพาะเท่าที่จำเป็นเท่านั้น โดยใช้ IAM ใน AWS, Microsoft Entra ID ใน Azure หรือ Cloud IAM ใน Google Cloud
- อย่าเขียนรหัสผ่านลงในโค้ดโดยตรง (hardcode) การใช้
const password = "123"ในโค้ดของคุณนั้นอันตรายมาก - ให้ใช้ environment variables แทน โดยใช้
process.env.DB_PASSWORDในโค้ดของคุณ - เพิ่มไฟล์
.envลงใน.gitignoreเสมอ - ตั้งค่าความลับ (secrets) จริงๆ ในแดชบอร์ดของผู้ให้บริการคลาวด์ ไม่ใช่ใน repository ของคุณ
คำนึงถึงเรื่องอธิปไตยของข้อมูล (data sovereignty) ด้วย คุณต้องรู้ว่าข้อมูลของคุณจัดเก็บอยู่ที่ไหนและกฎหมายใดที่มีผลบังคับใช้ หากคุณมีผู้ใช้งานในยุโรป คุณต้องปฏิบัติตามกฎ GDPR
เตรียมพร้อมสำหรับช่วงที่มีทราฟฟิกพุ่งสูง (traffic spikes) หากอินฟลูเอนเซอร์แชร์ลิงก์ของคุณ เซิร์ฟเวอร์ของคุณอาจล่มได้ คุณสามารถป้องกันสิ่งนี้ได้ด้วยการทำ scaling:
• Vertical Scaling: เพิ่มประสิทธิภาพเครื่องของคุณด้วยการเพิ่ม CPU หรือ RAM • Horizontal Scaling: สร้าง instance ของแอปเพิ่มขึ้น และใช้ load balancer เพื่อกระจายทราฟฟิก
ตรวจสอบให้แน่ใจเสมอว่าเว็บไซต์ของคุณใช้ HTTPS เพื่อให้การสื่อสารมีการเข้ารหัสและปลอดภัย
วิธีฝึกฝน:
- สร้าง repository สำหรับเว็บแอปง่ายๆ หนึ่งตัว
- ตรวจสอบให้แน่ใจว่าไม่มีข้อมูลที่ละเอียดอ่อนอยู่ในโค้ดของคุณ
- ใช้ Vercel หรือ Netlify ในการ deploy
- ตรวจสอบว่าเว็บไซต์ของคุณใช้ HTTPS
Source: https://dev.to/xinlin25/arquitectura-y-seguridad-en-la-nube-el-proximo-nivel-del-desarrollador-1bnd