Google App Engine คืออะไร

Google App Engine คือ อะไร

Google App Engine (กูเกิ้ลแอพเอนจิ้น หรือ GAE) คือ Platform ที่สร้างขึ้นมาเพื่อให้นักพัฒนาสามารถพัฒนาและติดตั้งเวบไซต์บน Google Data Centers คู่แข่งของ Google App Engine ในปัจจุบัน ได้แก่ Heroku,Windows Azure เป็นต้น

Google App Engine จัดอยู่ในประเภท Platform as a Service ซึ่งเป็นการให้บริการแบบหนึ่งของ Cloud Computing

ปัจจุบัน (May,2012) Google App Engine รองรับทั้งหมด 3 ภาษา คือ Java, Python, และ Go(อยู่ระหว่างการทดสอบ) โดยภาษา Python จะรองรับทั้งหมด 2​ Version คือ Python 2.5 กับ Python 2.7

Google App Engine จะช่วยให้นักพัฒนาเวบไซต์สามารถติดตั้ง ปรับปรุง และขยายระบบได้อย่างไม่จำกัด โดยที่นักพัฒนาเวบไซต์ไม่จำเป็นต้องรู้เลยว่าเวบของเราอยู่ตรงไหน ไม่ต้องเสียค่าใช้จ่ายในการวาง Server หรือ ค่าใช้จ่ายในการติดตั้งและดูแล Server โดยปกติแล้ว เวบไซต์เริ่มต้น จะได้ชื่อโดเมนย่อของ appspot.com เช่น example.appspot.com เป็นต้น แต่นักพัฒนาสามารถเลือกชื่อโดเมนเฉพาะได้โดยมีค่าใช้จ่ายเล็กน้อย

ข้อดีของ Google App Engine คือ จ่ายเท่าที่ใช้ (Pay as you use) โดยเริ่มแรกจะฟรีทุกอย่าง ไม่มีค่าใช้จ่ายแต่อย่างใด ไม่มีค่าคิดตั้ง ไม่มีค่าธรรมเนียมครับ โดยครั้งแรกจะให้พื้นที่เวบไซต์ทั้งหมด 1GB และจำกัดการเรียกเวบเพจที่ 5 ล้าน Request ต่อเดือน (ขยายได้สูงสุด 500 Requests-per-second) หากใช้ Quota เกินกว่านั้นก็จะมีค่าใช้จ่ายตามการใช้งานจริง และจำกัด 10 Applications ต่อหนึ่ง Google Account รายละเอียดข้อจำกัดสามารถดูเพิ่มเติมได้ที่ https://developers.google.com/appengine/docs/quotas

ข้อจำกัดของ Google App Engine

  1. Google App Engine อนุญาติให้เข้าถึงไฟล์บน Server อื่นผ่าน URL กับ Email Service เท่านั้น และผู้ใช้ก็เข้าถึงไฟล์บน Google App Engine ผ่านทาง HTTP,HTTPS เท่านั้น
  2. Google App Engine อนุญาติให้ อ่านไฟล์ และ Upload ไฟล์ได้ แต่ไม่สามารถเขียนไฟล์ลงบน File System ได้
  3. แต่ละ Request ต้องตอบสนอง (Response) ภายใน 60 วินาที ในที่นี้ รวมถึง web request, queue task, และ scheduled task โดยแต่ละ Request ไม่สามารถ spawn process ได้ (แตกเป็น sub process หลายๆ อัน)

ระบบเก็บข้อมูลและฐานข้อมูล มี 3 แบบให้เลือกตามการใช้งาน

  1. App Engine Datastore คือ บริการ Database แบบ NoSQL โดยเก็บข้อมูลเป็นแบบ Object (Python,GO,Java) แต่ PHP มี memcache ให้ใช้
  2. Google Cloud SQL คือ บริการ Database แบบ SQL ดูอัตรา pricing
    2.1 วิธีติดตั้ง phpmyadmin บน google app engine
    2.2 Codeigniter on GAE
    2.3 Laravel4 on GAE
  3. Google Cloud Storage คือ บริการพื้นที่จัดเก็บไฟล์บนระบบ Cloud Computing ดูอัตรา pricing

บริการทั้งหมดบน Google App Engine ที่ Stable แล้ว

  • Backends (PythonJava)
  • Blobstore API (PythonJavaGo)
  • Capabilities API (PythonJavaGo)
  • Channel API (PythonJavaGo)
  • Datastore API (PythonJavaGo)
  • Datastore Async API (PythonJava)
  • XG Transactions (PythonJava)
  • HRD Migration Tool
  • Images API (PythonJava) คือ บริการเกี่ยวกับการจัดการรูปภาพ JPG และ PNG เท่านั้น เช่น Crop, Resize, Rotate, Flip
  • Java Runtime
  • Log Service API (Python)
  • Mail API (PythonJavaGo) ระบบอนุญาติให้ส่งเมล์ผ่าน Server ของ Google ได้
  • Memcache API (PythonJavaGo) บริการนี้จะช่วยให้ User สามารถเข้าถึงเวบไซต์ของเราได้ดียิ่งขึ้น เพราะมีการทำ Cache บน Memory
  • Multitenancy API (PythonJava)
  • New Database Module (NDB)
  • Python 2.5 Runtime
  • Python 2.7 Runtime
  • Remote API (PythonJava)
  • Task Queue API (PythonJavaGo)
  • URLFetch API (PythonJavaGo) ระบบอนุญาติให้ Applications ของเราสามารถดึงข้อมูลเวบผ่านบริการ URL Fetch ด้วยอินเตอร์เนทความเร็วสูงของ Google เช่น จะใช้ URL Fetch เมื่อ Applications ของเราต้องดึงข้อมูลจาก Web Services จาก Twitter API เป็นต้น
  • Users API (PythonJavaGo)
  • XMPP API (PythonJava)

บริการมาใหม่ Google App Engine for PHP โดยใช้ PHP Runtime 2.4 ขึ้นไป แต่ยังไม่มีตัว Launcher ให้ใช้ ทำทุกอย่างผ่าน CLI และต้องสมัครสมาชิกก่อนถึงจะสามารถ deploy ได้

รายละเอียดเพิ่มเติม

  1. http://en.wikipedia.org/wiki/Google_App_Engine
  2. https://developers.google.com/appengine/
  3. https://developers.google.com/appengine/docs/features

บทความโดย kongarn.com

Related posts:

This entry was posted in google app engine, php, python, technology. Bookmark the permalink.