ฉันสงสัยว่า App Engine & Compute Engine แตกต่างกันอย่างไร มีใครอธิบายความแตกต่างให้ฉันได้บ้าง
ฉันสงสัยว่า App Engine & Compute Engine แตกต่างกันอย่างไร มีใครอธิบายความแตกต่างให้ฉันได้บ้าง
คำตอบ:
App Engineเป็น Platform-as-a-Service หมายความว่าคุณเพียงแค่ปรับใช้โค้ดของคุณและแพลตฟอร์มก็ทำทุกอย่างให้คุณ ตัวอย่างเช่นหากแอปของคุณประสบความสำเร็จมาก App Engine จะสร้างอินสแตนซ์เพิ่มเติมโดยอัตโนมัติเพื่อรองรับปริมาณที่เพิ่มขึ้น
อ่านเพิ่มเติมเกี่ยวกับ App Engine
Compute Engineเป็นโครงสร้างพื้นฐาน -as-a-Service คุณต้องสร้างและกำหนดค่าอินสแตนซ์ของเครื่องเสมือนของคุณเอง มันให้ความยืดหยุ่นมากขึ้นและโดยทั่วไปจะมีค่าใช้จ่ายน้อยกว่า App Engine ข้อเสียคือคุณต้องจัดการแอพและเครื่องเสมือนของคุณเอง
อ่านเพิ่มเติมเกี่ยวกับ Compute Engine
คุณสามารถผสมทั้ง App Engine และ Compute Engine ได้หากจำเป็น พวกเขาทั้งสองทำงานได้ดีกับส่วนอื่น ๆ ของแพลตฟอร์ม Google Cloud
แก้ไข (พฤษภาคม 2559):
ความแตกต่างที่สำคัญอีกประการหนึ่ง: โครงการที่ทำงานบน App Engine สามารถลดขนาดลงเป็นศูนย์ได้หากไม่มีการร้องขอใด ๆ สิ่งนี้มีประโยชน์อย่างมากในขั้นตอนการพัฒนาที่คุณสามารถไปได้เป็นเวลาหลายสัปดาห์โดยไม่ต้องผ่านโควต้าอิสระ รันไทม์ที่ยืดหยุ่น (นั่นคือ "VM ที่จัดการ") ต้องการอย่างน้อยหนึ่งอินสแตนซ์เพื่อให้ทำงานได้อย่างต่อเนื่อง
แก้ไข (เมษายน 2017):
ฟังก์ชั่นคลาวด์ (ขณะนี้อยู่ในรุ่นเบต้า) เป็นระดับต่อไปจาก App Engine ในแง่ของความเป็นนามธรรม - ไม่มีกรณี! อนุญาตให้นักพัฒนาปรับใช้ชิ้นส่วนขนาดคำสั่งกัดที่ดำเนินการเพื่อตอบสนองต่อเหตุการณ์ต่าง ๆ ซึ่งอาจรวมถึงคำขอ HTTP การเปลี่ยนแปลงใน Cloud Storage ฯลฯ
ความแตกต่างที่ใหญ่ที่สุดกับ App Engine คือฟังก์ชั่นมีราคาต่อ 100 มิลลิวินาทีในขณะที่อินสแตนซ์ของ App Engine ปิดตัวลงหลังจากไม่มีการใช้งาน 15 นาที ข้อดีอีกประการคือฟังก์ชั่นคลาวด์จะดำเนินการทันทีในขณะที่การเรียกใช้ App Engine อาจต้องการอินสแตนซ์ใหม่และการเริ่มต้นอินสแตนซ์ใหม่อาจใช้เวลาไม่กี่วินาทีหรือนานกว่านั้น (ขึ้นอยู่กับรันไทม์และรหัสของคุณ)
สิ่งนี้ทำให้ฟังก์ชั่นคลาวด์เหมาะสำหรับ (ก) การโทรหายาก - ไม่จำเป็นต้องเก็บอินสแตนซ์ในกรณีที่มีบางสิ่งเกิดขึ้น (b) โหลดที่เปลี่ยนแปลงอย่างรวดเร็วโดยที่อินสแตนซ์หมุนและปิดบ่อยครั้ง
แตกต่างขั้นพื้นฐานคือการที่Google App Engine ( GAE )เป็นแพลตฟอร์มเป็น Service ( PaaS )ในขณะที่Google Compute Engine ( GCE )เป็นโครงสร้างพื้นฐานเป็น Service ( IaaS )
ในการใช้งานแอปพลิเคชันของคุณใน GAE คุณเพียงแค่ต้องเขียนรหัสและนำไปใช้กับ GAE โดยไม่ต้องปวดหัว เนื่องจาก GAE สามารถปรับขนาดได้อย่างสมบูรณ์มันจะรับอินสแตนซ์เพิ่มเติมโดยอัตโนมัติในกรณีที่ปริมาณการใช้งานสูงขึ้นและลดอินสแตนซ์เมื่อปริมาณการใช้ลดลง คุณจะได้รับค่าใช้จ่ายสำหรับทรัพยากรที่คุณใช้จริงๆผมหมายถึงคุณจะถูกเรียกเก็บเงินสำหรับอินสแตนซ์ชั่วโมง , โอนข้อมูล , การเก็บรักษาฯลฯ แอปของคุณใช้จริงๆ แต่ข้อ จำกัด คือคุณสามารถสร้างแอปพลิเคชันของคุณในPython, PHP, Java, NodeJS, .NET, Ruby และ ** Goเท่านั้น
บนมืออื่น ๆ , GCE ให้คุณเต็มโครงสร้างพื้นฐานในรูปแบบของเครื่องเสมือน คุณสามารถควบคุมสภาพแวดล้อมและรันไทม์ของ VM เหล่านั้นได้อย่างสมบูรณ์เนื่องจากคุณสามารถเขียนหรือติดตั้งโปรแกรมใด ๆ จริงๆแล้ว GCE เป็นวิธีการใช้งาน Google Data Centers อย่างแท้จริง ใน GCE คุณมีการกำหนดค่าโครงสร้างพื้นฐานการจัดการด้วยตนเองความยืดหยุ่นโดยใช้Balancer การโหลด
ทั้งสอง GAE และ GCE เป็นส่วนหนึ่งของแพลตฟอร์ม Google Cloud
ปรับปรุง:ในเดือนมีนาคม 2014 Google ประกาศบริการใหม่ภายใต้ชื่อ App Engine ที่มีการจัดการเครื่องเสมือน Managed VMs ให้แอพพลิเคชั่นเอ็นจิ้นแอปมีความยืดหยุ่นมากกว่าแพลตฟอร์มแอพตัวเลือกซีพียูและหน่วยความจำ เช่นเดียวกับ GCE คุณสามารถสร้างสภาพแวดล้อมรันไทม์แบบกำหนดเองใน VM เหล่านี้สำหรับแอปพลิเคชันแอปพลิเคชันเครื่องยนต์ VM ที่จัดการจริงของ App Engine ทำให้ขอบเขตระหว่าง IAAS และ PAAS พร่ามัวไปบ้าง
เพื่อให้เข้าใจง่าย: โปรแกรมคำนวณช่วยให้คุณมีเซิร์ฟเวอร์ที่คุณมีการควบคุม / ความรับผิดชอบเต็ม คุณสามารถเข้าถึงระบบปฏิบัติการโดยตรงและติดตั้งซอฟต์แวร์ทั้งหมดที่คุณต้องการซึ่งโดยปกติจะเป็นเว็บเซิร์ฟเวอร์ฐานข้อมูล ฯลฯ
ในเอ็นจิ้นแอพคุณไม่ได้จัดการระบบปฏิบัติการของซอฟต์แวร์พื้นฐานใด ๆ คุณอัปโหลดรหัส (Java, PHP, Python หรือ Go) และ voila - มันทำงาน ...
เครื่องมือของแอพช่วยลดอาการปวดหัวโดยเฉพาะอย่างยิ่งสำหรับผู้ที่ไม่มีประสบการณ์ แต่มีข้อเสียที่สำคัญ 2 ประการ: 1. ราคาแพงกว่า (แต่มีโควต้าฟรีที่เอ็นจิ้นคำนวณไม่ได้) 2. คุณมีการควบคุมน้อยกว่า เป็นไปได้หรือทำได้เพียงวิธีเดียว (เช่นการบันทึกและการเขียนไฟล์)
หรือเพื่อให้ง่ายขึ้น (ตั้งแต่บางครั้งเราไม่สามารถแยกความแตกต่างระหว่าง GAE Standard และ GAE Flex):
Compute Engineนั้นคล้ายคลึงกับพีซีเสมือนที่คุณต้องการปรับใช้เว็บไซต์ + ฐานข้อมูลขนาดเล็กเป็นต้น คุณจัดการทุกอย่างรวมถึงการควบคุมดิสก์ไดรฟ์ที่ติดตั้ง หากคุณปรับใช้เว็บไซต์คุณจะต้องรับผิดชอบค่าติดตั้ง DNS และอื่น ๆ
Google App Engine (มาตรฐาน)เปรียบเสมือนโฟลเดอร์แซนด์บ็อกซ์แบบอ่านอย่างเดียวซึ่งคุณอัปโหลดรหัสเพื่อเรียกใช้งานและไม่ต้องกังวลเกี่ยวกับส่วนที่เหลือ (ใช่: อ่านอย่างเดียว) มีการติดตั้งไลบรารีคงที่สำหรับคุณ ห้องสมุดบุคคลที่สามที่จะ) DNS / Sub-domains ฯลฯ ง่ายกว่าในการแม็พ
Google App Engine (ยืดหยุ่น) ที่จริงแล้วเป็นเหมือนระบบไฟล์ทั้งหมด (ไม่ใช่แค่โฟลเดอร์ที่ถูกล็อค) ซึ่งคุณมีพลังมากกว่าเอ็นจิ้นมาตรฐานเช่นคุณมีสิทธิ์ในการอ่าน / เขียน (แต่น้อยกว่าเมื่อเทียบกับ Compute Engine ) ในมาตรฐาน GAE คุณจะต้องติดตั้งไลบรารีคงที่ไว้สำหรับคุณและคุณไม่สามารถปรับใช้ไลบรารีบุคคลที่สามได้ตามต้องการ ในสภาพแวดล้อมที่ยืดหยุ่นคุณสามารถติดตั้งไลบรารีใดก็ได้ที่แอพของคุณขึ้นอยู่กับรวมถึงสภาพแวดล้อมการสร้างแบบกำหนดเอง (เช่น Python 3)
แม้ว่ามาตรฐาน GAE นั้นค่อนข้างยุ่งยากในการจัดการ (แม้ว่า Google จะทำให้ฟังดูง่าย) แต่ก็สามารถปรับขนาดได้ดีเมื่อถูกกดดัน มันเป็นเรื่องยุ่งยากเพราะคุณต้องทดสอบและรับรองความเข้ากันได้กับสภาพแวดล้อมที่ถูกล็อคและทำให้แน่ใจว่าห้องสมุดของบุคคลที่สามที่คุณใช้ไม่ได้ใช้ห้องสมุดบุคคลที่สามที่คุณไม่รู้จักซึ่งอาจไม่ทำงานบนมาตรฐาน GAE ใช้เวลานานกว่าในการตั้งค่าในทางปฏิบัติ แต่สามารถให้ผลตอบแทนมากขึ้นในระยะยาวสำหรับการปรับใช้ที่เรียบง่าย
นอกเหนือจากบันทึกย่อของ App Engine vs Compute Engine ด้านบนรายการที่นี่ยังมีการเปรียบเทียบกับ Google Kubernete Engine และบันทึกย่อบางรายการตามประสบการณ์กับแอพที่หลากหลายตั้งแต่ขนาดเล็กไปจนถึงขนาดใหญ่มาก สำหรับจุดมากขึ้นดูเอกสารประกอบคำอธิบายระดับสูงของ Google Cloud Platform ของคุณสมบัติใน App Engine มาตรฐานและ Flex บนหน้าเลือกสิ่งแวดล้อม App Engine สำหรับการเปรียบเทียบการใช้งานของ App Engine และ Kubernetes อื่นเห็นโพสต์โดย Daz Wilkin App Engine Flex หรือ Kubernetes เครื่องยนต์
App Engine Standard
ข้อดี
จุดด้อย
แอพ Engine Flex
ข้อดี
จุดด้อย
Google Kubernetes Engine
ข้อดี
จุดด้อย
คำนวณเครื่องยนต์
ข้อดี
จุดด้อย
ตามที่อธิบายไว้แล้ว Google Compute Engine (GCE) เป็นโครงสร้างพื้นฐานเป็นบริการ (IaaS) ในขณะที่ Google App Engine (GAE) เป็นแพลตฟอร์มเป็นบริการ (PaaS) คุณสามารถตรวจสอบแผนภาพต่อไปนี้เพื่อทำความเข้าใจความแตกต่างในวิธีที่ดีกว่า (นำมาจากและอธิบายที่ดีกว่าที่นี่ ) -
Google Compute Engine
GCE เป็นบริการสำคัญจาก Google Cloud Platform (GCP) เนื่องจากบริการ GCP ส่วนใหญ่ใช้ GCE อินสแตนซ์ (VMs) ใต้ชั้นการจัดการ (ไม่แน่ใจว่าอันไหนไม่) ซึ่งรวมถึง App Engine, ฟังก์ชั่นคลาวด์, เครื่องมือ Kubernetes (Engine Container ก่อนหน้านี้), Cloud SQL เป็นต้นอินสแตนซ์ GCE เป็นหน่วยที่ปรับแต่งได้มากที่สุดและควรใช้เฉพาะเมื่อแอปพลิเคชันของคุณไม่สามารถทำงานกับบริการ GCP อื่น ๆ คนส่วนใหญ่ใช้ GCE เพื่อถ่ายโอนแอปพลิเคชันในพื้นที่ของพวกเขาไปยัง GCP เนื่องจากต้องการการเปลี่ยนแปลงเล็กน้อย หลังจากนั้นพวกเขาสามารถเลือกใช้บริการ GCP อื่น ๆ เพื่อแยกส่วนประกอบของแอพ
Google App Engine
GAE เป็นบริการแรกที่นำเสนอโดย GCP (ก่อนที่ Google จะมาถึงธุรกิจคลาวด์) ปรับขนาดอัตโนมัติจาก 0 เป็นอินสแตนซ์ไม่ จำกัด (ใช้ GCE ด้านล่าง) มันมาพร้อมกับ 2 รสชาติมาตรฐานสภาพแวดล้อมและสภาพแวดล้อมที่ยืดหยุ่น
สภาพแวดล้อมมาตรฐานนั้นเร็วจริง ๆ ลดขนาดลงเป็น 0 เมื่อไม่มีใครใช้แอพของคุณปรับขนาดขึ้นและลงในไม่กี่วินาทีและมีบริการและห้องสมุดเฉพาะของ Google สำหรับการแคชการรับรองความถูกต้อง ฯลฯ ข้อแม้ที่มีสภาพแวดล้อมมาตรฐานนั้นเข้มงวดมาก ตั้งแต่มันทำงานในกล่องทราย คุณต้องใช้ runtimes ที่มีการจัดการสำหรับภาษาการเขียนโปรแกรมเฉพาะเท่านั้น ข้อมูลเพิ่มเติมล่าสุดคือ Node.js (8.x) และ Python 3.x รันไทม์รุ่นเก่าสามารถใช้งานได้กับ Go, PHP, Python 2.7, Java และอื่น ๆ
สภาพแวดล้อมที่ยืดหยุ่นเปิดกว้างมากขึ้นเนื่องจากช่วยให้คุณใช้เวลารันไทม์แบบกำหนดเองเนื่องจากใช้คอนเทนเนอร์ของนักเทียบท่า ดังนั้นหากรันไทม์ของคุณไม่พร้อมใช้งานใน runtimes ที่จัดให้คุณสามารถสร้าง dockerfile ของคุณเองสำหรับสภาพแวดล้อมการทำงาน ข้อแม้ของมันคือมันต้องมีอินสแตนซ์อย่างน้อย 1 ตัวที่ทำงานแม้ว่าจะไม่มีใครใช้แอพของคุณรวมถึงการขยายขึ้นและลงต้องใช้เวลาไม่กี่นาที
อย่าสับสน GAE แบบยืดหยุ่นกับ Kubernetes Engine เนื่องจากรุ่นหลังใช้ Kubernetes จริงและให้การปรับแต่งและคุณสมบัติเพิ่มเติมมากมาย GAE Flex มีประโยชน์เมื่อคุณต้องการคอนเทนเนอร์ไร้รัฐและแอปพลิเคชันของคุณใช้โปรโตคอล HTTP หรือ HTTPS เท่านั้น สำหรับโปรโตคอลอื่น ๆ Kubernetes Engine (GKE) หรือ GCE เป็นทางเลือกเดียวของคุณ ตรวจสอบคำตอบอื่น ๆ ของฉันสำหรับคำอธิบายที่ดีกว่า
App Engine ช่วยให้นักพัฒนาซอฟต์แวร์สามารถควบคุมแกนประมวลผลของ Google Compute Engine รวมถึงมอบส่วนหน้าเว็บสำหรับแอปพลิเคชันการประมวลผลข้อมูล Google Compute Engine
ในทางกลับกัน Compute Engine เสนอการจัดการระบบปฏิบัติการโดยตรงและสมบูรณ์ของเครื่องเสมือนของคุณ ในการนำเสนอแอพของคุณคุณจะต้องใช้ทรัพยากรและ Google Cloud Storage เหมาะสำหรับการจัดเก็บเนื้อหาและข้อมูลของคุณไม่ว่าจะใช้งานที่ไหนก็ตาม คุณได้รับการเข้าถึงข้อมูลที่รวดเร็วด้วยการโฮสต์ทั่วโลก ความน่าเชื่อถือรับประกันได้ในช่วงเวลา 99.95% และ Google ยังมีความสามารถในการสำรองและกู้คืนข้อมูลของคุณและเชื่อหรือไม่ว่าพื้นที่เก็บข้อมูลไม่ จำกัด
คุณสามารถจัดการสินทรัพย์ของคุณด้วย Google Cloud Storage จัดเก็บเรียกคืนแสดงผลและลบออก คุณยังสามารถอ่านและเขียนเอกสารข้อมูลแบบแบนที่เก็บไว้ใน Cloud Storage ได้อย่างรวดเร็ว ถัดไปในรายการ Google Cloud คือ BigQuery ด้วย BigQuery คุณสามารถวิเคราะห์ข้อมูลจำนวนมหาศาลได้เรากำลังพูดถึงบันทึกนับล้านภายในไม่กี่วินาที การเข้าถึงนั้นได้รับการจัดการผ่าน UI ที่ตรงไปตรงมาหรือ Representative State Transfer หรืออินเตอร์เฟส REST
การจัดเก็บข้อมูลนั้นเป็นไปอย่างที่คุณสงสัยว่าไม่ใช่ปัญหาและปรับขนาดเป็นร้อย TB BigQuery สามารถเข้าถึงได้ผ่านโฮสต์ของไคลเอ็นต์ไลบรารีรวมถึง Java, .NET, Python, Go, Ruby, PHP และ Javascript ไวยากรณ์คล้าย SQL ที่เรียกว่า NoSQL มีให้บริการซึ่งสามารถเข้าถึงได้ผ่านไลบรารีไคลเอ็นต์เหล่านี้หรือผ่านส่วนต่อประสานผู้ใช้บนเว็บ สุดท้ายเรามาพูดถึงตัวเลือกฐานข้อมูลแพลตฟอร์ม Google Cloud, Cloud SQL และ Cloud Datastore
มีความแตกต่างที่สำคัญคือ Cloud SQL ใช้สำหรับฐานข้อมูลเชิงสัมพันธ์ส่วนใหญ่เป็น MySQL ในขณะที่ Cloud Datastore ใช้สำหรับฐานข้อมูลที่ไม่เกี่ยวข้องโดยใช้ noSQL ด้วย Cloud SQL คุณมีทางเลือกของการโฮสต์ในสหรัฐอเมริกายุโรปหรือเอเชียที่มีพื้นที่เก็บข้อมูล 100 GB และ RAM ขนาด 16 GB ต่ออินสแตนซ์ฐานข้อมูล
Cloud Datastore มีให้บริการฟรีสำหรับคำแนะนำในการอ่าน / เขียนสูงสุด 50 K ต่อเดือนและจัดเก็บข้อมูล 1 GB ต่อเดือน อย่างไรก็ตามมีค่าธรรมเนียมหากคุณเกินโควต้าเหล่านี้ App Engine ยังสามารถทำงานร่วมกับสมาชิกเป้าหมายของ Google Cloud ที่เป็นที่รู้จักน้อยกว่ารวมถึง Cloud Endpoints สำหรับการสร้างแบ็กเอนด์ API, Google Prediction API สำหรับการวิเคราะห์ข้อมูลและการพยากรณ์แนวโน้มหรือ Google Translate API สำหรับเอาต์พุตหลายภาษา
ในขณะที่คุณสามารถทำเงินได้พอสมควรกับ App Engine ด้วยตัวมันเองมันเป็น skyrockets ที่เป็นไปได้เมื่อคุณคำนึงถึงความสามารถในการทำงานได้อย่างง่ายดายและมีประสิทธิภาพด้วยบริการแพลตฟอร์มของ Google Cloud
หากคุณคุ้นเคยกับบริการยอดนิยมอื่น ๆ :
Google Compute Engine -> AWS EC2
Google App Engine -> Heroku หรือ AWS Elastic Beanstalk
ฟังก์ชั่น Google Cloud -> ฟังก์ชั่น AWS Lambda
ฉันจะอธิบายในลักษณะที่เหมาะสมกับฉัน:
Compute Engine : ถ้าคุณเป็นคนทำเองหรือมีทีมไอทีและคุณต้องการเช่าคอมพิวเตอร์บนคลาวด์ที่มีระบบปฏิบัติการเฉพาะ (เช่น linux) คุณจะไปที่ Compute Engine คุณต้องทำทุกอย่างด้วยตัวเอง
App Engine : หากคุณเป็นโปรแกรมเมอร์งูใหญ่และต้องการเช่าคอมพิวเตอร์ที่ตั้งค่าไว้ล่วงหน้าบนระบบคลาวด์ที่มี Linux พร้อมด้วยเว็บเซิร์ฟเวอร์ที่ใช้งานและงูหลาม 3 รุ่นล่าสุดพร้อมโมดูลที่จำเป็นและปลั๊กอินบางตัวที่จะรวมเข้ากับ บริการภายนอกอื่น ๆ คุณไปที่ App Engine
คอนเทนเนอร์ที่ไม่มีเซิร์ฟเวอร์ (เรียกใช้บนคลาวด์) : หากคุณต้องการปรับใช้อิมเมจที่แน่นอนของสภาพแวดล้อมการตั้งค่าในเครื่องของคุณ (ตัวอย่างเช่น python 3.7 + flask + sklearn) แต่คุณไม่ต้องการจัดการกับเซิร์ฟเวอร์สเกล ฯลฯ คุณสร้างคอนเทนเนอร์ บนเครื่องท้องถิ่น (ผ่านตัวเทียบท่า) จากนั้นปรับใช้กับ Google Run
Microservice แบบไม่ใช้เซิร์ฟเวอร์ (ฟังก์ชั่นคลาวด์) : หากคุณต้องการเขียน API (ฟังก์ชั่น) ที่ทำงานเฉพาะคุณต้องไปที่ฟังก์ชั่น Google Cloud คุณเพียงแค่มุ่งเน้นไปที่ฟังก์ชั่นที่เฉพาะเจาะจงส่วนที่เหลือของงาน (เซิร์ฟเวอร์การบำรุงรักษาการปรับขนาด ฯลฯ ) จะทำเพื่อคุณเพื่อแสดงฟังก์ชั่นของคุณในรูปแบบไมโครแวร์
เมื่อคุณไปลึกกว่านี้คุณจะสูญเสียความยืดหยุ่น แต่คุณไม่ต้องกังวลกับประเด็นทางเทคนิคที่ไม่จำเป็น คุณจ่ายเพิ่มอีกนิด แต่คุณประหยัดเวลาและค่าใช้จ่าย (ส่วนไอที): มีคนอื่น (google) กำลังทำเพื่อคุณ
หากคุณไม่ต้องการกังวลเกี่ยวกับการปรับสมดุลโหลดการปรับขนาด ฯลฯ เป็นเรื่องสำคัญที่จะต้องแยกแอปของคุณออกเป็นบริการเว็บ "ไร้สัญชาติ" ซึ่งจะเขียนสิ่งใด ๆ ที่อยู่ในที่เก็บข้อมูลแยกต่างหาก (ฐานข้อมูลหรือที่เก็บ Blob) จากนั้นคุณจะพบว่าการทำงานของคลาวด์และคลาวด์นั้นยอดเยี่ยมเพียงใด
โดยส่วนตัวแล้วฉันพบว่า Google Cloud Run เป็นโซลูชั่นที่ยอดเยี่ยมมีอิสระในการพัฒนาอย่างสมบูรณ์ (ตราบใดที่ไร้สัญชาติ) แสดงให้เห็นว่าเป็นบริการเว็บเชื่อมต่อโซลูชันของคุณปรับใช้กับ Cloud Run ให้ google เป็นไอทีและ DevOps ของคุณคุณไม่จำเป็นต้องสนใจเรื่องการปรับขนาดและการบำรุงรักษา
ฉันได้ลองตัวเลือกอื่น ๆ แล้วและแต่ละตัวก็ดีสำหรับวัตถุประสงค์ที่แตกต่างกัน แต่ Google Run นั้นยอดเยี่ยมมาก สำหรับฉันมันเป็นเซิร์ฟเวอร์ที่แท้จริงโดยไม่สูญเสียความยืดหยุ่นในการพัฒนา
Virtual Machines (VMs) โฮสต์ในคลาวด์ ก่อนที่คลาวด์สิ่งเหล่านี้มักถูกเรียกว่า Virtual Private Servers (VPS) คุณจะใช้วิธีเดียวกันกับที่คุณใช้ฟิสิคัลเซิร์ฟเวอร์ที่คุณติดตั้งและกำหนดค่าระบบปฏิบัติการติดตั้งแอปพลิเคชันติดตั้งฐานข้อมูลรักษาระบบปฏิบัติการให้ทันสมัย ฯลฯ เป็นที่รู้จักกันในชื่อ Infrastructure - as-a-Service (IaaS)
VMs มีประโยชน์มากที่สุดเมื่อคุณมีแอปพลิเคชันที่มีอยู่ที่ทำงานบน VM หรือเซิร์ฟเวอร์ในดาต้าเซ็นเตอร์ของคุณและต้องการย้ายไปยัง GCP ได้อย่างง่ายดาย
App Engine โฮสต์และเรียกใช้รหัสของคุณโดยไม่ต้องให้คุณจัดการกับระบบปฏิบัติการเครือข่ายและสิ่งอื่น ๆ อีกมากมายที่คุณต้องจัดการกับเซิร์ฟเวอร์จริงหรือ VM คิดว่าเป็นรันไทม์ซึ่งสามารถปรับใช้รุ่นและปรับขนาดแอปพลิเคชันของคุณโดยอัตโนมัติ สิ่งนี้เรียกว่า Platform-as-a-Service (PaaS)
App Engine มีประโยชน์มากที่สุดเมื่อคุณต้องการปรับใช้อัตโนมัติและปรับขนาดแอปพลิเคชันของคุณโดยอัตโนมัติ เว้นแต่ว่าแอปพลิเคชันของคุณต้องการการกำหนดค่าระบบปฏิบัติการที่กำหนดเอง App Engine มักจะได้เปรียบกว่าการกำหนดค่าและการจัดการ VM ด้วยมือ