browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

การพัฒนาซอฟต์แวร์บนคลาวด์ “Cloud Software Development on Google App Engine & Amazon Web Services”

Posted by on 9 สิงหาคม, 2015

เมื่อวันที่ 13 – 16 กรกฎาคม 2558 ที่ผ่านมา ผู้เขียนได้มีโอกาสได้ไปเข้าร่วมอบรมการพัฒนาซอฟต์แวร์บนคลาวด์ ด้วย Google Apps Engine และ Amazon webservice โดยโครงการอบรมนี้ได้รับการสนับสนุนจาก สำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (องค์กรมหาชน) [SIPA] โดย IMC Institute เป็นผู้รับผิดชอบการบรรยาย โดยในการบรรยายในครั้งนี้เป็นการอธิบายเชิงปฏิบัติเกี่ยวกับการพัฒนาซอฟต์แวร์บน คลาวด์ โดยใช้ PaaS/IaaS และภาษาที่ใช้ในการพัฒนาก็จะหลากหลาย ไม่ว่าจะเป็นภาษาจาวา พีเอชพี ไพธอน และอื่น ๆ โดยในปัจจุบันกระแสของ Cloud Computing  กำลังมาแรงมาก และทำให้บริษัทซอฟต์แวร์ต้องเริ่มปรับรูปแบบของซอฟต์แวร์ตัวเองจาก Product เป็น Service และเริ่มที่จะให้บริการเป็นแบบ  SaaS (Software as a Service)

โดย รศ.ดร.ธนชาติ นุ่มนนท์ ได้กล่าวเกี่ยวกับ การพัฒนาซอฟต์แวร์ขึ้น Cloud โดยใช้บริการ IaaS และ PaaS จะมีความแตกต่างกันดังนี้

1. การพัฒนาซอฟต์แวร์โดยใช้ IaaS ผู้พัฒนาจะต้องบริหารจัดการหลายๆอย่างเองหมด อาทิเช่น การติดตั้ง Web Server และ Database Server, การทำ Load Balance, การบริหารจัดการ VMware หรือ DBMS และ การพัฒนา Application ดังรูป

 2.  การพัฒนาบน PaaS นักพัฒนาซอฟต์แวร์จะสามารถที่จะมุ่งเป้าไปที่การพัฒนาและติดตั้ง Application ได้อย่างเดียว โดยการทำงานและบริหารระบบอื่นๆทาง  Cloud Provider  จะเป็นผู้ดำเนินการให้ดังรูป

แต่การพัฒนาบน PaaS ก็จะมีข้อจำกัดตามที่ Cloud Provider กำหนดเช่น ภาษาที่ใช้ หรือการกำหนด Web Server หรือ Database Server  ข้อสำคัญในปัจจุบันเรายังไม่มีผู้ให้บริการ PaaS  ภายในประเทศจึงยังต้องพึี่งการให้บริการจากต่างประเทศ ก็อาจมีปัญหาเรื่องของการสื่อสารและการชำระเงิน

อย่างไรก็ตามฟังก์ชันและข้อแตกต่างกันระหว่าง Amazon Web Services (AWS) และ Google Apps Engine มีดังนี้

  • Amazon Web Services (AWS) : เป็น  IaaS ที่น่าสนใจเพราะผู้พัฒนาสามารถที่จะติดตั้ง Middleware  ต่างๆได้ และทดลองใช้งานได้ฟรี จึงเหมาะกับนักพัฒนาที่ใช้ภาษาต่างๆเช่น PHP, Java, Python ที่ต้องการความคล่องตัว
  • Google App Engine: เป็น PaaS  ที่ทำงานบน  Infrastructure ของ Google ที่นักพัฒนาสามารถเลือกใช้ภาษาอย่าง  Java หรือ Python มาพัฒนาได้  โดยสามารถจะเลือกใช้ฐานข้อมูลที่เป็น BigTable ของ Google หรือ MySQL หรือแม้แต่จะเชื่อมต่อกับ Database ของตัวเองก็ได้  (ซึ่งถ้าสนใจศึกษาเพิ่มเติม ทาง IMC Institute ได้เปิด  Slideshare ให้ Download เอกสารการบรรยายและแบบฝึกหัดภาษาไทยให้ทดลองทำ และยังมี Course  อบรม Google App Engine for Java Developers )

อ้างอิงจาก ดร.ธนชาติ นุ่มนนท์ 

ใส่ความเห็น