ฺBSA และ ACCA ระบุไทยติดอันดับรั้งท้ายทางด้าน Cloud Computing และข้อเสนอแนะในการปรับปรุง

เมื่อวันก่อนได้อ่านบทความเรื่อง The Best (and Worst) Countries for Cloud Computing จากเว็บไซต์ CIO.com  ซึ่งเป็นการนำผลการสำรวจ  Cloud Computing Scorecard ของ BSA ที่ออกมาเมื่อเดือนมีนาคมปีนี้มาวิเคราะห์ ซึ่งบางท่านอาจเคยเห็นรายงานโดยละเอียดแล้ว (สามารถหาอ่านได้ที่ BSA Global Cloud Computing Scorecard 2013) โดยทาง BSA จัดอันดับให้ญี่ปุ่นมีคะแนนโดดเด่นเป็นอันดับหนึ่ง ตามด้วยออสเตรเลียและสหรัฐอเมริกา ซึ่งในบทความก็ได้ย้ำให้เห็นถึงห้าประเทศที่มีความโดดเด่นด้านนี้ แต่ขนาดเดียวกันก็พยายามเน้นย้ำถึงอีกห้าประเทศรวมทั้งประเทศไทยที่ยังอยู่อันดับท้ายๆเรื่อง Cloud Computing ดังตารางนี้

Image

แม้หลายท่านอาจจะมีความคิดเห็นต่างว่าประเทศไทยก็มีการพัฒนาเรื่อง Cloud Computing ไปมากและเป็นไปอย่างรวดเร็ว แต่โดยแท้จริงแล้วหากเราเทียบกับประเทศอื่นๆเรายังพัฒนาด้วยความเร็วที่ช้ากว่าเขาไปมาก เพราะนอกเหนือจากการจัดอันดับของ BSA ผลการจัดอันดับของ Asia Cloud Computing Association ด้าน Asia Cloud Computing Readiness เมื่อปลายปีที่แล้วก็ออกมาทำนองเดียวกัน โดยประเทศไทยอยู่อันดับสุดท้ายร่วมกับเวียดนาม

ผมจำได้ว่าเมื่อทาง  Asia Cloud Computing Association (ACCA) มาจัดประชุมความคิดเห็นที่ประเทศไทยเมื่อปลายดือนกุมภาพันธ์ที่ผ่านมา มีหน่วยงานจากภาครัฐและอกชนบางรายก็พยายามไปแย้งกับทาง ACCA ว่าประเทศไทยก็มีความก้าวหน้าทางด้านนี้ ข้อมูลของ ACCA น่าจะผิดพลาด ผมคิดว่าแทนที่เราจะมาแย้งกับเขา เพราะข้อมูลหลายฝ่ายสอดคล้องกันว่าเรายังพัฒนาเรื่องนี้น้อย เราควรที่จะหันมาปรับปรุงการพัฒนาเรื่อง  Cloud Computing ในบ่้านเราอย่างจริงจัง และศึกษาการพัฒนา  Cloud Computing  ที่แท้จริงมากกว่่าที่จะพยายามประกาศว่าเรามี Cloud Computing ทัั้งๆที่บางครั้งเรายังไปไม่ถึงไหนในเรื่องนี้

ถ้าเราพิจารณาเรื่องของ  Cloud Computing Maturity จะพบว่ามีการกำหนด Maturity Level ไว้หลายๆระดับเช่นในเว็บ http://cloudmaturity.com/  ก็จะมีการกำหนดระดับไว้ 5 ระดับคล้ายๆกับมาตรฐาน CMMI คือมีระดับ Performed, Defined, Managed, Adapted และ Optimized ทั้งในกลุ่มของ IaaS, PaaS และ SaaS ดังตารางข้างล่าง ซึ่งหากนำ  Maturity Model  พิจารณากับผู้ให้บริการ Cloud Computing ส่วนใหญ่ในประเทศไทย ก็คงจะเห็นว่าของเรายังอยู่ใน Level  1 หรือ 2 เท่านั้น ซึ่งก็อาจสอดคล้องกับหน่วยงานหรือผู้ให้บริการในต่างประเทศหลายๆแห่งที่ระบุว่าตัวเองเป็น Cloud Computing  แต่เมื่อพิจารณาดูแล้วอาจไม่ใช่ Cloud Computing เลย ดังบทความของ  Forrester ที่ระบุว่า Most “private clouds” aren’t really clouds at all เพียงแต่ต่างประเทศมีหลายรายที่พร้อมกว่าบ้านเราการจัดอันดับจึงไปได้ดีกว่า

Image

