ทำไมเลือกใช้ Google App Engine

ทำไมเลือกใช้ Google App Engine

ย้อนไปก่อนที่จะเริ่มใช้งาน Google App Engine อย่างจริงจัง ช่วงนั้นเป็นช่วงที่พัฒนา Mobile Application อย่างมากและตัวเองก็ยังเขียน Android อยู่ด้วย เมื่อมีงานเข้ามามากขึ้น จึงเริ่มมองหาแนวทางในการวาง Backend System ที่ใช้งานได้ดี สมัยก่อนก็ใช้วิธีเช่า VPS แล้วติดตั้ง Software ต่างๆลงไปเพื่อใช้งานเป็น Backend ด้วยความที่ไม่ได้ถนัดงานในส่วนของการ Setup การติดตั้งอยู่แล้ว ทำให้การติดตั้งมีปัญหาขลุกขลักทุกงาน ไปจนถึง เมื่อใช้งานจริงก็พบปัญหาอีกเยอะมาก เช่น รับ Load ไม่พอจะทำไงดี Server ล่มบ่อย และอื่นๆ

จนมาพบ Google App Engine ซึ่งช่วงนั้นยังเป็นช่วงแรกๆเลย มี 2 ภาษาให้เลือกคือ Java และ Python ซึ่ง Java ก็เป็นลักษณะของ Enterprise ซึ่งบอกตรงๆว่าไม่เคยจับมาก่อนเลย เลยตัดสินใจเลือกใช้ Python ด้วยความที่อยากลองเขียนอยู่แล้ว และก็ได้เขียน Backend ด้วย Google App Engine ตั้งแต่นั้นเป็นต้นมา

Google App Engine คือ Cloud Services ของ Google ที่มีลักษณะต่างจาก Hosting หรือ VPS เดิมๆที่เคยใช้มา Google ให้บริการ Google App Engine ในลักษณะของการที่เราพัฒนาโปรแกรมบนระบบของ Google อีกทีหนึ่ง ซึ่ง Google จะบริหารจัดการ Environment ให้เราทั้งหมด รวมถึงเพิ่มหรือลด จำนวน Server ที่จำเป็นและจัดการ Load Balance ในกรณีที่ลูกค้า พูดง่ายๆคือ Developer มีหน้าที่พัฒนาโปรแกรมอย่างเดียว เสร็จแล้วก็เอา Code ขึ้นใช้งาน บนระบบได้เลย ไม่ต้องยุ่งยากมาบริหารจัดการ Server อีกต่อไป

ปัจจุบัน Google App Engine รองรับภาษาที่หลากหลายมากขึ้น (Java, Python, Go, Php, Node) รวมถึงมีรูปแบบการทำงานที่หลากหมายมากขึ้น (Standard Environment, Flexible Environment) เพื่อให้ Developer เลือกใช้งานได้ตามความถนัด โดยส่วนตัวเลือกใช้ Google App Engine Standard Environment ด้วย Python 3.7 เป็นหลักครับ

ในฐานะที่เป็น Developer เต็มตัวและไม่สามารถ Config Server ใดๆได้ 5555+ การใช้งาน Google App Engine คือสวรรค์เลย สามารถเขียน Backend ได้ทันทีและมีเครื่องพร้อมใช้เมื่อ Deploy Code ขึ้นระบบได้เลย พร้อมทั้งสามารถรับ Load ได้จำนวนมาก (ถ้าจะมีปัญหามักจะเป็นส่วนของ Database ซะมากกว่า) เหมาะสำหรับ Developer ที่ต้องการความสะดวกสบายในการทำงาน โดยไม่ต้องห่วงเรื่อง Config Server

แน่นอนว่ามีข้อดีแล้ว ก็ต้องมีข้อเสีย อย่างแรกเลยคือ ราคา Google App Engine เอาจริงๆเหมือนจะไม่แพง แต่หากรองรับการทำงานต่อเนื่อง 24 ชั่วโมงแล้ว ก็ถือว่าแพงกว่าบริการอื่นๆพอสมควรเลยทีเดียว เรื่องต่อมาที่เป็นปัญหาของ Google App Engine เลยก็คือมันเป็นระบบปิด ที่เราจะต้องทำงานผ่านระบบที่ Google เตรียมไว้ ดังนั้น งานบางประเภทไม่สามารถทำได้ หรือทำได้แต่ต้องใช้วิธีอื่นๆ นอกเหนือจาก วิธีปกติที่เคยทำๆกันมา เช่น การเขียน File ในเครื่องไม่สามารถทำได้ การต่อ Connection ค้างยาวๆ จำนวน Socket Connection ไม่สามารถทำได้ การติดตั้ง Library เพิ่มเติม มีข้อจำกัด ใช้ได้เพียงบาง Library เท่านั้น ยังไงก่อนเริ่มงาน ตรวจสอบข้อจำกัดกันไว้ก่อนก็ดี ปัจจุบัน Google ได้ปรับปรุงให้การทำงานเป็นมาตราฐานมากขึ้น สามารถใช้งานร่วมกับ Server ที่อื่นได้เลย และติดตั้ง Library จากข้างนอกได้มากขึ้น (แต่ก็ยังไม่ได้ทั้งหมดนะ)

จริงๆแล้ว นอกจาก Google App Engine แล้ว Google มีบริการในรูปแบบ Hosting อื่นๆเพื่อใช้ในการทำงานได้อีกหลายตัวเช่น Google Compute Engine, Google Cloud Function, Knative, Google Cloud Run แต่ละคนก็เลือกใช้งานได้ตามแต่ลักษณะงานและความถนัดของแต่ละคน

Reference

Related Posts: