อัปเดต : คำตอบไม่ทันสมัยอีกต่อไป เนื่องจาก Cloud SQL ของ Google ไม่ได้อยู่ใน BETA อีกต่อไปนั่นหมายความว่าทั้ง AWS และ GAE สนับสนุนแอป java ที่เขียนขึ้นเพื่อใช้ฐานข้อมูล MySQL และการย้ายข้อมูลก็ไม่ใช่เรื่องยากอีกต่อไป ความคิดโดยรวมคือทั้งผู้ให้บริการคลาวด์ที่มีแนวโน้มที่จะได้รับไปยังจุดที่พวกเขามีทุกอย่าง "": Google เปิดตัวCompute Engineขณะที่อเมซอนกำลังทำงานอยู่บนฝักถั่ว อย่างไรก็ตามบริการ IaaS ของ Amazon นั้นเป็นผู้ใหญ่มากกว่าของ Google ในขณะที่บริการ PaaS ของ Google นั้นเป็นผู้ใหญ่มากกว่าของ Amazon ทุกอย่างเดือดลงไม่ว่าคุณจะต้องการ IaaS หรือ PaaS
มีความแตกต่างที่สำคัญระหว่าง AWS และ Google App Engine: AWS เป็นโครงสร้างพื้นฐานในฐานะบริการ (IaaS) ในขณะที่ GAE เป็นแพลตฟอร์มเป็นบริการ (PaaS) สิ่งนี้หมายความว่าเมื่อใช้ AWS คุณยังต้องดูแลเซิร์ฟเวอร์ของคุณเอง (อินสแตนซ์ ec2 อินสแตนซ์ db ตัวโหลดบาลานซ์และอื่น ๆ ) => ต้องใช้งาน sysadmin บางอย่าง ด้วย GAE คุณเพียงแค่ต้องโค้ดแอปของคุณและปรับใช้กับระบบคลาวด์ของ Google โดยไม่สนใจว่าเซิร์ฟเวอร์ใดหรือเซิร์ฟเวอร์ที่ทำงานอยู่กี่เซิร์ฟเวอร์ Google ดูแลระบบทั้งหมดให้คุณ
ทั้งสองใช้แบบจ่ายสำหรับการใช้งาน
คำตอบสำหรับแต่ละคำถาม:
- รองรับโดย AWS สำหรับ GAE คุณต้องใช้พื้นที่เก็บข้อมูลของตนเอง (เรียกว่าตารางใหญ่) คุณสามารถใช้ JPA เพื่อเข้าถึงข้อมูลตารางขนาดใหญ่ได้ แต่มีข้อ จำกัด มากมาย (เช่นคุณไม่สามารถรวมตารางได้) GAE รองรับฐานข้อมูลเชิงสัมพันธ์แต่ดูเหมือนว่าจะอยู่ในรุ่นเบต้า
- ทั้งคู่มีแผนบริการฟรี: AWS , GAE
- ยาก. ดังที่ฉันได้กล่าวไว้ที่จุดที่ 1 gae ใช้ที่เก็บข้อมูล NoSql ที่เป็นกรรมสิทธิ์ หากคุณต้องการเปลี่ยนไปใช้โมเดลเชิงสัมพันธ์คุณจะต้องออกแบบโมเดลของคุณใหม่
- อ่านบทเรียนของพวกเขาAWS , GAE
หมายเหตุ : AWS ยังรองรับ PaaS ผ่านต้นถั่วแบบยืดหยุ่นแต่ยังอยู่ในรุ่นเบต้า