คราวนี้อยากให้ดูผลการจัดอันดับ Cloud Computing ของทั้งทาง ACCA  และ BSA พร้อมทั้งข่้อเสนอแนะต่อประเทศไทยบ้างว่าเป็นอย่างไร

Asia Cloud Computing Association

ACCA ได้จัดอันดับ Asia Cloud Computing Readiness Index เมื่อเดือนตุลาคม 2012 โดยประเทศญี่ปุ่นอยู่อันดับหนึ่งด้วยคะแนน 78.8  ส่วนประเทศไทยอยู่อันดับสุดท้ายร่วมกับเวียดนามที่คะแนน 44.9 ทั้งนี้ประเทศไทยตกลงมาสองอันดับจากปี 2011  โดยมีผลการจัดอันดับดังตารางข้างล่าง

สำหรับประเทศไทย ทาง ACCA ระบุว่าคะแนนของเราดีขึ้นในด้านของโครงสร้างพื้นฐาน การเชื่อมต่ออินเตอร์เน็ตกับต่างประเทศ คุณภาพของ Broadband และระบบไฟฟ้า และคะแนนด้านความสะดวกทางธุรกิจและอิสระทางการเข้าถึงข้อมูลอยู่ในเกณฑ์ดีมาก แต่ประเทศไทยจะต้องปรัปปรุงเรื่องของ   data sovereignty ที่ยังอยู่อันดับสุดท้าย ทาง ACCA แนะนำว่าประเทศไทยต้องปรับปรุงเรื่องโครงสร้างพื้นฐานให้ดีกว่านี้ รวมถึงต้องแก้ไขเรื่องของ Data  Sovereignty และ Data Privacy

Image

BSA: Cloud Computing Scorecard

BSA จัดอันดับ Cloud Computing ของประเทศต่างๆทั่วโลก  24 ประเทศทุกๆสองปี โดยล่าสุดเมื่อเดือนมีนาคม 2013  ทาง BSA ได้ประกาศจัดอันดับครั้งใหม่และประเทศไทยอยู่อันดับที่ 23  จาก 24 ประเทศ โดยอันดับตกลงมาหนึ่งอันดับจากเมื่อปี 2011 โดยทาง  BSA ระบุว่าทางด้านกฎหมายและนโยบายเรื่อง  Cloud Computing ของประเทศไทยยังมีอยู่แบบกระจัดกระจายไม่เป็นระบบ โดยในบ้างเรื่องเช่นด้านของกฎหมาย  cybercrime หรือกฎหมายด้าน e-commerce และลายเซ็นอิเล็กทรอนิกส์ ของประเทศมีความเข้มแข็งดีทำให้เกิดความเชื่อมั่นในการใช้งาน แต่ขณะเดียวกันก็ยังมีช่องว่างเช่นกฎหมายด้านการคุ้มครองข้อมูลสิทธิ์ส่วนบุคคล (Data Privacy) ยังต้องปรับปรุงอีกมาก รวมถึงเรื่องของกฎหมายด้านทรัพย์สินทางปัญญา (intellectual property) ซึ่งยังไม่ได้ครอบคลุมถึงด้าน การบริหารการจัดการสิทธิ์การใช้ เทคนิคการวัดการป้องกันข้อมูล หรือ วิธีป้องกันการหลบเลี่ยงImage

จากที่กล่าวมาจะเห็นว่าทั้ง ACCA และ BSA  ต่างเห็นพ้องกันว่าประเทศไทยจะต้องปรับปรุงข้อกฎหมายทางด้าน Data Privacy, Security และ Intellectual Property เพื่อให้เกิดความพร้อมทางด้าน Cloud Computing

การพัฒนา Enterprise Application โดยใช้ Force.com

เวลาพูดถึง  Force.com หลายคนอาจสับสนกับคำว่า SaesForce.com  เพราะหลายๆคนคงรู้จัก SalesForce.com ค่อนข้างดีว่าเป็น Cloud Software SaaS ที่ทำทางด้าน CRM ซึ่งมีผู้ใช้จำนวนมากกว่า 2 ล้านคนและมีรายรับประมาณ 2.2 พันล้านเหรียญสหรัฐอมริกาเมื่อปี 2012   ทั้งนี้โปรแกรม CRM  ของ Salesforce.com จะมีโซลูชั่นอยู่หลายตัวทั้ง Sales Cloud, Service Cloud, Data Cloud และCollaboration Cloud (Chatter) ซึ่งผู้ใช้สามารถเลือกใช้โซลูชั่นต่างๆเหล่านี้ได้โดยมีค่าใช้จ่ายตามจำนวนผู้ใช้ต่อเดือน

Image

