*เก็บถาวร* = บริการโฮสติ้งคลาวด์ที่ดีที่สุด? = สวัสดีทุกคน ดังนั้นฉันต้องการปรับใช้ API แบ็คเอนด์ Django ของฉัน แต่ไม่ใช่เพื่อการผลิต เพื่อการพัฒนา บริการคลาวด์ที่คุณต้องการทำคืออะไร จนถึงตอนนี้ฉันพบบริการ Ngrok และ Amazon AWS และ Jenkins และ IâÃÂÃÂm ทำความเข้าใจแต่ละบริการอย่างละเอียดเพื่อทำการเปรียบเทียบ ฉันต้องการทราบจากประสบการณ์ของคุณ บริการที่คุณต้องการคืออะไร ป.ล.: เมื่อเร็ว ๆ นี้ฉันได้รับการตอบกลับที่ไม่เป็นมิตรอย่างมากสำหรับการขาดประสบการณ์และเพียงแค่พยายามช่วย - Ito เห็นว่าส่วนย่อยนี้กลายเป็นศัตรูและก้าวร้าวอย่างช้า ๆ เช่นเดียวกับเว็บไซต์อื่น ๆ (เห็นได้ชัดว่าเพียงแค่เอ่ยชื่อเว็บไซต์อื่น ๆ โพสต์ของคุณจะถูกลบ) ดังนั้นโปรดยกโทษให้กับการขาดประสบการณ์ที่คุณพบในโพสต์ของฉัน (หรือโพสต์/ความคิดเห็นในอนาคต) แก้ไข: ฉันไม่ได้คาดหวังการตอบกลับมากมายขนาดนี้ ขอบคุณทุกคนที่ตอบกลับ ฉันจะพยายามตอบกลับทุกคน หากมีการปรับใช้กับเซิร์ฟเวอร์ระยะไกล ก็ไม่สำคัญว่าจะใช้งานจริงหรือไม่ - ส่วนใหญ่จะเหมือนกัน สำหรับการปรับใช้ฟรีและค่อนข้างง่าย ลองใช้ Pythonanywhere หรือ Heroku หากคุณต้องการการควบคุมที่มากขึ้นลองใช้ Digital Ocean ฉันเขียนคำแนะนำ (ซึ่งฉันคิดว่าค่อนข้างครอบคลุม) สำหรับการปรับใช้ของคุณ *ครั้งแรก* แอป Django สู่ Digital Ocean ที่นี่ ใช่ มหาสมุทรดิจิตอลเป็นอัญมณีอย่างแน่นอนหากคุณต้องการการควบคุม แน่ใจว่าคุณจะไม่ปรับใช้ภายในครึ่งนาที แต่มันจะดีกว่าตัวเลือกอื่นๆ ส่วนใหญ่อย่างแน่นอน ถ้าคุณต้องการการควบคุมที่มากขึ้น Pythonanywhere ดูเหมือนว่าจะตรงกับความต้องการของฉัน 90% ของเวลา ไม่มีการควบคุมมากเกินไป ไม่มีระบบอัตโนมัติและการถือด้วยมือมากเกินไป ที่ไหนสักแห่งในระหว่างนั้น ฉันมีประสบการณ์มากมายกับทั้ง AWS Lambda และ Django ฉันไม่สามารถนึกถึงเหตุผลที่ดีสักข้อเดียวที่จะทำ Django บน AWS Lambda ชอบไม่ใช่เหตุผลเดียว ซับซ้อนมากเกินไปสำหรับผลตอบแทนเพียงเล็กน้อย โดยเฉพาะอย่างยิ่งเมื่อการพึ่งพาของคุณได้รับมากกว่าเรื่องเล็กน้อย คุณไม่ต้องการเล่นเกมเพิ่มประสิทธิภาพการพึ่งพาโดยจำกัดขนาดไฟล์ 250MB หากคุณมีปัญหาด้านความสามารถในการปรับขนาดสำหรับโปรเจ็กต์ django จริงๆ ฉันจะบอกว่าวิธีแก้ปัญหาน่าจะเป็นการผสมผสานระหว่าง ECS, ขึ้นฉ่าย และ cloudfront Heroku ใช้งานได้ง่ายมาก ฟรีจนกว่าคุณจะถึงขีดจำกัดหนึ่ง pythonananywhere ก็เหมือนกัน แต่ยากขึ้นเล็กน้อยเนื่องจากคุณต้องตั้งค่าบางอย่างด้วยมือซึ่งต้องมีความเข้าใจพื้นฐานเกี่ยวกับคำสั่ง Linux (ไม่มีอะไรขั้นสูง) ทั้งคู่มีตัวเลือกในการล็อคไซต์โดยใช้รหัสผ่านหากคุณไม่ต้องการให้ผู้คนเข้าชมหรือเชื่อมต่อกับไซต์เว้นแต่จะได้รับอนุญาต ฉันใช้ Heroku มาสองสามปีแล้ว My DB เป็น postgres ระดับฟรี มันใช้งานได้ดีและฉันจ่ายทั้งหมด $7 ต่อเดือน แจ้งให้เราทราบหากคุณมีคำถามที่เฉพาะเจาะจงเพิ่มเติม เอกสารของพวกเขาดีมากและฉันมีปัญหาเล็กน้อย ฉันมี URL ที่กำหนดเอง, https, ทั้งหมด ฉันปรับใช้โครงการ Django ทั้งหมดใน Google Cloud Run ผมรักมัน นี่คือวิธีที่ฉันทำงาน: ฉันเริ่มต้นด้วยการปรับใช้ฐานข้อมูล dev ใน Google Cloud SQL ฉันใช้อินสแตนซ์ cloud mySQL เดียวกันนี้สำหรับ dev ในเครื่องและการแสดงละครบนคลาวด์และการทดสอบ ** Local dev ฉันรัน 3 docker container พร้อม docker-compose: - แอพ Django ของฉัน คอนเทนเนอร์มี nginx รวมอยู่ด้วย DB ชี้ไปที่คอนเทนเนอร์พร็อกซี SQL - รูปภาพพร็อกซี Google SQL มาตรฐาน ต้องมีบัญชีบริการของ Google json - คอนเทนเนอร์ phpmyadmin มาตรฐาน แก้ปัญหา mySQL เป็นหลัก ** การปรับใช้คลาวด์ การจัดเตรียมและผลิตภัณฑ์ - ฉันมีไฟล์ cloudbuild.yaml สำหรับแอป Django ของฉัน ซึ่งอธิบายวิธีสร้างและทำให้แอป Django ใช้งานได้กับ Google Cloud Run - ใน Google Cloud Run ฉันได้ตั้งค่าทริกเกอร์ให้สร้าง/ปรับใช้แอปของฉันตามคอมไพล์คอมไพล์ในแอปของฉัน ซึ่งจะอ่าน cloudbuild.yaml และทำให้การปรับใช้การเปลี่ยนแปลงของฉันในระบบคลาวด์เป็นแบบอัตโนมัติ - ฉันตั้งค่าตัวแปร ENV ทั้งหมดในทริกเกอร์ให้ส่งผ่านไปยัง cloudbuild.yaml และสุดท้ายไปยังอินสแตนซ์ Cloud Run แน่นอนว่าต่างกันที่ระยะและผลิตภัณฑ์ **ทำไมถึงชอบ** - การตั้งค่าเริ่มต้นไม่ตรงไปตรงมา แต่ระบบอัตโนมัติที่ให้ฉันนั้นยอดเยี่ยมมาก - ค่าใช้จ่ายสำหรับอินสแตนซ์ dev นั้นต่ำมาก Google Cloud Run จะเรียกเก็บเงินตามวินาทีที่ใช้เท่านั้น ดังนั้นไม่กี่ $ ต่อเดือน ตอนนี้อินสแตนซ์ Cloud SQL คือจุดที่มีค่าใช้จ่าย เนื่องจากจะทำให้ VM ที่ทำงานอยู่ตลอดเวลาทำงาน CPU ต่ำจะลดลงต่ำกว่า 10 $ / เดือน - สำหรับอินสแตนซ์ผลิตภัณฑ์ของคุณ คุณจะได้รับประสิทธิภาพทั้งหมดของ Google Cloud Platform การปรับขนาดแนวนอนไม่สิ้นสุด (ตราบใดที่เว็บแอปของคุณไม่มีสถานะ) Cloud Run จะปรับขนาดโดยอัตโนมัติ คุณยังปรับขนาด Cloud SQL ขึ้นและ/หรือแนวนอนได้อีกด้วย - Google Cloud Run มาพร้อมกับ http/https endpoints ที่คุณสามารถจับคู่กับโดเมนของคุณได้ ไม่ยุ่งยากกับการกำหนดค่าใบรับรอง SSL ฉันรักสิ่งนี้ แจ้งให้เราทราบหากคุณสนใจ ฉันสามารถให้รายละเอียดเพิ่มเติมได้ ตอนนี้ฉันคิดว่าฉันควรเขียนบทความโดยละเอียดเกี่ยวกับวิธีการทำเช่นนี้ และนี่คือเว็บแอป Django ล่าสุดของฉัน ซึ่งใช้งานใน Google Cloud Run หากคุณกำลังทำการวิจัยเกี่ยวกับบริการโฮสติ้งบนคลาวด์ต่างๆ อยู่แล้ว อาจเป็นความคิดที่ดีเช่นกันที่จะลองใช้ Engine Yard ฉันใช้ลานเครื่องยนต์สำหรับการปรับใช้แอปต่างๆ บนคลาวด์ และฉันจะบอกว่ามันเป็นแพลตฟอร์มที่มีไดนามิกและใช้งานง่ายสำหรับ ปรับใช้แอพของคุณบนคลาวด์ Engine Yard Cloud (EYC) เป็น Platform as a Service (PaaS) ที่ได้รับความนิยมอย่างกว้างขวางสำหรับการโฮสต์แอปพลิเคชัน Ruby, Node และ PHP มีโครงสร้างพื้นฐานที่แข็งแกร่งและมีการจัดการเต็มรูปแบบพร้อมกับการสนับสนุนระดับโลก มีโครงสร้างพื้นฐานที่ค่อนข้างปลอดภัย และแพตช์จะได้รับการอัปเดตอยู่เสมอเพื่อความสะดวกของคุณ คุณไม่มีค่าใช้จ่ายในการจัดการสแต็กทั้งหมด รวมถึงฐานข้อมูลและโหลดบาลานซ์ ทั้งหมดนี้ได้รับการดูแล การสำรองข้อมูลจะเกิดขึ้นโดยอัตโนมัติ อย่างที่ฉันเห็น ลานเครื่องยนต์เป็นแพลตฟอร์มที่ช่วยประหยัดเวลาและต้นทุน คุณยังสามารถสำรวจ Engine Yard Kontainers (EYK) มันเป็นแพลตฟอร์มยุคหน้า ฉันลองใช้และพบว่าเป็นการโยกย้ายที่คุ้มค่า รองรับหลายกอง การปรับขนาดอัตโนมัติตามเวลาจริง และคุณสมบัติอื่นๆ อีกมากมาย คุณสามารถค้นหาได้ทั้ง Engine Yard Cloud และ Engine Yard Kontainers ฉันแนะนำให้ใช้ App Platform บน Digital Ocean มันคล้ายกับ Heroku แต่ให้พลังงานมากกว่าในราคาเพียงเล็กน้อยของ Heroku มันไม่ได้มีคุณสมบัติทั้งหมดที่ Heroku มี แต่อย่างน้อยสำหรับฉัน มันก็เพียงพอที่จะทำงานด้วย ฉันไม่ใช่ DevOps ดังนั้นฉันจึงไม่รู้วิธีกำหนดค่า Droplet ปกติด้วยวิธีที่ปลอดภัย นี่คือเหตุผลที่ App Platform ทำงานได้ดีขึ้นมาก - ฉันไม่ต้องคิดถึงมาตรการความปลอดภัยที่หายไปนอกเหนือจากในแอปของฉัน โครงการส่วนบุคคลทั้งหมดของฉันรวมอยู่ในคอนเทนเนอร์นักเทียบท่าและปรับใช้ในคลัสเตอร์ kubernetes โหนดเดียวบน Scaleway.com มันค่อนข้างเจ๋งและไม่ต้องบำรุงรักษา และถ้าถึงจุดที่กำหนด ฉันก็สามารถย้ายไปยังคลัสเตอร์ที่ใหญ่กว่าหรือบริการปรับใช้คอนเทนเนอร์อื่นได้อย่างง่ายดาย (เช่น ECS หรือแม้กระทั่งปรับใช้ด้วยตนเองในอินสแตนซ์ที่ติดตั้งรันไทม์คอนเทนเนอร์เท่านั้น ) ในอดีต ฉันปรับใช้บริการ django บน AWS Lambda ด้วย Zappa แต่คุณสูญเสียการควบคุมไปมาก และมีบางสิ่งเล็กน้อยที่คุณต้องเรียนรู้และนำไปใช้ (เช่น การใช้เฟรมเวิร์กแบบไร้เซิร์ฟเวอร์ การจัดการเวอร์ชัน การเก็บรักษาของคุณ ลูกแกะ "อุ่น"ฯลฯ )