คลังเก็บป้ายกำกับ: cloud computing

Cloud Computing ราคาถูก

ผมกำลังมองหา Cloud Computing ราคาถูกอยู่ ที่ว่าถูกนี่หมายถึงราคาถูกแต่สมรรถนะสูงนะ ไม่ใช่ถูกเฉย ๆ แต่สมรรถนะน้อยนิดกระจิดริดอะไรแบบนั้น

ถึงแม้ทุกวันนี้จะมีบริการ Cloud Computing รายเล็กรายน้อยผุดขึ้นมาเยอะแยะ แต่ทุก ๆ ที่ก็คล้าย ๆ กันคือ แพง และ ไม่เสถียร สุดท้ายก็เลยต้องหันกลับมามองเจ้าใหญ่ ๆ สามเจ้าซึ่งได้แก่ Amazon EC2, Windows Azure และ Google App Engine

สำหรับ Amazon EC2 ผมเคยลองแล้ว ใช้ได้ดีแต่ไม่มีอะไรได้มาฟรี คิดตังค์ทุกเม็ดไม่ว่าจะทำอะไร ถ้าใช้เครื่องระดับจิ๋วก็เสียเดือนล่ะ 800 บาท ถ้าเครื่องระดับเล็กก็เสียเดือนล่ะ 2000 บาท ผมเคยลองเครื่องระดับเล็กสองเครื่อง โดนไปเดือนล่ะ 4000 บาท เสียดายตังค์มาก เพราะแค่ลองก็ต้องเสียตังค์ซะล่ะ

ส่วน Window Azure นี่ยังไม่เคยลอง แต่โดยส่วนตัวแล้วไม่ชอบ เพราะมันผูกขาดทุกอย่างกับเทคโนโลยี .NET มันเป็นอะไรที่ขัดแย้งกับการทำ Web Application มาก ๆ เลยไม่ค่อยจะสนใจมันซักเท่าไหร่ ถึงมันจะมี ASP.NET มาให้ใช้ด้วยก็เถอะ

สุดท้ายก็ Google App Engine ซึ่งในตอนแรกผมไม่ค่อยชอบเท่าไหร่ เพราะมันรองรับแต่ภาษาคอมพิวเตอร์อย่าง Java และ Python แต่พอเห็นว่ามันฟรีในระดับเบื้องต้น และถ้าอยากได้เยอะ ๆ ก็ต้องเสียตังค์เพิ่ม มันก็เลยทำให้ผมคิดว่าไอ้เจ้า Google App Engine นี่มันก็น่าสนใจเหมือนกัน แถมล่าสุดผมยังเพิ่งไปค้น ๆ เจอว่า มีคนใจดีทำกลไกเพื่อให้สามารถขับเคลื่อน PHP บน Java ได้อีกต่างหาก อันนี้ยิ่งเลิศใหญ่

ผมเลยว่าผมจะไปลอง ๆ Google App engine ดู เพราะผมชอบของฟรี

วิธีใช้ Amazon EC2 เพื่อประมวลผล Facebook Application

ผมเขียนภาพข้างล่างนี้ขึ้นมาอย่างพื้นฐานและง่ายที่สุด เพื่อแจกแจงว่า ถ้าหากเราต้องการใช้ Amazon EC2 เพื่อประมวลผล Facebook Application แล้วล่ะก็ มันจะมีรูปภาพออกมาเป็นยังไง?