สำหรับ Force.com จะเป็น Cloud Computing Platform as a Service (PaaS) เพื่อให้นักพัฒนาซอฟต์แวร์สามารถพัฒนา Enterprise Application ที่เป็น Multitenant โดยใช้ Infrastructure ของ Force.com ได้ การพัฒนาโปรแกรม Force.com  จะช่วยทำให้นักพัฒนาสามารถที่จะสร้าง Application ที่ต่่อยอดมาจากโปรแกรมของ Salesforce.com ได้ โดยนักพัฒนาสามารถที่จะพัฒนาโปรแกรมได้อย่างง่าย ซึ่งในปัจจุบันมีบริษัททั่วโลกมากกว่า 100,000 บริษัทที่ใช้ Force.com  ในการพัฒนา Business Application รวมถึงธนาคารพาณิชย์ขนาดใหญ่ในประเทศไทยบางแห่งก็มีการใช้  Force.com และมีทีมพัฒนาโปรแกรม  Force.com  ในองค์กร

นอกจากนี้นักพัฒนาสามารถที่จะนำโปรแกรมที่พัฒนาขึ้นไปขายผ่าน Application Store ของ Salesforce.com ที่ชื่อ AppExchange ได้ ซึ่งในปัจจุบันมีโปรแกรม Business Application มากกว่า  1,700 Apps ที่จำหน่ายอยู่บน AppExchange  โดยมีโปรแกรมทั้งทางด้าน HR, Finance, Project Management และ ERP

Image

ผู้เขียนก็ได้พัฒนาโปรแกรมระบบบริหารการฝึกอบรมที่เก็บข้อมูล CRM จำนวนหลายหมื่นเรคอร์ดโดยใช้ Force.com  ซึ่งสามารถที่จะพัฒนา Application ขนาดใหญ่แบบนี้โดยใชเวลาเพียง 1  สัปดาห์ และในปัจจุบันเสียค่าใช้จ่ายเพียงเดือนละ $65 ซึ่งนอกเหนือจากการที่สามารถจะพัฒนา  Business Application  ได้อย่างรวดเร็วแล้ว ผู้เขียนยังเห็นว่า Force.com น่าจะเป็นโอกาสที่ดีของนักพัฒนาหรือบริษัทซอฟต์แวร์ที่จะนำ Application ที่พัฒนาขึ้น นำไปขายผ่านช่องทางของ AppExchange

การพัฒนาโปรแกรม  Force.com  นักพัฒนาไม่จำเป็นต้องเขียนโปรแกรมแต่จะเป็นการใช้ Point & Click Tool โดยเราสามารถที่จะสร้าง Database, Menu การทำงานต่างๆ สร้าง Workflow รายงาน และ Dashboard ได้ แต่ถ้าต้องการที่จะพัฒนาโปรแกรมเพิ่มเติมเช่นการสร้าง User Interface ก็สามารถทำได้โดยใช้  Visualforce และภาษา Apex ที่จะมีลักษณะคล้ายภาษาจาวา

Image

นอกจากนี้ทาง Salesforce.com ยังเข้าไปซื้อ Heroku ซึ่งเป็น Cloud PaaS ที่สามารถให้นักพัฒนาเขียนโปรแกรมโดยใช้ภาษาต่างๆอาทิเช่น  Ruby, Node.js, Clojure, Java, Python และ Scala ทำให้นักพัฒนาสามารถที่จะ Integrate Web Application กับโปรแกรม Enterprise Application บน Force.com ได้โดยง่าย

Image

นักพัฒนาสามารถที่จะเริ่มต้นศึกษาการพัฒนา  Force.com ได้ที่เว็บไซต์ force.com และมีเอกสารที่สามารถเริ่มต้นศึกษาเขียนโปรแกรม  Force.com  ที่น่าสนใจเช่น

Screenshot 2013-10-15 07.58.46

นอกจากนี้ทาง IMC Institute  ก็จะเปิดอบรมการพัฒนาโปรแกรม Force.com ในวันที่  24-25 ตุลาคมนี่้ โดยผู้สนใจสามารถดูรายละเอียดเพิ่มเติมได้ที่ www.imcinstitute.com/force

Service Oriented Architecture กับ Cloud Computing

ผมจำได้ว่า 4-5 ปีก่อน ผมจะได้รับเชิญไปบรรยายบ่อยๆในเรื่องของ SOA (Service Oriented Architecture) เพราะองค์กรต่างๆเริ่มสนใจที่จะทำ SOA โดยเฉพาะในด้านเทคนิคที่พูดกันในเรื่องของ Web Services และในช่วง 2-3 ปีัที่ผ่านมาคนก็จะเริ่มมาพูดถึง Cloud Computing และ Enterprise Architecture มากขึ้น จนคนกลุ่มหนึ่งคิดว่าเราไม่เน้น SOA กันแล้ว

