เมื่อเลือกสถาปัตยกรรมสำหรับการให้บริการที่อาศัยมากในสถาปัตยกรรมคลาสสิกเช่นเว็บแผนที่ไม่เคยประมาทประสิทธิภาพของโซลูชั่นโฮสติ้งแบบดั้งเดิมมากขึ้นเช่นRackSpaceเซิร์ฟเวอร์เมฆหรือLinode
คุณจะมีทางเลือกน้อยลงในการสร้าง (เช่นใช้ S3 หรือไม่, โหลดบาลานเซอร์หรือไม่, แบ็กอัพ ฯลฯ หรือไม่และราคาเท่าไหร่?) ซึ่งผลลัพธ์ยากต่อการคาดเดาและที่สำคัญคุณจะสามารถ ใช้เครื่องมือที่คุณคุ้นเคยอยู่แล้ว
เมื่อเวลาผ่านไปด้วยตัวฉันเองฉันสามารถบอกคุณได้ว่าปัจจัยสำคัญในการตัดสินใจเลือกใช้บริการแผนที่เว็บบน Rackspace แทนที่จะเป็น AWS คือ:
- Cloud Server นั้นยืดหยุ่นได้มากกว่าอินสแตนซ์ EC2 อินสแตนซ์ของ EC2 นั้นคาดว่าจะล้มเหลวและจะล้มเหลว
- ปริมาณ EBS ล้มเหลวเช่นกัน (มีเรื่องเศร้ามากมายในข่าว) และโดยทั่วไปมี I / O ที่ไม่ดี
- เว้นแต่ว่าคุณจะเลือกอินสแตนซ์ของการแย่งชิง I / O ที่ใหญ่ขึ้นอาจเป็นปัญหา (โดยเฉพาะถ้าคุณวางแผนที่จะวางไทล์บน EC2 แทนที่จะคัดลอกทับ) มันอาจเป็นปัญหากับฐานข้อมูล MTBtiles
- เมื่อใดก็ตามที่คุณรีบูทเซิร์ฟเวอร์ไอพีสาธารณะจะเปลี่ยน: สิ่งนี้จะไม่เกิดขึ้นบน Linode หรือ Rackspace
- คุณจะต้องมีการสำรองและกู้คืนกลยุทธ์ด้วยตัวเองในขณะที่ทั้ง Linode และ Rackspace มีจุดและคลิกสแนปชอตและคืนค่าอัตโนมัติรายวันและรายสัปดาห์
- หากโฮสต์ที่ใช้งาน VPS ของคุณล้มเหลว Rackspace จะดูแลการย้ายอินสแตนซ์ของคุณและรีสตาร์ทบนเซิร์ฟเวอร์อื่นและพวกเขาจะทำสิ่งนี้ใน 4 ชม. (อยู่ใน SLA) มันเกิดขึ้นกับฉันในขณะที่ฉันอยู่ในช่วงวันหยุดมันรู้สึกเป็นมืออาชีพมาก Linode ควรทำเช่นเดียวกัน
- Linode มี SLA ความพร้อมใช้งานที่ยอดเยี่ยม: 99.9% และพวกเขาอ้างว่ามีประสิทธิภาพที่ยอดเยี่ยมเพราะพวกเขาไม่ได้คาดการณ์มากเกินไป
- Rackspace เพิ่งมาพร้อมกับกลยุทธ์ด้านปริมาณเช่น EBS พื้นที่ดิสก์ไม่ควรเป็นปัญหาอีกต่อไป ก่อนหน้านี้หากคุณต้องการพื้นที่ดิสก์จำนวนมากที่คุณได้รับอินสแตนซ์ขนาดใหญ่ในขณะที่อยู่บน EC2 คุณสามารถจัดเก็บหน่วยความจำ cpu และหน่วยความจำด้วยการควบคุมที่ดีกว่า
ด้วยสิ่งนี้ฉันไม่ได้บอกว่า Amazon AWS ด้อยกว่าคนอื่นฉันแค่บอกว่าบางครั้งโซลูชันโฮสติ้งแบบดั้งเดิมสามารถปรับขนาดได้เช่นเดียวกับ Cloud Based ตัวอย่างที่น่าสังเกตคือเครือข่ายStackExchangeนั้นเอง
ดังนั้นในกรณีของคุณฉันจะเริ่มต้นอินสแตนซ์ขนาดใหญ่บน Rackspace แล้วโหลดข้อมูลทั้งหมดในอินสแตนซ์ Postgis ในเครื่อง จากนั้นหลังจากตั้งค่าเอ็นจิ้นการเรนเดอร์ฉันจะทำการแคช อินสแตนซ์ขนาดใหญ่จะทำให้กระบวนการการเพาะเสร็จเร็วพอที่จะไม่ทำให้แพงเกินไปในการทำงาน คุณสามารถจัดเก็บไทล์ใน fs, MTBtiles ได้แม้ใน S3 (btw คุณสามารถให้บริการข้อมูล S3 บน CDN ด้วยCloudFront )
หลังจากการ seed เสร็จสมบูรณ์ฉันจะรีบูตเซิร์ฟเวอร์และปรับขนาดเป็นอินสแตนซ์ขนาดเล็ก (อาจถึง 512MB) ณ จุดนั้นมันจะต้องให้บริการข้อมูลคงที่เท่านั้น
นี่คือคำตอบที่ค่อนข้างยาวดังนั้นฉันจะหยุดที่นี่ หากคุณต้องการให้ฉันอธิบายบางแง่มุมเพียงแค่ใส่ความคิดเห็น
ข้อจำกัดความรับผิดชอบ: ฉันไม่ได้มีส่วนเกี่ยวข้องกับ Rackspace, Linode หรือผู้ให้บริการอื่น ๆ ที่ฉันอ้างถึง