Cloudflare ประกาศรองรับภาษา Python ในบริการ Cloudflare Workers ที่เป็น serverless ของตัวเอง จากเดิมที่รองรับเฉพาะภาษา JavaScript และ TypeScript เท่านั้น
ที่จริงแล้ว Workers นั้นรองรับ WebAssembly อยู่แล้ว ดังนั้นภาษาใดๆ ที่คอมไพล์เป็น WebAssembly ได้ก็จะใช้งานได้ รวมถึง Python เอง แต่ในความเป็นจริงหากใช้งานแบบที่แพลตฟอร์มไม่ได้ซัพพอร์ตก็จะลำบากมาก การคอนฟิกไม่ตรงไปตรงมา
ทาง Cloudflare อาศัยโครงการ Pyodide คอมไพล์เข้าไปใน workerd โดยตรง ขณะที่ไลบรารีต่างๆ นั้นตัวโครงการสามารถเขียนไฟล์ requirements.txt เองได้ แต่จะใช้งานได้เฉพาะไลบรารีที่ Cloudflare รองรับเท่านั้น แม้แต่ตัวเวอร์ชั่นก็จะอาศัยระบบเวอร์ชั่นตามวันที่แบบเดียวกับส่วนอื่นๆ ของ Workers แม้ไลบรารีจะจำกัดแต่ก็มีไลบรารีหลักๆ จำนวนมาก ทั้ง FastAPI, LangChain, NumPY, sqlite สำหรับการเชื่อมต่อกับ API ของ Workers นั้นสามารถเรียกผ่านโมดูล js ได้
ปัญหาอย่างหนึ่งของ Python คือการสตาร์ตนั้นช้ากว่า JavaScript มาก โดยเฉพาะการโหลดโมดูลขนาดใหญ่ ช่วงเวลาเริ่มต้นรันอาจจะกินเวลานานกว่า 2 วินาที ทาง Cloudflare แก้ปัญหาด้วยการสร้างอิมเมจที่โหลดโมดูลไว้ทั้งหมดแล้ว ค่อยกระจายไปยังเซิร์ฟเวอร์จริงเพื่อรับโหลด ทำให้ระยะเวลาเริ่มแบบ cold start สั้นกว่า 1 วินาที และคาดว่าจะลดลงได้อีกในอนาคต
ที่มา - Cloudflare