ถึงแม้ว่าวันนี้เราจะพูดกันเรื่อง  Cloud Computing กันมากขึ้น แต่รากฐานที่แท้จริงของ Cloud Computing ก็อิงมาจาก Service ดังจะเห็นได้ว่าเราจะพูดกันถึงระบบที่เป็น as-a-Service ทั้งหลาย ตั้งแต่  Infrastructure (IaaS), Platform (PaaS), Software (SaaS) หรือ   Business Process (BPaaS) ดังนั้นการพัฒนาหรือการใช้  Cloud Computing ขององค์กร คงจะต้องอิงกับสถาปัตยกรรมไอทีที่เป็นแบบเชิงบริการ  (Service Oriented Architecture)

Image

อีกประเด็นหนึ่งที่สำคัญคือหน่วยงานต่างๆเริ่มสนใจที่มาพูดกันเรื่องของ Enterprise Architecture (EA) มากขึ้น EA เป็นเรืิ่องที่จะถูกขับเคลื่อนมาจากด้านธุรกิจเพื่อเป็นการออกแบบสถาปัตยกรรมต่างๆที่เกี่ยวข้องกับไอที ซึ่งมีทั้ง Business Architecture, Application Architecture, Data Architecture และ Technology Architecture ส่วน SOA จัดว่าเป็นกลุ่มของ IT Architecture ที่สอดคล้องกัน

ดังนั้นการเข้ามาของ Emerging Technologies อย่าง Cloud Computing, Mobile Technology, Social  Technology หรือ Big Data จะยิ่งต้องทำให้องค์กรปรับสถาปัตยกรรมไอทีให้เป็น SOA ยิ่งขึ้น เพราะ Emerging Technology เหล่านี้เป็น Services หรือ Open APIs ที่เราจะต้องออกแบบให้ไอทีขององค์กรไปเชื่อมต่อกับระบบต่างๆที่อาจเป็น Social Technology อย่าง  Facebook, Twitter  ได้

SOA ไม่ใช่เรื่องของเทคโนโลยี การที่จะทำ SOA ในองค์กร เราจะต้องเข้าใจถึงความต้องการด้านธุรกิจขององค์กรที่มีลักษณะที่จะปรับเปลี่ยนไปตลอด (Business Agility) ดังนั้นการออกแบบสถาปัตยกรรมไอทีในองค์กรจึงจำเป็นต้องปรับเปลี่ยนง่ายโดยอิงกับ  Service การเข้าใจ SOA ที่ดีควรจะเริ่มจาก

  • เข้าใจความจำเป็นของการออกแบบ Service
  • เข้าใจความหมายของ Service และ Web Services
  • เข้าใจเรื่องของ SOA Benefit และ ROI
  • เข้าใจถึง SOA Governance
  • เข้าใจเรื่องของ Service Life Cycle
  • เข้าใจเรื่อง  SOA Project

ผมมีเอกสารบางส่วนที่เคยเขียนขึ้น Slideshare  และแนะนำ SOA ในบางเรื่อง จึงอยากเอามาแบ่งปันให้ดู โดยมีหัวข้อต่างๆดังนี้

และมีบทความแนะนำ SOA ที่เคยไว้ซักพักหนึ่งแล้วเรื่อง Introduction to SOA

แต่ที่ตั้งใจไว้ส่วนหนึ่งก็คือจะปรับเอกสารนี้บางส่วนและร่วมกับทาง PwC จัดอบรมหลักสูตร SOA/SOA Governance for Managers/Executives  ในวันที่ 27-28  มีนาคมนี้ โดยเนื้อหาจะพูดให้เข้าใจความหมายของ  SOA การเริ่ม SOA ตัวอย่างกรณีศึกษาต่างๆ และการทำ Workshop  ซึ่งผู้ที่สนใจสามารถจะดูรายละเอียดของ Course ได้ที่ http://tinyurl.com/bx4u2df

การบรรยายและ Presentation ของผมเรื่อง Cloud Computing

ในช่วง 2-3  ปีที่ผ่านมานี่ผมมีโอกาสไปบรรยายด้าน Cloud Computing หลายๆที่และในหลายๆหัวข้อ จริงๆอาจกล่าวได้ว่าในตอนที่ผมอยู่  Software Park ผมพยายามที่จะผลักดันให้อุตสาหกรรมซอฟต์แวร์ไทยตระหนักในเรื่องของ  Cloud Computing และ Mobile Technology อย่างมาก