อธิบายภาพข้างบนสั้น ๆ ได้ดังนี้

  1. คุณต้องติดตั้ง Facebook Canvas เป็น, เข้าใจใน Facebook Graph API และเข้าใจใน Facebook Client Libraries (ทั้งหมดฟรี)
  2. คุณต้องจดทะเบียน Domain (เสียตังค์) กับ Domain Registrar (Domain ที่ว่าก็คือ ไอ้พวก http://www.yourdomain.com อะไรเทือกนั้นแหล่ะ) เช่น Godaddy เป็นต้น
  3. คุณต้องจดทะเบียน DNS (เสียตังค์) กับ DNS Provider เพื่อที่คุณจะได้ผูก Domain ของคุณเข้ากับ Amazon EC2 ได้
  4. คุณต้องสมัครเพื่อใช้งาน Amazon EC2 (ไม่ต้องเสียตังค์) แล้วเข้าไปสร้าง Application + Db Instance (เสียตังค์ตามการใช้งาน) โดยสร้างขึ้นมาแค่ Instance เดียวก็พอ (ต่อไปถ้าคุณเก่ง คุณสามารถสร้างเยอะ ๆ ก็ได้นะเออ)
  5. คุณต้องสร้าง Elastic IP ขึ้นมา (เสียตังค์) เพื่อให้ Instance ของคุณ สามารถติดต่อกับโลกภายนอกได้ โดยสร้างแค่ IP เดียวก็พอ (ก็ใช้แค่ Instance เดียวไง ก็เลยใช้แค่ IP เดียวก็พอ)
  6. บังเอิญว่า Instance ใน Amazon EC2 เป็นพวกความจำสั้น ดังนั้น ถ้ามันโดน Restart หรือ Terminate เมื่อไหร่ล่ะก็ มันจะลืมทุกอย่างไปหมดเลย (รวมทั้ง Code และ DB ด้วย) ดังนั้น น่าจะเป็นการดี หากเราจะสร้าง Elastic Block Store ขึ้นมา (เสียตังค์) เพื่อเอามาเป็นที่พักข้อมูลจาก Instance เผื่อว่า Instance มันล่มหรืออะไรยังไง มันจะได้มีตัวสำรอง
  7. แต่ถ้าคุณคิดว่า Elastic Block Store จะไม่ชัวร์ กลัวว่าตัวมันเองก็อาจจะล่ม คุณก็สามารถจะติดตั้ง Snapshot To S3 (เสียตังค์) เพื่อให้มันทยอยโอนข้อมูลของคุณ ไปเก็บไว้ใน Bucket (เสียตังค์) ของ Amazon S3 ก็ได้ (คุณต้องสมัครเพื่อขอใช้ Amazon S3 อันนี้ฟรี ไม่เสียตังค์)

สรุปว่าจะประมวลผล Facebook Application บน Amazon EC2 ก็ต้องจ่ายพอตัวเหมือนกัน แต่ถ้าทำออกมาดี ๆ ก็น่่าจะคุ้มอ่ะนะ เพราะถ้าให้ไปประมวลผลบน Shared Hosting ก็คงไม่ได้ เพราะทรัพยากรจำกัดจำเขี่ยเหลือเกิน เกิดผีเข้าผีออก มีคนเข้า Facebook Application ของเราเยอะขึ้นมา ไปทำ Shared Hosting เขาล่ม เดี๋ยวเขาจะเฉดหัวออกมาแทบไม่ทัน

ส่วนจะไปประมวลผลบน Dedicated Server หรือ Virtual Private Server ก็ยุ่งยาก ต้องติดตั้งทุกอย่างเองทั้งหมด (Amazon EC2 มันเทพ สั่งสร้าง Instance โป้งเดียว มันติดตั้งระบบปฏิบัติการและปรับแต่งทุกอย่างให้หมดเลย)

ยิ่งเป็น Co-Location ก็ยิ่งแล้วใหญ่ เพราะเดี๋ยวนี้ฮาร์ดแวร์มันทันสมัยขึ้นแทบทุกวี่ทุกวัน จะให้เช่าซื้อ Server มาเป็นของตัวเองมันจะไม่คุ้ม แบบว่ายังไม่ทันไร Server ที่มีก็ตกยุคซะแล้ว หรือถ้าไม่ตกยุค แต่ต้องมาอัด RAM ทำ Server Farm เองก็หลังแอ่นเหมือนกัน