ทำไมเราจึงสร้างบน Cloudflare
โดยสังเขป
หัวข้อที่มีชื่อว่า “โดยสังเขป”แพ็กเกจ nextpdf/cloudflare ช่วยให้ NextPDF
เรนเดอร์ PDF ได้ที่ edge เก็บถาวรไฟล์ที่สร้างขึ้นไว้บน R2 และกรองคำขอ API
ก่อนที่มันจะไปถึง worker หน้าอื่น ๆ ในส่วนนี้อธิบายวิธีการไว้อย่างละเอียดแล้ว
แต่หน้านี้ต่างออกไป มันคือเหตุผลสั้น ๆ ตรงไปตรงมาว่าทำไมเราจึงตื่นเต้นที่จะได้
สร้างมันขึ้นมาตั้งแต่ต้น และเป็นคำขอบคุณ
ทำไมจึงเป็น Cloudflare
หัวข้อที่มีชื่อว่า “ทำไมจึงเป็น Cloudflare”เราขอพูดออกมาตรง ๆ เลยว่า ทีม NextPDF รักการสร้างงานบน Cloudflare มันเป็น แพลตฟอร์มที่เราเลือกหยิบมาใช้ด้วยความยินดี และ free tier ที่ใจกว้างอย่างแท้จริงก็เป็น เหตุผลใหญ่ข้อหนึ่ง ความใจกว้างนั้นไม่ใช่เรื่องเล็กสำหรับเรา เพราะมันคือสิ่งที่ช่วยให้ ทีมเล็ก ๆ อย่างเราคืนสิ่งดี ๆ กลับสู่ชุมชนโอเพนซอร์สได้มากกว่าที่เคยทำได้ นั่นคือ เปิดเผยตัวเอนจินไว้มากขึ้น ทุ่มเวลาให้กับส่วนที่ทุกคนได้ประโยชน์มากขึ้น และปล่อยให้ ต้นทุนของโครงสร้างพื้นฐานมาชี้นำการตัดสินใจแทนสิ่งที่ดีต่อโครงการน้อยลง เมื่อแพลตฟอร์ม ช่วยลดภาระพื้นฐานลงเช่นนั้น งานที่ต่อยอดขึ้นไปก็ยิ่งกล้าทะเยอทะยานได้มากขึ้น
อะไรที่เป็นไปได้
หัวข้อที่มีชื่อว่า “อะไรที่เป็นไปได้”นี่คือส่วนที่เราตื่นเต้นอย่างแท้จริงที่จะได้แบ่งปัน เพราะเราเชื่อว่ามันเปิดประตูอีกหลาย บาน เมื่อมี NextPDF อยู่บน Cloudflare แอปพลิเคชัน PHP ของคุณจะถือ HTML เอาไว้ ส่วน Cloudflare Worker จะถือ headless browser เอาไว้ โดย bridge ทำหน้าที่ส่ง markup ออกไป แล้วรับ bytes ของ PDF ที่เรนเดอร์เสร็จแล้วกลับมา จึงไม่ต้องมี headless Chromium ทำงานอยู่ภายในกระบวนการ PHP ของคุณเลย จากจุดนั้นคุณสามารถเก็บถาวรไฟล์ที่สร้างขึ้นไว้บน R2 แล้วส่ง URL ที่ลงนามแล้วกลับไป อีกทั้งยัง กรองคำขอ API ที่เข้ามาได้ตั้งแต่ระดับแพ็กเกจ ก่อนที่มันจะไปถึง worker ของคุณเสียด้วยซ้ำ
มันเป็นแพ็กเกจเล็ก ๆ ที่ทำงานเจาะจงเพียงอย่างเดียวได้อย่างดี และเราก็สร้างมันขึ้นมา อย่างพิถีพิถัน แต่เหตุผลที่เรารอแทบไม่ไหวที่จะส่งมันถึงมือคุณไม่ใช่ตัวโค้ด หากเป็นคำถาม ที่อยู่เบื้องหลังต่างหาก นั่นคือเมื่อเอนจิน PDF ที่มีความสามารถขนาดนี้มาพบกับแพลตฟอร์ม ที่มีความสามารถขนาดนี้ ผู้คนจะสร้างสิ่งที่ลึกกว่า กว้างกว่า และน่าสนใจกว่าอะไรขึ้นมาบ้าง เราไม่คิดว่าตัวเองจินตนาการถึงมันได้ครบทุกอย่างแล้ว และนั่นแหละคือประเด็นสำคัญ เริ่มต้นที่ ภาพรวม หรือ เริ่มต้นใช้งานอย่างรวดเร็ว แล้วดูว่ามันจะพาคุณไปที่ไหน
สร้างขึ้นด้วยความใส่ใจ
หัวข้อที่มีชื่อว่า “สร้างขึ้นด้วยความใส่ใจ”การส่ง HTML ออกจากกระบวนการของคุณไปเรนเดอร์ที่อื่นถือเป็นขอบเขตความเชื่อถือ (trust boundary) และเราก็ปฏิบัติกับมันเช่นนั้นจริง ๆ bridge จะตรวจสอบเสียก่อนว่าคำขอได้รับ อนุญาตให้ไปที่ใดได้บ้าง ก่อนจะส่งอะไรออกไป ตามแนวทางของ OWASP ว่าด้วยการปลอมแปลง คำขอฝั่งเซิร์ฟเวอร์ (server-side request forgery) และชั้นการขนส่งของมันยังสามารถ pin กุญแจสาธารณะที่คาดว่าจะพบได้อย่างเจาะจง (RFC 7469) รายละเอียดทั้งหมด ทั้งการตรวจสอบ URL ข้อจำกัดขนาด การ pin และการควบคุม R2 อยู่ใน ความปลอดภัยและการดำเนินงานของ Cloudflare
ขอบคุณ Cloudflare
หัวข้อที่มีชื่อว่า “ขอบคุณ Cloudflare”พูดอย่างเรียบง่ายก็คือ ขอบคุณ free tier ที่ใจกว้างและแพลตฟอร์มที่พึ่งพาได้ช่วยให้ เรารักษา NextPDF ให้เปิดต่อไปได้ง่ายขึ้น และช่วยให้นักพัฒนาที่กำลังอ่านอยู่นี้ได้ลอง ทำสิ่งที่ทะเยอทะยานได้ง่ายขึ้น โดยไม่ต้องให้ใบเรียกเก็บเงินมาเป็นตัวตัดสินก่อน
เว็บไซต์เอกสารนี้เองก็ให้บริการอยู่บน Cloudflare ดังนั้นหากคุณกำลังอ่านมันอยู่ในตอนนี้ คุณก็ได้เห็นสิ่งนั้นเกิดขึ้นจริงแล้ว
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- การผสานรวม Cloudflare — ส่วนฉบับเต็ม
- ภาพรวม — bridge ทำอะไรและมีขอบเขตแค่ไหน
- เริ่มต้นใช้งานอย่างรวดเร็ว — PDF ที่เรนเดอร์ที่ edge ชิ้นแรกของคุณ
- ความปลอดภัยและการดำเนินงานของ Cloudflare — ขอบเขตความเชื่อถือโดยละเอียด
Cloudflare รวมถึงชื่อผลิตภัณฑ์ที่เกี่ยวข้องอย่าง Cloudflare Workers และ R2 เป็น เครื่องหมายการค้าของ Cloudflare, Inc. ที่ใช้ในที่นี้เพียงเพื่ออธิบายว่า NextPDF ทำงาน ร่วมกับแพลตฟอร์มนี้อย่างไรเท่านั้น NextPDF เป็นโครงการอิสระที่ไม่มีความเกี่ยวข้องทางองค์กร กับ Cloudflare, Inc. และไม่ได้รับการรับรองหรือการสนับสนุนจาก Cloudflare