ผมเองไม่ได้เป็นแค่ค้นหรือรวบรวมเอกสารมาบรรยาย แต่ตัวผมเองอยู่กับ Cloud Technology ทั้งการใช้งานส่วนตัวที่เป็น Personal Cloud และในงานขององค์กร เอกสาร รูปภาพ ไฟล์ต่างๆผมอยู่บน Cloud ทั้งหมด โดยใช้มันตั้งแต่ Dropbox, Picasa, Google Apps, Evernote, Springpad, Salesforce และอย่างอื่นๆอีกมากบน Cloud เรียกกันว่าทุกอย่าง  Sync กันหมดในทุกอุปกรณ์ตั้งแต่  Mac, Galaxy S III, iPad และ Apple TV

นอกจากนี้ผมยังเป็นคนที่พัฒนาโปรแกรมบน Cloud Platform  โดยใช้ PaaS ทั้งที่เป็น Google App Engine, Heroku และวันนี้ก็เล่น  Force.com ในส่วนการพัฒนา Application ผมเองก็ใช้สอนและอบรมในหลักสูตร  Mini Master of Java Technology มาหลายปีและก็เขียนเอกสารและแบบฝึกหัดต่างๆให้ผู้เข้าอบรมได้พัฒนา Application บน Cloud PaaS

อีกด้านก็คือการไปร่วมงานวิจัย การบรรยายทั้งในและต่างประเทศในเรื่อง  Cloud Computing และค้นคว้่าข้อมูลต่างๆที่เกีี่ยวกับ Cloud  จึงทำให้เข้าใจ Cloud Computing ได้ดีขึ้น และก็โอกาสไปแลกเปลี่ยนให้กับที่ต่างๆบ่อยครั้ง

ผมเห็นมีคนมาถามหาเรื่อง Presentation เกี่ยวกับ Cloud Computing ผมเลยเขียน บล็อกนี้ขึ้นมาเพื่อรวบรวมข้อมูลต่างๆที่ผมไปบรรยายมากกว่า 30  ครั้งในเรื่อง  Cloud Computing เผื่อบางท่านจะเก็บไว้อ้างอิง รวมถึงการทำ Workshop เรื่อง  Cloud Computing ของผม โดยมีข้อมูลแบ่งไปตามการบรรยายต่างๆดังนี้

การบรรยายงาน International Seminars

การบรรยายให้กับบริษัทซอฟต์แวร์และ  IT Vendors

การบรรยายให้กับกลุ่มอุตสาหกรรมซอฟต์แวร์

การบรรยายให้กับกลุ่ม SME และผู้ใช้ทั่วไป

วิดีโอการบรรยาย

 เอกสารการสอน

สำหรับเอกสารการพัฒนาโปรแกรม   Cloud Computing บน Google App Engine  ที่ผมมีประกอบด้วย  Slide ประกอยการสอน และแบบฝึกหัดต่างๆดังนี้

นอกจากการบรรยายเรื่อง Cloud Computing และการทำวิจัยแล้ว ผมก็ยังสอนการพัฒนาโปรแกรมบน Cloud Computing อยู่โดยผมจะสอนอยู่สาม  Course คือ

  • Java Web Programming Using Cloud Platform โดย Course นี้จะเน้นการพัฒนาโปรแกรม  Java Web อย่าง Servlet/JSP และก็มีการให้นำ Application ขึ้น Cloud PaaS อย่าง Google App Engine และ Heroku: Course  นี้ให้ทาง IMC Institute เปิดในระหว่างวันที่  18-22 กุมภาพันธ์ 2556
  • Google App Engine for Java Developers อันนี้เป็น Course ที่สอนให้พัฒนาขึ้น Google Cloud  โดยใช้ภาษาจาวา ซึ่งจะเจาะลึกไปถึงการเก็บข้อมูลทั้งการใช้ Big Table และการทำ  Local Database เพื่อเก็บข้อมูลในองค์กรโดยใช้ MySQL  : Course  นี้ให้ทาง IMC Institute เปิดในระหว่างวันที่ 23-24,  31 มีนาคม 2556
  • Force.com Development Quick Start จะเป็นหลักสูตรที่สอนการพัฒนา  Application โดยใช้ Force.com  ที่เป็น PaaS ของ SalesForce การอบรมนี้ตั้งใจจะทำเป็น Training of the month ในเดือนเมษายน 2556 โดยจะเป็น workshop สองวันระหว่างวันที่ 18-19 เมษายน 2556

ดร.ธนชาติ นุ่มมนท์

IMC Institute

บริษัทซอฟต์แวร์ไทยบน Cloud Platform

ผมมีโอกาสในการสอบถามบริษัทซอฟต์แวร์ไทยหลายครั้งเกี่ยวกับการเป็น Cloud Application ที่มี Business Model แบบ SaaS ซึ่งก็จะมักเจอคำถามกลับว่าซอฟต์แวร์ผมเป็น Cloud หรือเป็น Web Application และบ่อยครั้งก็เจอคนที่ทำ Web Application เข้าใจผิดว่าซอฟต์แวร์ของตัวเองในทางเทคนิคเป็น Cloud Application แล้ว

