การกำหนดข้อตกลงระดับการให้บริการ (SLA) ของ Cloud Computing

Cloud Computing เริ่มเป็นที่ยอมรับของผู้ใช้มากขึ้น แต่ผู้ใช้ก็ยังมีความเป็นห่วงเรื่องความปลอดภัยของข้อมูล มาตรฐาน และความน่าเชื่อถือของผู้ให้บริการ Cloud ซึ่งโดยมากก็จะมีข้อแนะนำว่าขึ้นอยู่กับข้อตกลงระดับการให้บริการ (SLA: Service Level Agreement) ที่จะต้องนำมาพิจารณา แต่เราก็มักจะมีคำถามว่าแล้วจะเขียน SLA ของ  Cloud Computing อย่างไร

วันนี้เลยจะขอแนะนำการกำหนด SLA โดยใช้ Cloud Assessment Tool (CAT) ของ  Asia Cloud Computing Association ซึ่งสามารถเข้าไปดูได้ที่ https://accacat.herokuapp.com/ โดย Assessment Tool จะเป็นการกำหนดข้อกำหนดในมาตรฐานของ  Cloud Computing ให้ผู้ที่ต้องการใช้ Cloud หรือผู้ให้บริการ Cloud เลือกของกำหนดในแปดกลุ่มคือ

Image

  • Security  ที่จะพิจารณาด้าน สิทธิส่วนบุคคล ความปลอดภัยของข้อมูล และกฎระเบียบ
  • Life Cycle ที่จะพิจารณาด้านการให้บริการกับลูกค้่าในระยะยาวที่มีผลกระทบกับธุรกิจ
  • Performance ที่จะพิจารณาด้านลักษณะการทำงานของ application softwareที่ติดตั้ง
  • Access ที่จะพิจารณาด้านระบบการเชื่อมต่อระหว่างผู้ใช้และผู้ให้บริการ Cloud
  • DC  Basic ที่จะพิจารณาด้านโครงสร้างของระบบ
  • Certification ที่จะพิจารณาด้านมาตรฐานการประกันคุณภาพาำหรับลูกค้า
  • Support ที่จะพิจารณาด้านการติดตั้ง  Application และการบำรุงรักษา
  • Interoperability ที่จะพิจารณาด้านการเชื่อมต่อระหว่าง Cloud hypervisor กับ applications

โดยในแต่ละกลุ่มจะมีหัวข้อย่อยๆเพื่อให้เราสามารถเลือกระดับ (Level) ต่างๆในการกำหนดการให้บริการได้ โดยจะมี 4 Level แต่ในบางกรณีก็อาจไม่มีให้เลือกเลย

เพื่อให้ภาพการเขียนข้อกำหนด SLA ผมจะอธิบายการใช้งาน CAT โดยจะเข้าไปที่เว็บไซต์ดังกล่าว และจะสาธิตในฐานะ Prospective Cloud User

Image

โดยผมจะกำหนดชื่อเป็น CRM Service และจะตั้งข้อกำหนดในกลุ่ม  Security, Life Cycle, Performance, Access, Certification  และ Support ดังรูป

Image

เมื่อผมกด  Next Step เมนูจะแสดงข้อกำหนดย่อยในกลุ่ม Security ให้ผมเลือก ซึ่งในที่นี้ผมไม่จำเป็นที่จะต้องเลือกทุกข้อ โดยพิจารณาเลือกเฉพาะข้อกำหนดที่ผมต้องการ ซึ่งในที่นี้ผมเลือกข้อกำหนดด้าน Authenthication, User Account Logging, Protection, Data Removal และ Location Awareness ดังรูป

Image

โดยเราจะเห็นข้อความที่เป็นข้อกำหนดที่ทาง CAT แสดงมาให้ด้านล่างดังรูป

Image

ซึ่งเมื่อกด  Next Step ระบบก็จะให้เรากำหนดมาตรฐานในกลุ่ม Life Cycle ซึ่งผมเลือกข้อกำหนดต่างๆดังรูป

Image

จากนั้นก็จะเป็นข้อกำหนดในกลุ่ม Performance  ซึ่งผมเลือกข้อกำหนดต่างๆดังรูป

Image

จากนั้นก็จะเป็นข้อกำหนดในกลุ่ม Access  ซึ่งผมเลือกข้อกำหนดต่างๆดังรูป

Image

จากนั้นก็จะเป็นข้อกำหนดในกลุ่ม Certification  ซึ่งผมเลือกข้อกำหนดต่างๆดังรูป