ซึ่งคราวก่อนผมได้เขียนบล็อกเรื่อง การพัฒนาซอฟต์แวร์ขึ้น Cloud Platform โดยใช้ PaaS/IaaS และได้ชี้ให้เห็นว่าความยากของการทำ Cloud Application อยู่ที่ Elastic/ Scalability/ Reliability และ Multi tenancy ในงวดนี้จึงอยากแนะนำซอฟต์แวร์ไทยที่เป็น Cloud Application ที่เด่นๆให้รู้จักกัน

OokBee

เวลานี้ผู้ประกอบการซอฟต์แวร์ที่เด่นสุดรายหนึ่งคงหนีไม่พ้น OokBee ซอฟต์แวร์แพลต์ฟอร์มสำหรับ E-Book ที่มีร้านหนังสือหลายๆรายนำไปใช้เข่น B2S Bookstore หรือ AIS BookStore เป็นต้น แม้ OokBee จะเป็นโปรแกรมอ่านหนังสือที่รันบน iOS และ Android แต่ระบบหลังบ้านที่เป็นหนังสืออยู่บน Server โดยมีผู้ใช้จำนวน 2.5 ล้านคนรันอยู่บน Cloud Platform ของทั้ง Amazon Web Services และ Microsoft Azure จนล่าสุดทาง Microsoft นำไปเป็นกรณีศึกษาทั่วโลก ดังตัวอย่างในวิดีโอคลิปนี้ของทีมี subtitle ภาษาจีน

Builk.com

ซอฟต์แวร์บริหารจัดการงานก่อสร้างฝีมือคนไทยอันนี้ ได้รับรางวัลชนะเลิศการประกวดมากมายทั้งงาน APICTA 2011 และงาน Startup Pitching Echelon 2012 ซอฟต์แวร์รันอยู่บน Cloud Platform ของ Microsoft Azure

iLertU

ซอฟต์แวร์ของบริษัท Arunsawad Dot Com ที่ใช้แจ้งเตือนภัยเหตุการณ์ต่างๆซึ่งสามารถรันอยู่บนอุปกรณ์ Smartphone หรือ Tablet ในหลายๆ Platform ก็มีหลังบ้านที่จะต้องติดต่อกับผู้ใช้จำนวนมาก ซึ่งผู้พัฒนาก็ได้ย้ายแอพพลิเคชันขึ้นไปทำงานบน Windows Azure และมีลูกค้าจริงใช้งานอยู่จำนวนมากในปัจจุบัน ซอฟต์แวร์ตัวนี้ได้รับรางวัลชนะเลิศ APICTA 2012 และรางวัลประกวดอื่นๆอีกมาก นอกจากนี้ทาง Arunsawad Dot Com ยังมี application ที่รันบน Cloud ของ Microsoft Azure ก็คือ @2claim สำหรับบริษัทประกันภัย

ECartStudio

ซอฟต์แวร์ระบบ Location-Based Information เป็นซอฟต์แวร์อีกรายหนึ่งที่มีหลังบ้านทำงานอยู่บน Platform ของ Microsoft Azure ซึ่งซอฟต์แวร์นี้ได้รับรางวัลชนะเลิศจากการประกวด APICTA 2012 และมีผู้ใช้เป็นจำนวนมาก

Screen Shot 2556-02-02 at 11.40.59 AM

eFlowSys

เป็นซอฟต์แวร์ระบบ ERP ที่รันอยู่บน Windows Azure โดยให้บริการในธุรกิจหลากหลายทั้ง ธุรกิจยานยนต์ ธุรกิจไอที ธุรกิจแฟชั่น ธุรกิจขายส่ง และธุรกิจ โดยคิดค่าบริการเป็นรายเดือนโดยมีราคาเริ่มต้นที่ 3,550 บาท/เดือน ซอฟต์แวร์นี้ก็เคยได้รับรางวัลหลายๆรางวัลทั้งจาก Intel และ SIPA

Screen Shot 2556-02-02 at 12.06.57 PM

Absolute |Solutions|

เป็นซอฟต์แวร์บริหารระบบ ERP ที่ทำงานอยู่บน Cloud Platform ของ Amazon Web Services โดยมีระบบหลากหลายทั้ง ระบบคลังสินค้า ระบบค้าปลีก ระบบค้าส่ง ระบบจัดซื้อ ระบบการเงิน ซอฟต์แวร์ตัวนี้เคยได้รับรางวัลของ True IDC และมีวิดีโอแนะนำตามนี้

OfficeAbility

โปรแกรมบริหารจัดการภายในสำนักงานที่ทำงานบน Cloud Platform ของ Amazon EC2 ซึ่งสามารถขายในต่างประเทศตัวนี้ พัฒนาโดยบริษัทของคนไทยชื่อ Mai Thai Enterprise ที่ตั้งอยู่ที่จังหวัดเชียงใหม่ เป็นโปรแกรมที่กำหนดราคาแบบ SaaS โดยแปรผันไปตามจำนวน Users และขนาดของ Storage ที่จะใช้ในแต่ละเดือน โดยราคาเริ่มต้นที่ $69 สำหรับสำนักงานที่มีผู้ใช้น้อยกว่า 30 คน และต้องการพื้นที่ Storage ไม่เกิน 4 GB

Screen Shot 2556-02-02 at 2.23.35 PM

BentoWeb

เป็นซอฟต์แวร์ e-commerce สำหรับให้ผู้ใช้สามารถเปิดร้านค้าบน Facebook ได้ โดยโปรแกรมนี้ทำงานอยู่บนระบบของ  Microsoft Azure  ซึ่งเป็นอีกตัวอย่างของธุรกิจสตาร์ทอัพรุ่นใหม่ผู้ประสบความสำเร็จในการนำ Cloud Platform มาใช้งาน

Screen Shot 2556-02-05 at 12.29.46 PM

Computerlogy

เป็นอีกบริษัทหนึ่งที่ทำ Web Application และทางไมโครซอฟต์ระบุว่ามีการนำ Cloud Platform ของ Microsoft Azure มาใช้ในการทำ Application

การพัฒนาซอฟต์แวร์ขึ้น Cloud Platform โดยใช้ PaaS/IaaS

กระแสของ Cloud Computing  กำลังมาแรงมาก และทำให้บริษัทซอฟต์แวร์ต้องเริ่มปรับรูปแบบของซอฟต์แวร์ตัวเองจาก Product เป็น Service และเริ่มที่จะให้บริการเป็นแบบ  SaaS (Software as a Service) แต่จริงๆแล้ว SaaS เป็นเพียง Business Model ของ Cloud Computing แต่ในแง่ทางด้านเทคนิคการพัฒนาซอฟต์แวร์ให้เป็น Cloud Application ไม่ใช่เป็นแค่การทำซอฟต์แวร์ตัวเองให้เป็น Web Application แล้วก็คิดค่าใช้จ่ายแบบ SaaS

ในทางเทคนิคการพัฒนาซอฟต์แวร์ขึ้น Cloud Platform จะมีจุดที่ต้องพิจารณาหลายด้านอาทิเช่น

  • Reliability ระบบ  Server  จะต้องมีความน่าเชื่อถือ สามารถรองรับ  SLA ทีเหมาะสมได้ ดังนั้นการทำ   Web Application โดยไม่คำนึงถึง  Hosting  ที่เหมาะสม ไม่ใช่การทำ Cloud App ที่ถูกต้อง
  • Redundancy ระบบ Cloud จะต้องระบบสำรองที่ดี (DR Site)  ซึ่งโดยมากมักจะเป็นระบบที่ให้บริการและติดตั้งบน Data Center ขนาดใหญ่
  • Elastic ระบบ  Cloud Server จะต้องมีความยืดหยุ่น กล่าวคือเมื่อมีผู้ใช้มากระบบก็จะมีทรัพยากรเพียงพอ และสามารถที่จะทำ Virtualization และ Multi-Tenancy ได้
  • Scalability : ประเด็นนี้จะเป็นเรื่องยากที่สุด เพราะการทำ  Web Server หรือ Hosting เอง จะไม่สามารถรองรับผู้ใช้จำนวนมากได้ ลองคิดดูว่าถ้าผู้พัฒนาซอฟต์แวร์เปลี่ยนรูปแบบการคิดราคาเป็นแบบ SaaS แล้วมีผู้ใช้เข้ามาใช้จำนวนมาก แต่การออกระบบไม่ได้รองรับไว้ก็จะทำให้ระบบล่มได้

ดังนั้นการพัฒนาซอฟต์แวร์ขึ้น Cloud Platform  ที่ดี จะต้องไปใช้บริการของ Cloud Provider ที่เป็น IaaS (Infrastructure as a Service) หรือ PaaS (Platform as a Service) อย่างเช่น Amazon EC2, Microsoft Azure, Google App Engine, Heroku, OpenShift, Force.com  หรืออาจใช้ผู้บริการในประเทศอย่าง True IDC เป็นต้น

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

  • การพัฒนาซอฟต์แวร์โดยใช้ IaaS  ผู้พัฒนาจะต้องบริหารจัดการหลายๆอย่างเองหมด อาทิเช่น การติดตั้ง  Web Server  และ Database Server, การทำ Load Balance, การบริหารจัดการ  VMware  หรือ DBMS และ การพัฒนา Application ดังรูป 