Image

จากนั้นก็จะเป็นข้อกำหนดในกลุ่ม Support  ซึ่งผมเลือกข้อกำหนดต่างๆดังรูป

Image

ซึ่งเมื่อเราเลือกข้อกำหนดตามที่ต้องการแล้ว CAT ก็จะสรุปแล้วให้เราเลือกที่จะดูหรือส่งของกำหนดมายัง e-mail ของเราดังรูป

Image

ซึ่งเราก็จะได้ต้นแบบของ SLA เพื่อนำมาใช้เป็นข้อกำหนดที่สมบูรณ์ต่อไป ตัวอย่างของข้อกำหนดที่เหลือมาในกรณีนี้ก็จะเป็นดังนี้

Security: Privacy, information security, regulatory

Authentication: Level 1: Standard methods to authenticate the portal as well as the API access by a user.

User Account Logging: Added capability of logging management activities on requested resources and other actions.

Protection: Assurance that software, computing results, data and etc., cannot be accessed or infringed upon by other users. This includes inter-virtual machine attack prevention, storage block level isolation and hypervisor compromise protection.

Data Removal: In case a user requests his software or data to be deleted, all data/software stored in the cloud must be entirely and irretrievably removed. This requires that the appropriate techniques be employed to locate the data and all its backups, encrypted or otherwise, and to completely erase all of them into an unrecoverable state.

Location Awareness: The user receives an indication of where his data is being stored and processed. User can specify where software and data have to be stored, run and processed. Provisions are in place to ensure all data and backups are stored only in these locations agreed by contract or the service level agreement.

Life Cycle: Long-term support impacting customer business processes 

Dev. Roadmap: Ensure that the service provider has a planned way forward (process) to evolve available features and introduce new capabilities. For L2 to L4 a well-defined approach comparable to “Capability Maturity Model” is needed, e.g. L2 is CMM L2, L3 is CMM L3 and L4 is CMM L4.

Service Management: In general terms cloud services are IT services remotely offered to the customer. There are well defined and well structured methods available to determine how services are expected to be managed in an enterprise environment. One should expect the same structured approach to IT service offerings from a service provider as would be expected from an in-house IT organization. Cost, effort and rigidness increase with the ITIL level and present a natural way for mapping it into the CAT framework levels.

Reporting: L2: In addition to L1 requirements an on- line information dashboard should be made available to the user, showing the list of essential Cloud services currently being deployed and utilized. It may include real-time update of information on status of VMs, Storage usage, Storage Buckets, Data transfer and others.

Portal: “Self Service” is the cloud Web portal feature that enables customers to perform most of the essential services themselves. This includes provisioning resource, managing resources such as controlling VM status (reboot, shutdown, restart, etc.), viewing various subscribed services, downloading essential support documents (e.g. user guides and FAQ list, etc.).

Billing: L3: Service provider keeps a history of the customer’s use of chargeable resources and services.

Performance: Runtime behavior of deployed application software

Availability %: Refers to the length of time the service is offering without interruption (outside defined maintenance windows). L1: 99.95% represents standard IT hardware and software runtime uptime.

Elasticity: Addresses the how fast a deployed application can increase its performance response with increasing service requests.

Redundancy: Redundancy architectures frequently rely on a well-defined set of software components to preserve states and transactions.

Access: Connectivity between the end user and cloud service provider

Access: This parameter measures the type of access. L1: Access through public Internet.

Availability: Indicates the “guaranteed” level of uptime of the network access.

Scalability: Capability to increase and decrease user’s access bandwidth based on actual capacity demand.

Certification: Degree of quality assurance to the customer

ISO 9000: A series of standards, developed and published by the International Organization for Standardization that define, establish, and maintain an effective quality assurance system for manufacturing and service industries.

ISO 27001/2: The objective of this pair of standards is to “provide a model for establishing, implementing, operating, monitoring, reviewing, maintaining, and improving an Information Security Management System”.

Vendor Cert.: Validates the integrity of commercial software products. It indicates the competence and ability of the provider to operate or offer any third party SW.

Support: Deployment and maintenance of applications

Customer Support: Methods and capabilities available for how a user can interact with the service provider.

Service Responsiveness: Time it takes for the service provider to respond to calls or customer inquiries.

Incident Response Time (Pri1): Maximum time it takes for service provider to react and act on Priority 1 incidents (an event where a service/application is not working or accessible). L1: 30 minutes