การพัฒนา Cloud App โดยใช้ IaaS (Source: Comparing IAAS and PAAS: A Developer’s Perspective by Wely Lau)
  •  การพัฒนาบน PaaS นักพัฒนาซอฟต์แวร์จะสามารถที่จะมุ่งเป้าไปที่การพัฒนาและติดตั้ง Application ได้อย่างเดียว โดยการทำงานและบริหารระบบอื่นๆทาง  Cloud Provider  จะเป็นผู้ดำเนินการให้ดังรูป
การพัฒนา App โดยใช้ PaaS (Source: Comparing IAAS and PAAS: A Developer’s Perspective by Wely Lau)

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

สำหรับนักพัฒนาซอฟต์แวร์ที่สนใจการพัฒนา  Cloud Application ก็สามารถที่จะเลือก Platform  ต่างๆได้ดังนี้

  • Amazon Web Services (AWS) : เป็น  IaaS ที่น่าสนใจเพราะผู้พัฒนาสามารถที่จะติดตั้ง Middleware  ต่างๆได้ และทดลองใช้งานได้ฟรี จึงเหมาะกับนักพัฒนาที่ใช้ภาษาต่างๆเช่น PHP, Java, Python ที่ต้องการความคล่องตัว
  • Microsoft Azure: เป็นทั้ง IaaS และ PaaS จึงทำให้นักพัฒนาสามารถที่จะพัฒนาโปรแกรมทั้งภาษาที่เป็นของ Microsoft หรือภาษาอื่นๆเช่น PHP หรือ Java ก็้ได้  แต่อยากจะแนะนำให้พัฒนาด้วย .NET และใช้  Tool อย่าง Visual Studio จะง่ายกว่า (ซึ่งถ้าสนใจศึกษาเพิ่มเติม ทาง IMC Institute ได้เปิด Course  อบรม  Windows Azure for .NET Quick Start)
  • Google App Engine: เป็น PaaS  ที่ทำงานบน  Infrastructure ของ Google ที่นักพัฒนาสามารถเลือกใช้ภาษาอย่าง  Java หรือ Python มาพัฒนาได้  โดยสามารถจะเลือกใช้ฐานข้อมูลที่เป็น BigTable ของ Google หรือ MySQL หรือแม้แต่จะเชื่อมต่อกับ Database ของตัวเองก็ได้  (ซึ่งถ้าสนใจศึกษาเพิ่มเติม ทาง IMC Institute ได้เปิด  Slideshare ให้ Download เอกสารการบรรยายและแบบฝึกหัดภาษาไทยให้ทดลองทำ และยังมี Course  อบรม Google App Engine for Java Developers )
  • OpenShift: เป็น  PaaS ของ RedHat ที่นักพัฒนาสามารถจะเลือกพัฒนา Application โดยใช้ภาษาอย่าง Java, Ruby, Node.JS,  Python, PHP และ Perl   โดยรันบน  JBoss Server ซึ่งเมื่อ 2012   OpenShift ได้รับเลือกเป็น PaaS ที่ดีที่สุด
  • Heroku: เป็น  PaaS อีกอันหนึ่งที่สามารถใช้ภาษาที่หลากหลายในการพัฒนาได้อาทิเช่น  Ruby, Node.js, Clojure, Java, Python, and Scala ซึ่ง Cloud Platform นี้ได้ถูกซื้อไปโดย Salesforce  (ซึ่งถ้าสนใจศึกษาเพิ่มเติม ทาง IMC Institute ได้เปิด Course  อบรมการพัฒนา Java Web Application เป็นมีตัวอย่างการพัฒนา App ขึ้น Heroku ใน course Java Web Programming  Using Cloud Platform)
  • Force.com : เป็น PaaS รายแรก ที่ใช้  Platform ของ SalesForce  เหมาะสำหรับนักพัฒนาที่ต้องการพัฒนาระบบ CRM หรือ ERP อย่างรวดซึ่งผู้พัฒนาสามารถนำ  App  ที่พัฒนาขึ้นไปขายใน AppExchange ของ SalesForce ได้ (ทาง IMC Institute จะเปิดการอบรม Training of The Month ในเดือนเมษายน เพื่อให้ผู้สนใจการพัฒนา Force.com เป็นพิเศษ)

ดร.ธนชาติ นุ่มนนท์

www.imcinstitute.com

www.facebook.com/imcinstitute