ตัวอย่างการใช้ Cloud Computing จริงๆ

วันนี้ผมได้รับเชิญจากงาน Thailand Online Expo เพื่อไปบรรยายเรื่อง Cloud Computing ในหัวข้อเรื่อง “Cloud เทคโนโลยีที่ช่วยลดต้นทุน เพิ่มประสิทธิภาพองค์กรให้แข่งขันได้จริงหรือ?” ซึ่งก็เป็นอีกครั้งหนึ่งที่ผมมาบรรยายให้กับกลุ่มผู้ใช้ไอทีในเรื่อง  Cloud Computing ซึ่งผมมีโอกาสบรรยายให้หลายๆครั้งกับกลุ่มของ  SME ที่อาจโดย สสว. SIPA และ  Software Park   สำหรับ Slide  บรรยายของผมสามารถดูได้จาก Slideshare ที่ => การประยุกต์ใช้  Cloud Computing สำหรับองค์กร

หลายๆคนชอบมาถามผมว่า Cloud Computing มันใช้ได้จริงหรอ มันคุ้มหรอ มันไม่เสี่ยงหรอ สารพัดคำถามที่เจอด้วยความไม่แน่ใจ ผมก็มักจะตอบกลับไปว่าคุณก็ใช้อยู่ทุกวัน ถ้าคุณใช้ Facebook, Gmail, Dropbox หรือ Google Calendar  พวกนั้นก็คือแอปพลิเคชั่นบน  Cloud  ที่ทำให้คุณสามารถเข้าถึงข้อมูล ทุกที่ ทุกเวลา และทุกอุปกรณ์ เพียงแต่  Public Cloud ที่คุณใช้อยู่เป็น Free Cloud  ที่คุณใช้แบบเริ่มต้น และสิ่งที่ผู้ใช้คิดคล้ายๆกันแล้วทำให้เลือกใช้ก็คือ Application  เหล่านี้ทำให้ข้อมูลตามคุณไปไม่ได้ยึดติดอยู่กับอุปกรณ์ และระบบมีความเสถียร เพียงแต่ว่า Free Cloud  เหล่านี้อาจมีข้อจำกัดในการใช้งานเช่น Dropbox อาจให้พื้นที่คุณเพียง  2-5 Gb แต่ถ้าคุณต้องการพื้นที่มากกว่านั้นคุณก็ต้องจ่ายตามการใช้งาน

ผมก็เป็นผู้ใช้  Cloud Computing  ทั้งสามแบบครับ คือทั้ง IaaS, PaaS และ SaaS มีทั้งส่วนที่เป็น Free Cloud   และ  Commercial Cloud และมีการนำมาใช้ใน IMC Institute นับตั้งแต่่วันแรกที่เราเริ่มทำงาน โดยเรามีการนำ Cloud Computing  มาใช้งานหลายๆส่วนดังนี้

การทำเว็บไซต์

เมื่อต้องทำเว็บไซต์ขององค์กร (www.imcinstitute.com) เราก็มีคำถามว่าเราจะทำเองหรือ Outsource แต่เนื่องจากเราต้องการที่จะอัพเดทเว็บไซต์บ่อยๆเราจึงเลือกที่จะทำเองโดยใช้ Joomla แต่ปัญหาก็คือว่าเราจะหาเครื่อง  Server จากไหน จะติดตั้งเองหรือไม่ สุดท้ายเรามาคิดกันว่าน่าที่จะใช้บริการ Web Hosting ที่เป็น Cloud ที่ให้บริการแบบ PaaS เราก็เลยเลือกใช้  Hostmonster  ที่มีเว็บไซต์โอสต์อยู่เป็นล้านไซต์ และก็ใช้ Cloud Infrastructure ที่มีความเสถียร และสามารถจะเลือก install โมดูลต่างๆได้รวดเร็ว แต่บางครั้งเราอาจจะยังแยกยากระหว่าง  Web Hosting  กับ Cloud Infrastructure ทำให้หลายๆคนเข้าใจไปว่า Web Hosting ทุกแห่งคือ  Cloud Service

Image

ระบบอีเมล์

ในแง่ของอีเมล์ค่อนข้างจะตัดสินใจง่าย เพราะยังไงเสียระบบอีเมล์ในปัจจุบันก็ต้องใช้ Cloud SaaS ซึ่งทางเราเลือกใช้บริการ  Google Apps for Business ที่มีทั้งระบบเมล์ Calendar การทำเอกสารร่วมกันผ่าน Google Docs ทำให้สะดวกต่อการทำงานแบบร่วมกัน และสามารถเข้าถึงระบบได้ตลอดเวลา จากทุกที่ และทุกอุปกรณ์ โดยมีค่าใช้จ่ายตามจำนวนผู้ใช้งาน และองค์กรก็ไม่ต้องเสียเวลามาบริหารระบบไอทีเอง

Image

ระบบบริหารงานลูกค้า

เราจำเป็นที่จะต้องพัฒนา Application ระบบ  CRM  ของลูกค้า โดยเฉพาะระบบบริหารงานการฝึกอบรม ในตอนแรกก็ลังเลว่าจะใช้  Salesforce ที่เป็น  SaaS Cloud  ซึ่งมีค่าใช้จ่ายประมาณ  $25/ผู้ใช้/เดือน  หรือไม่ แต่เมื่อมาดูระบบ CRM ของ Salesforce แล้วคิดว่าเหมาะกับงานขายทั่วไปมากกว่า เราจึงเลือกใช้ Force.com ซึ่งเป็น PaaS Cloud  ที่เป็น Salesforce Engine มาพัฒนาโปรแกรมเอง โดยมีค่าใช้จ่ายต่อเดือนใก้ลเคียง แต่เราสามารถที่จะปรับปรุง  Application  ขององค์กรได้ ซึ่งเราใช้เวลาเพียงหนึ่งสัปดาห์ในการพัฒนาระบบ CRM ใหม่ขึ้นมาเนื่องจาก Force.com มีโมดูลต่างๆที่ดีอยู่แล้ว ทำให้เราได้  Application ที่สามารถบริหารการฝึกอบรมได้อย่างรวดเร็ว โดยเรามีฐานข้อมูลของลูกค้าหลายหมื่นราย

Image

การแชร์ไฟล์ภายใน

องค์กรจำเป็นต้องมีแชร์  storage ที่สามารถจะ  sync ได้ทุกอุปกรณ์ ในที่นี้องค์กรเลือกที่จะใช้  Dropbox  ที่เป็น SaaS Cloud ในการแชร์เอกสารต่างๆ และพยายามลดการส่ง ไฟล์ขนาดใหญ่ทางอีเมล์ Dropbox ที่เป็น Free Edition จะมีข้อจำกัดอยู่ที่การให้พื้นที่เพียง  2 Gb หน่วยงานที่ต้องการพื้นที่มากๆอาจต้องพิจารณาเลือกใช้ Dropbox Pro หรือ Dropbox for Business ซึ่งมีค่าใช้จ่ายพอสมควร

Image

การแชร์เอกสารภายนอก

IMC Institute  มีเอกสารที่เป็น  slide และเอกสารทั่วไปที่จะแชร์ให้กับบุคคลภายนอก ในกรณีนี้ทางเราเลือกที่จะใช้ Slideshare โดยในปัจจุบันเราจะ Upload เอกสารต่างๆขึ้น Slideshare ที่จัดว่าเป็น SaaS แบบหนึ่ง โดยทางเราเลือกใช้เวอร์ชั่น Pro เพื่อที่จะทราบข้อมูลของผู้ที่ download  slide เราไปด้วย นอกจากนี้ก็การแชร์เอกสารผ่าน  Google Docs โดยเฉพาะเอกสารการฝึกอบรมต่างๆ

Image

การพัฒนา Applications

ทาง IMC Institute  มีการพัฒนา Application เพื่อวิเคราะห์ Big Data ที่อยู่บน Social Media เช่น Facebook Analytic  ในกรณีนี้ทางเราไม่ได้จัดหา Server  เองเพราะต้องใช้  Server  ขนาดใหญ่เราจึงเลือกใช้ IaaS และ PaaS Cloud

ในส่วนของ IaaS การพัฒนา Big Data  เราเลือกใช้  Cloud ของ Amazon  ทั้ง Amazon EC2, S3 และ Elastic Map Reduce ส่วนในกรณี  PasS ที่ใช้พัฒนา Java Application  เราเลือกใช้บริการของ Heroku

Image

ที่กล่าวมาทั้งหมดนี้ก็เพียงให้ทุกท่านเห็นภาพว่าเราสามารถใช้  Cloud Computing ได้จริง โดยไม่ต้องลงทุนในการจัดหาระบบมากนัก และเสียค่าใช้จ่ายตามการใช้งานจริงเป็นรายเดือน

ฺ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