Windows Azure ตอนที่ 3 การติดตั้ง Drupal บน Windows Azure Web Sites

ในตอนที่ 3 นี้ เราจะมาพูดถึงการติดตั้ง Drupal บน Windows Azure Web Sites กัน โดยต้องย้อนกลับไปสักหน่อยว่า Windows Azure Web Sites เป็นบริการแพลตฟอร์ม (PaaS) สำหรับให้เรานำเว็บไซต์ที่พัฒนาขึ้นมาไปไว้บนบริการประมวลผลแบบกลุ่มเมฆ ซึ่งจะมีระบบฐานข้อมูล พื้นที่ และระบบเครือข่ายที่ถูกติดตั้งไว้รองรับการใช้งานไว้พร้อม เรามีหน้าที่เพียงนำระบบที่พัฒนาและฐานข้อมูล ขึ้นไปติดตั้งและใช้งานได้ทันที

โดยสำหรับ Drupal นั้นสามารถติดตั้งและใช้งาน Windows Azure Web Sites ได้ทันทีโดยไม่ต้องปรับแต่งตัวโค้ดพื้นฐานใดๆ ซึ่งใน Windows Azure Web Sites นั้นได้รองรับ PHP ทั้ง versions ที่ 5.3 และ 5.4 ผ่าน PHP/FastCGI บน Internet Information Services (IIS) ใน Windows Server

สำหรับในการติดตั้งขึ้นบน Windows Azure Web Sites นั้น สามารถติดตั้งและนำระบบขึ้นได้ผ่านทาง FTP, FTPS, WebMatrix และ Git โดยจะทำการบันทึกตัวเว็บไซต์ของเราไว้ใน File System Storage ของตัว Windows Server ที่เรากำลังใช้งานอินสแตนซ์ตัวนั้นอยู่ โดยจำกัดพื้นที่ 1GB สำหรับแบบฟรีหรือแบบแชร์การใช้งาน (Free/Shared instance) ส่วนสำหรับอินสแตนซ์แบบจองโหลดการใช้งาน (Reserved instance) จะได้พื้นที่ถึง 10GB โดยถ้าต้องการใช้งานมากกว่านี้ทาง Microsoft แนะนำให้ใช้งานผ่าน Windows Azure Storage แบบ “บลอบ” (Blob, Binary Large Object) ซึ่งจะรองรับพื้นที่ให้บริการถึง 100TB ต่อ 1 บัญชีพื้นที่ข้อมูล

สำหรับการใช้งานฐานข้อมูลนั้นมีตัวเลือกในการใช้งานฐานข้อมูลอยู่ 2 แบบคือ ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) และระบบฐานข้อมูลที่ไม่ใช่ภาษาสอบถามเชิงโครงสร้าง (NoSQL) โดยใน Drupal จะใช้ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่ชื่อ MySQL ซึ่ง Microsoft มีพันธมิตรที่ชื่อ ClearDB เพื่อให้บริการรองรับกับ MySQL ในชื่อของ ClearDB MySQL database cluster โดยระบบการจัดการฐานข้อมูลเชิงสัมพันธ์นี้จะทำงานบนระบบประมวลผลกลุ่มเมฆทั้งหมด

เรามาดูกันว่า การติดตั้ง Drupal เพื่อใช้งานบน Windows Azure Web Sites ทำกันอย่างไร

1. ทำการ Login เข้า Windows Azure Portal เสียก่อน โดยจะพบกับหน้า all items

1

2. เลือกที่ตัวเลือก WEB SITES ด้านซ้ายเพื่อดูรายการ web sites ที่มีอยู่ในระบบ Windows Azure ของเรา สำหรับการสร้างเว็บไซต์เพิ่มขึ้นใน Windows Azure ให้เลือกที่ NEW มุมซ้ายล่างของ Windows Azure Portal

2

3. จะมีตัวเลือกในการสร้างขึ้นมา ให้เลือก COMPUTE ตามด้วย WEB SITE และแนะนำให้เลือก CUSTOM CREATE

3

4. จะเปิดหน้าต่าง Create Web Site ขึ้นมา ในแต่ละช่องมีความหมายดังต่อไปนี้

URL ให้เลือก sub domain ที่จะใช้งานภายใต้ชื่อ .azurewebsites.net

SUBSCRIPTION เลือกบัญชีสำหรับใช้ในการคิดค่าใช้จ่ายของระบบ

REGION ระบุว่าจะให้ตัวไฟล์ที่เราพัฒานั้นไปอยู่ในพื้นที่ใดของศูณย์ข้อมูลของ Azure สำหรับประเทศไทย ใกล้ที่สุดคือ East Asia ซึ่งอยู่ที่ฮองกง

DATABASE เป็นตัวเลือกที่ระบุว่าจะมีการใช้ฐานข้อมูลหรือไม่ โดย Drupal ที่เราติดตั้งลงไปนั้นใช้ MySQL เราจึงเลือก Create a new MySQL database

DB CONNECTION STRING NAME ใช้ค่าเริ่มต้นคือ DefaultConnection

Publish form source control เป็นสำหรับใช้ในการดึงชุดคำสั่งโปรแกรมมาจาก source code control อย่าง SVN หรือ GIT มาติดตั้งและใช้ในการส่งชุดคำสั่งขึ้นไปในระบบ Windows Azure Web Site แทนการใช้ FTP ได้อีกทางหนึ่งด้วย

เมื่อกรอกข้อมูลทั้งหมดครบแล้วเลือกลูกศรไปด้านขวา เพื่อทำการตั้งค่าอื่นๆ ต่อไป

4

5. มาถึงขั้นตอนการสร้างฐานข้อมูล MySQL กัน ขอย้อนกลับไปนิดนึงว่า Microsoft นั้นมีพันธมิตรที่ชื่อ ClearDB เพื่อให้บริการรองรับกับ MySQL ในชื่อของ ClearDB MySQL database cluster เพราะฉะนั้นการตั้งค่าตรงนี้ในตัว Windows Azure Portal จะไปทำการสร้างให้ถึง ClearDB โดยเราไม่ต้องเข้าไปสร้างเองแต่อย่างใด

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

เมื่อตั้งค่าทั้งสองจบให้ติ๊กที่ “I agree …” เพื่อยอมรับข้อตกลงของ ClearDB แล้วคลิ้กที่เครื่องหมายถูก เพื่อทำการสร้างเว็บไซต์หนึ่งเว็บบน Windows Azure Web Sites

5

6. รอสถานะของการสร้างตัว web sites เพียงสักครู่หนึ่ง ก็จะมีรายชื่อของตัวเว็บไซต์ที่เราสร้างไว้ตั้งแต่ด้านบนเพิ่มขึ้นมาใน Windows Azure Portal ของเรา

เมื่อทุกอย่างสำเร็จให้เลือกที่ชื่อเว็บไซต์ที่เราได้สร้างขึ้นมาเพื่อเข้าไป dashboard ของเว็บไซต์ของเราใน Windows Azure Web Sites

6

7. ในหน้า dashboard จะเป็นส่วนหลักและสรุปว่ามีการทำงานอะไรบ้างเช่น CPU TIME, DATA IN/OUT, ERRORS และ REQUEST เพื่อใช้ในการปรับปรุงหรือใช้ตัดสินใจขยายระบบเมื่อมีการใช้งานหนักๆ ได้อย่างทันที โดยรองรับการรายงานเป็นแบบช่วงเวลาต่างๆ กันไป

7

8. สำหรับในส่วนอื่นๆ ในหน้า dashboard ก็มีส่วน

endpoint สำหรับเปิด-ปิด-ตั้งค่า การตรวจสอบการทำงานของตัวเว็บไซต์

autoscale status สำหรับใช้ในการขยายระบบได้อัตโนมัติเมื่อมีการใช้งานหนักๆ ได้ทันทีโดยไม่ต้องให้นักพัฒนาหรือผู้ดูแลมาปรับขยายด้วยตัวเอง

usage overview เป็นส่วนแสดงการใช้งานระบบต่างๆ ว่ามีโควต้าและการใช้งานไปเท่าไหร่แล้ว

linked resources เป็นส่วนที่แสดงการเชื่อมต่อกับระบบภายนอก ซึ่งในตัวอย่างจะเป็นว่าเราได้เชื่อมต่อกับ ClearDB ที่เป็น MySQL database ซึ่งเมื่อมีการแก้ไข หรือลบตัวเว็บไซต์นี้ออกจาก Windows Azure Web Sites ตัว linked resources เหล่านี้จะถูกแก้ไข-ลบเช่นกัน

quick glance เป็นส่วนของการให้ข้อมูลสถานะ ค่าสำหรับเข้าใช้งาน การตั้งค่าหรือโหลดตัวช่วยในการส่งไฟล์ต่างๆ เข้าไปในตัวระบบ

8

9. โดยเริ่มต้นแล้วนั้น Windows Azure WEeb Sites จะตั้งค่า username และ password สำหรับการใช้ FTP/FTPS ไว้ให้เราแล้ว แต่แน่นอนว่าถ้าใช้ publish profile ของ Windows Azure ซึ่งใน Microsoft Visual Studio นั้นรองรับก็จะสะดวกดี แต่เมื่อเราใช้งานผ่านเครื่องมืออื่นๆ ที่ไม่ได้รองรับ เราจึงต้องมากำหนดค่าต่างๆ เหล่านี้เอง โดยไปที่ Set up deployment credentials ในหัวข้อ quick glance

9

10. ตัว Windows Azure Portal จะแสดงหน้าต่างให้เรากำหนค่า username และ password สำหรับการ FTP/FTPS เข้าไปใช้งานแทนที่ค่าเริ่มต้นของระบบที่ได้กำหนดไว้ให้เราตั้งแต่ตอนสร้างบัญชีนี้ขึ้นมา

10

11

11. เมื่อเรากำหนดส่วนของการสร้างไฟล์ได้แล้ว ก็มาถึงการเข้าถึงส่วนของฐานข้อมูล MySQL กันบ้าง โดยให้ไปที่ โดยให้ไปที่หัวข้อ linked resources แล้วคลิ้กลิ้งค์เพื่อเลือกชื่อฐานข้อมูลที่เราได้กำหนดไว้ตอนเราได้เริ่มต้นสร้างขึ้นมาในข้อแรกๆ

12

12. ตัว Windows Azure จะเปิดหน้าต่างของ browser ใหม่ขึ้นมา แล้วพาเราไปหน้าเว็บ ClearDB เพื่อทำให้เราจัดการฐานข้อมูลนี้จากหน้าเว็บนั้นแทนใน Windows Azure Portal ของ Microsoft โดยในหน้าที่เราเปิดมาครั้งแรกจะเจอหน้า Performance ทันที

13

13. แน่นอนว่าเราต้องการข้อมูลส่วนของ hostname, username และ password ของ MySQL เพื่อนำไปติดตั้ง Drupal ซึ่งข้อมูลทั้งหมดจะอยู่ที่ Endpoint Information ที่อยู่ถัดไปอีก 2 เมนูจาก Performance

เข้ามาในหน้า Endpoint Information เราจะเห็น Hostname อยู่ในตาราง Cluster Gateway Information ที่อยู่ด้านบน พร้อมทั้งรายละเอียด Max connections และ Max Queries/Hour ซึ่งเป็นโควต้าสำหรับ Free Account ซึ่งมาพร้อมกับพื้นที่ให้ 20MB สำหรับ database จำนวน 1 ตัว

สำหรับ username และ password จะอยู่ที่ตาราง Access Credentials ที่อยู่ด้านซ้ายล่างของหน้า Endpoint Information

14

14. หลังจากข้อที่ 10. เราได้แก้ไข username และ password สำหรับการเข้าไป FTP/FTPS แล้ว เราก็มาดูข้อมูลสำหรับส่วนของ hostname ที่ใช้ในการเชื่อมต่อผ่าน FTP/FTPS โดยอยู่ในหัวข้อ Quick glance ข้อย่อย FTP HOST NAME และ FTPS HOST NAME เพื่อนำไปเชื่อมต่อสำหรับการนำไฟล์ต่างๆ ขึ้นไปบน Windows Azure Web Sites

15

15. เมื่อเราได้ข้อมูลที่จำเป็นทั้งหมดครบแล้ว ก็ถึงเวลาสำหรับการติดตั้งตัว Drupal โดยก่อนอื่น เข้า https://drupal.org/downlaod เพื่อเข้าไปดาวน์โหลดตัว drupal ตัวล่าสุดมารอไว้ในเครื่องของเราเสียก่อน

31

16. ทำการสร้างตัวเชื่อมต่อ FTP จาก Network Location บน Windows (อ้างอิง Windows 8) เสียก่อน

โดยไปที่ Computer (My Computer) แล้วเลือก Add a network location

หมายเหตุ:นักพัฒนาอาจจะใช้ FTP Client ตัวอื่นๆ ก็ทำได้เช่นกัน โดยอาศัยข้อมูลข้างต้นที่ได้เกริ่นไปก่อนหน้านี้ในการสร้าง FTP profile ของแต่ละ client

16

17. จะได้หน้าต่างต้นรับว่าเรากำลังจะสร้าง Network Location ใหม่บน Windows ให้กด Next

18. ในหน้านี้เป็นหน้าที่เลือกประเภทว่าเราจะสร้าง Network Location แบบใด ซึ่งตอนนี้เรามีเพียงแบบเดียวคือ Choose a custom network location ซึ่งนักพัฒนาบางคนอาจจะมีมากกว่านี้ แต่ให้เลือกตัวเลือกนี้ แล้วกด Next

17 18

19. ในหน้าต่อมานี้จะให้เราใส่ internet หรือ network address ให้เราเอาข้อมูล FTP HOST NAME ใน dashboard ของ ของ Windows Azure Web Sites มาใส่ในช่อง Internet or network address แล้วกด Next

20. หน้ากำหนด username ให้กรอก Username ที่อยู่ใน DEPLOYMENT / FTP USER ในหัวข้อ Quick glance ลงไปในช่อง Username แล้วกด Next

19 20

21. มาในหน้าของการตั้งชื่อ network location ก็ตั้งชื่อตามที่ต้องการแล้วกด Next

22. เป็นหน้าสรุปข้อมูลการเชื่อมต่อทั้งหมด แนะนำให้เลือก Open the network location when I click Finish. เมื่อเสร็จสิ้นทั้งหมดแล้วกด Finish

21 22

23. เมื่อกด Finish แล้ว File Explorer จะเปิดหน้าต่างใหม่เพื่อทำการเชื่อมต่อ ซึ่งจะเห็นหน้าต่าง Log on as ขึ้นมาเพื่อถาม username และ password เราจึงกรอก password ที่ได้กำหนดไว้ในข้อที่ 10. ลงไป และถ้าไม่ต้องการให้มีการถาม password ซ้ำอีกให้เลือก Save password แล้วจึงกด Log On

24. ถ้าทั้ง hostname, username และ password ตรงตามที่ได้ตั้งไว้ เราจะเข้ามาถึงภายใน Windows Azure Web Sites และพร้อมที่จะนำไฟล์เว็บไซต์ที่เราพัฒนานั้นๆ ขึ้นไปแล้ว

image 23

25. สำหรับ folder ที่ใช้ในการจัดเก็บไฟล์นั้น จะอยู่ที่ site\wwwroot ภายใน Windows Azure Web Sites เมื่อเราเข้าไป จะเจอไฟล์ hostingstart.html อยู่หนึ่งไฟล์

24

26. ทดสอบสร้างไฟล์ PHP มาหนึ่งไฟล์ชื่อ phpinfo.php เพื่อสร้างสอบว่าใช้งาน PHP ได้และมี PHP เป็น version อะไรจากใน site\wwwroot

27. เมื่อสร้างไฟล์เรียบร้อย เราก็เข้าไปที่ https://xxxx.azurewebsites.net/phpinfo.php เพื่อตรวจสอบ PHP version และการเข้าถึงตัวเว็บไซต์ที่เราสร้างนั้นถูกต้องหรือไม่ (ตัวอย่างคือ https://testdrupalweb.azurewebsites.net/phpinfo.php)

25 26

28. เมื่อทดสอบเสร็จแล้ว แน่นอนว่าเราต้องการใช้ PHP version 5.4 สามารถที่จะเข้าไปเปลี่ยนแปลง version ได้ที่ CONFIGURE ซึ่งอยู่ถัดจากเมนู DASHBOARD ของ Windows Azure Web Sites ไปอีกสองเมนู จะเจอ PHP VERSION เราสามารถปรับไปใช้ PHP version 5.4 ได้จากตัวเลือกนี้

27

29. เมื่อเลือก PHP VERSION เป็น 5.4 แล้ว ให้กด SAVE และรอจนกว่าสถานะการเปลี่ยนแปลงจะจบการทำงานที่ด้านล่าง

28

29

30. เมื่อสถานะการเปลี่ยนแปลงเสร็จสิ้น ให้ลอง refresh หน้า phpinfo.php ที่เราสร้างขึ้นอีกครั้ง จะเห็นการเปลี่ยนแปลงเป็น PHP version 5.4 แทนที่แล้ว

30

ข้อควรระวัง: ซึ่งแนะนำว่าเมื่อตรวจสอบเรียบร้อยแล้วให้ลบออกไป เนื่องจากใน Environment Variable ที่ชื่อ MYSQLCONNSTR_DefaultConnection มีข้อมูลการเชื่อมต่อฐานข้อมูลที่เป็น linked resources ที่เราได้สร้างไว้อยู่ จึงไม่ปลอดภัยที่จะมีไฟล์นี้คงไว้ในระบบของเรา

image

31. เมื่อตอนนี้เราปรับแต่งตัว version ของ PHP เรียบร้อยแล้ว ก็ได้เวลาในการนำไฟล์ Drupal ขึ้นไป โดยใช้ Network Location ของ File Explorer

วิธีก็ไม่ยากอะไร เราคลายไฟล์บีบอัดของ Drupal ออกมา แล้วทำการลากไปวางที่ site\wwwroot ที่ Network Location ที่เราได้สร้าง แล้วรอจนกว่าจะ copy ไฟล์ (ใน FTP Client ตัวอื่นๆ จะเรียกว่า upload) เข้าไปที่ Windows Azure Web Sites ที่เรามีบัญชีอยู่

32

32. เมื่อ copy ไฟล์เข้ามาที่ Windows Azure Web Sites ที่เรามีบัญชีอยู่เรียบร้อย ให้เปิดหน้าเว็บที่เราได้มีบัญชีอยู่ขึ้นมา ตัว Drupal จะพาเราเข้าหน้า install.php ให้ทันที ก็ทำการติดตั้งตามขั้นตอนของ Drupal ตามปรกติดังต่อไปนี้

ในขั้นตอนการเลือก profile ให้เลือก Standard แล้วกด Save and continue

33

33. เลือก language ให้เลือก English (built-in) แล้วกด Save and continue

34

34. ในส่วนของฐานข้อมูลนั้น

Database type ให้เลือก MySQL, MariaDB, or equivalent

Database name ให้กรอกข้อมูลที่ได้กรอกไว้ในข้อที่ 5. ลงไป

Database username ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

Database password ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

ให้ขยาย ADVANCED OPTIONS ออกมา แล้วแก้ไข Database host ให้กรอกข้อมูลที่ได้ระบุไว้ในข้อที่ 13. ลงไป

แล้วกด Save and continue

35

35. ถึงขั้นตอนการ install ตัว Drupal ในขั้นตอนนี้รอการติดตั้งสักพัก

36

36. เมื่อการติดตั้งจบ ให้ทำการกรอกข้อมูลของเว็บต่างๆ ลงไปให้ครบ

37

37. ในส่วนสำคัญคือ time zone ให้เลือก time zone ที่เหมาะสมกับพื้นที่ในการใช้งานให้ถูกต้อง แล้วกด Save and continue

38

38. การติดตั้ง Drupal เสร็จสมบูรณ์แล้วในขั้นตอน ให้คลิ้กลิ้งค์เข้าหน้าเว็บไซต์ผ่าน Visit your new site

39

39. จะเจอหน้าตาของ Drupal ที่คุ้นเคยและเราเป็น administrator ของระบบทันที

40

40. ตรวจสอบความเรียบร้อยอีกครั้ง แนะนำให้ไปที่ Reports และเลือกที่ Status report เพื่อตรวจสอบข้อมูลอื่นๆ ว่ามีการติดตั้งหรือค่าสิทธิ์การเข้าถึงที่ผิดพลาดหรือไม่อีกครั้ง

41

จากข้อมูลทั้งหมดนี้ จะเห็นได้ว่า Windows Azure Web Sites นี้ได้รวบรวมบริการประมวลผลแบบกลุ่มเมฆมาเป็นชุดสำหรับใช้งานได้ทันทีสำหรับเว็บไซต์โดยไม่ต้องลงมือติดตั้งระบบเองให้ยุ่งยากซับซ้อนแต่อย่างใด ซึ่งเหมาะสมกับคนที่ต้องการพัฒนาเว็บที่รองรับการขยายขึ้น-ลงได้อย่างหลากหลาย

โดยในตอนหน้าจะมาพูดถึงการติดตั้ง WordPress บน Windows Azure Web Sites และการขยายระบบขึ้น-ลง (Scale up-down) เพื่อรองรับการโหลดของระบบที่เปลี่ยนแปลงตลอดเวลา

Windows Azure ตอนที่ 2 การคิดค่าบริการ

ใน Windows Azure นั้น การคิดเงินในการใช้งานโดยทั่วไปนั้นแบ่งออกเป็น 3 ส่วนหลักๆ ที่จำเป็นต้องนำมาคิดค่าบริการเกือบจะในทุกๆ บริการ ได้แก่

  1. Compute (Hours/Minutes)
  2. Storage (GB/TB)
  3. Bandwidth (GB/TB)

Compute

เป็นการคิดค่าใช้ระบบในด้านการประมวลผล (Compute) และมีพื้นที่หน่วยความจำหลัก (Memory) มาให้พร้อมกันเป็นคู่ โดยคิดเป็นหน่วยชั่วโมง แต่ในบางบริการจะเป็นการคิดแบบหน่วยนาที (ข้อมูลล่าสุด ณ วันที่ 17 มิถุนายน 2013) โดยบริการที่การคิดค่าบริการแบบนี้ได้แก่ Web Sites, Virtual Machines, Cloud Services, Biztalk Server, SQL Server และ SQL Reporting แต่มีบริการหนึ่งที่ทำงานด้านการประมวลผลและมีพื้นที่หน่วยความจำหลักเช่นกัน แต่เป็นลักษณะของโหนดประมวลผล (Compute Node) ที่ชื่อบริการว่า HDInsight อีกด้วย

โดยตัวเลือกของการประมวลผลของ CPU ได้ 3 รูปแบบ คือ

  1. Free Compute บน Virtual Cores ของ CPU ตัวหนึ่ง เป็นการให้ใช้งานฟรีในส่วนของ Web Sites เท่านั้น โดยให้ระยะเวลาในการประมวลผลเพียง 1 ชั่วโมงต่อวันเท่านั้น
  2. Shared Compute บน Virtual Cores ของ CPU ตัวหนึ่ง เป็นการให้ใช้งานในรูปแบบแชร์ทรัพยากร Core ใน CPU โดยให้ระยะเวลาในการประมวลผล 4 ชั่วโมงต่อวัน (หรือ 240 นาทีต่อวัน) โดยคิดระยะเวลาการใช้งานเป็นชั่วโมงหรือนาที โดยขึ้นอยู่กับรูปแบบการให้บริการ
  3. Reserved Compute บน Virtual Cores ของ CPU ตัวหนึ่ง เป็นการให้ใช้งานในรูปแบบในการจองและเป็นผู้ใช้งานทรัพยากร Core ของ CPU แต่เพียงผู้เดียวโดยคิดระยะเวลาการใช้งานเป็นชั่วโมงหรือนาที โดยขึ้นอยู่กับรูปแบบการให้บริการ

เมื่อเราเลือกรูปแบบการนำการประมวลผลได้แล้ว จะมีส่วนที่เรียกว่าประเภทของสัญญาอนุญาต (license) ที่เพิ่มเติมเข้ามาด้วยในบางรูปแบบ เช่น

  1. OS แบบ Windows หรือ Linux
  2. BizTalk Server แบบ Standard หรือ Enterprise
  3. SQL Server แบบ Web, Standard หรือEnterprise

โดยการเลือกรูปแบบของสัญญาอนุญาตเหล่านี้จะมีราคาที่แตกต่างกันไปในแต่ละแบบ ซึ่งด้านล่างนี้คือตารางจำนวน Virtual Cores และจำนวน RAM ที่ได้รับในแต่ละแบบ โดยใช้อ้างอิงได้ทั้ง

  1. Virtual Machines ที่เป็น OS แบบ Windows หรือ Linux
  2. Virtual Machines ที่เป็น BizTalk Server แบบ Standard หรือ Enterprise
  3. Virtual Machines ที่เป็น SQL Server แบบ Web, Standard หรือ Enterprise
  4. Cloud Services ที่เขียนระบบเพื่อรองรับงาน Web roles และ Worker roles
COMPUTE INSTANCE NAME VIRTUAL CORES RAM
Standard Instances
Extra Small (A0)

Shared

768 MB

Standard Instances
Small (A1)

1

1.75 GB

Standard Instances
Medium (A2)

2

3.5 GB

Standard Instances
Large (A3)

4

7 GB

Standard Instances
Extra Large (A4)

8

14 GB

Memory Intensive Instances (A6)

4

28 GB

Memory Intensive Instances (A7)

8

56 GB

สำหรับในส่วนของ Web Sites นั้นจะอ้างอิงเพิ่มเติมในส่วนของการใช้งานแบบฟรี

FREE SHARED RESERVED
CPU 60 min
CPU/day
240 min
CPU/day
Dedicated CPU
Custom
domain name
No Yes Yes
Sites 10 100 100
Storage 1 GB 1 GB 10 GB
Storage transactions Free Free Free
Relational database

20 MB, MySQL or SQL Databases

Outbound data transfer 165MB/day Bandwidth
rates
Bandwidth
rates
Inbound data transfer Free Free Free

Dedicated CPU

SIZE CPU CORES RAM
Small 1 1.75 GB
Medium 2 3.5 GB
Large 4 7 GB

สำหรับการคิดราคาใน HDInsight (Microsoft’s Hadoop-based service) นั้นจะคิดราคาตามชนิดของโหนด โดยมีโหนดอยู่ 2 แบบคือ

  1. Head Node โดยเป็น Virtual Machines แบบ Extra Large (A4)
  2. Compute Node โดยเป็น Virtual Machines แบบ Large (A3)

ซึ่งการใช้งาน HDInsight นั้นจะต้องสร้างโหนดทั้งสองแบบนี้มาอย่างละหน่วยประมวลผลเพื่อใช้งานและคิดค่าบริการรวมของการเปิดใช้งานทั้ง 2 แบบลงไป

ในด้านของ Mobile Services นั้นจะมีเพียงแบบฟรีและแบบคิดราคาเป็นชั่วโมงการเปิดใช้งาน โดยส่วนที่สำคัญคือ scheduled jobs เป็นสำคัญ โดยทั้งสองแบบนั้นในบัญชีการใช้งานจะสามารถสร้าง Mobile Services ได้ 10 บริการ สำหรับการส่งข้อมูลออก และการเชื่อมต่อฐานข้อมูลนั้นจะคิดตามการคิดค่าบริการของ Bandwidth และ SQL Database

FREE RESERVED
CPU Shared 1 CPU Core
(max 10 Core/subscription)
Mobile Services supported 10 per subscription 10 per subscription
Scheduled jobs 1 scheduled job
700 executions/month
10 scheduled jobs
Inbound data transfer Unlimited Unlimited
Outbound data transfer 165MB/day Bandwidth
rates
SQL Database (required) SQL Database
rates
SQL Database
rates

ส่วนสุดท้ายในการการคิดราคาแบบประมวลผลคือ SQL Reporting ซึ่งจะคิดราคาเป็นหน่วยชั่วโมง โดยคิดราคาที่ 30 รายงาน (report) ต่อชั่วโมง เช่น ถ้ามีการรันรายงานที่ 40 รายงานจะคิดราคาที่ 2 ชั่วโมง เป็นต้น

ข้อมูลราคาล่าสุด

Storage

เป็นการคิดค่าบริการตามพื้นที่ที่จัดเก็บข้อมูลไว้ระบบประมวลแบบกลุ่มเมฆ โดยจะมี 3 รูปแบบ

  1. Storage ซึ่งเป็นบริการที่รวมการจัดเก็บข้อมูลแบบ Blobs, Tables และ Queues ไว้เป็นรูปแบบบริการเดียว
    โดยการคิดราคาจะมีอยู่ด้วยกัน 3 ย่อยดังนี้
    Geo Redundant เป็นการคิดค่าบริการจัดเก็บไฟล์แบบสำรองต่างพื้นที่ IDC
    Locally Redundant เป็นการคิดค่าบริการจัดเก็บไฟล์แบบสำรองภายในพื้นที่ IDC
    Transactions เป็นการคิดราคาในการอ่านหรือเขียนข้อมูลจาก Blobs, Tables และ Queues
    โดยคิดเงิน 1 ล้านครั้งต่อหน่วยราคา (ราคาวันที่เขียนบทความคือ 1 ล้านครั้งต่อ 0.10 USD)
  2. Backup สำหรับคนที่ต้องการ Backup บน Windows Server Backup ของ Windows Server 2012 สามารถ Backup บน Storage ระบบประมวลแบบกลุ่มเมฆ ซึ่งจะไม่มีการคิดเงินในส่วนของ Bandwidth, Storage, Storage transactions และ Compute เพิ่มเติม แต่อย่างใด
  3. SQL Database โดยจะคิดราคาในรูปแบบขนาดที่จัดเก็บข้อมูลและจำนวนฐานข้อมูลที่ใช้งาน

ข้อมูลราคาล่าสุด

Bandwidth

มีรูปแบบการคิดราคา 2 แบบคือพื้นที่ที่ระบบอยู่ หรือเรียกว่า Regions และเครือข่ายการกระจายเนื้อหา หรือ Content Delivery Network

การรับและส่งข้อมูลเข้าพื้นที่ที่ระบบอยู่นั้น เป็นการคิดราคาของการเรียกข้อมูลออกมาหรือส่งข้อมูลกลับเข้าไปในเขต IDC ที่เราได้ตั้งค่าสำหรับติดต่อเข้ากับระบบประมวลผล (Compute) หรือพื้นที่จัดเก็บข้อมูล (Storage) โดยตรง ซึ่งจะแบ่งการคิดราคาเป็นโซน (zone) ทั้งหมด 2 โซน ได้แก่

  • Zone 1: East US, West US, North Central US, South Central US, North Europe และ Western Europe
  • Zone 2: East Asia และ Southeast Asia

โดย การคิดเงินนั้นในส่วนของ Zone ที่ 1 จะมีราคาถูกกว่า Zone ที่ 2 โดยการคิดราคาจะเริ่มต้นที่ 5GB เป็นต้นไป ถ้าใช้งานไม่ถึง 5GB จะไม่คิดเงินค่าใช้ข้อมูลแต่อย่างใด

สำหรับการคิดราคาของเครือข่ายการ กระจายเนื้อหา นั้นจะคิดราคาในด้านการเรียกใช้ข้อมูลตามการใช้งานจริงตั้งแต่เริ่มต้นส่ง ข้อมูล โดยไม่มีกรอบกำหนดเริ่มต้นที่ 5GB แต่ยังคงคิดราคาแบบ Zone เช่นเดียวกับแบบเขตในการรับ-ส่งข้อมูลเช่นเดียวกัน

โดยการคำนวณราคาใน ด้านของ Bandwidth นั้น จะมีการคิดราคาของ Transactions ในการเรียกใช้งานทั้งเรียกออกมาและส่งข้อมูลกลับเข้าไป โดยคิดเงิน 1 ล้านครั้งต่อหน่วยราคา (ราคาวันที่เขียนบทความคือ 1 ล้านครั้งต่อ 0.10 USD)

ข้อมูลราคาล่าสุด
Data Transfers

  • Regions
  • Content Delivery Network

สำหรับการคิดราคาในรูปแบบอื่นๆ

  • Connection Hours สำหรับใช้บริการ Virtual Network
  • Relay hours สำหรับใช้บริการ Service Bus
  • Messages สำหรับใช้บริการ Service Bus
  • GB Processed สำหรับใช้บริการ Media Services
  • Reserved Units สำหรับใช้บริการ Media Services
  • On-Demand Streaming Reserved Units สำหรับใช้บริการ Media Services

จะเป็นส่วนย่อยๆ ที่มีการคิดราคาโดยใช้พื้นฐานคล้ายๆ กับ Compute, Storage และ Bandwidth เป็นหลักทั้งหมด

ตัวอย่างการใช้บริการแบบ Windows Azure Virtual Machines

  • Compute: Small (A1)
    เป็น 1 Reserved Virtual Cores และ RAM ขนาด 1.75GB ติดตั้ง Linux Virtual Machines (Ubuntu Server 12.04 LTS)
  • Storage: 30GB ต่อเดือน
    เป็น Image สำเร็จรูปของ Linux Virtual Machines ติดตั้งแบบ Geo Redundant (IDC Southeast Asia ใน Singapore และ IDC East Asia ใน Hong Kong)
  • Bandwidth: 45GB ต่อเดือน
    เป็นราคาคาดการณ์การใช้งาน

ราคาที่คิดไว้คือ

  • Compute: ~$45 ต่อเดือน ($0.06 ต่อชั่วโมง)
    โดยคำนวณที่ 744 ชั่วโมง (ต่อเดือน)
  • Storage: $2.85 ต่อเดือน
    โดยคำนวณที่ 744 ชั่วโมง (ต่อเดือน) และ 1TB มีค่าเท่ากับ 1,024 GB
  • Storage Transactions: ~$1-$5 ต่อเดือน
    โดยขึ้นอยู่กับการอ่านเขียนตัวไฟล์ใน Storage มากน้อยแค่ไหน
  • Bandwidth: $4.80 ต่อเดือน
    โดยคำนวณที่ 744 ชั่วโมง (ต่อเดือน) และ 1TB มีค่าเท่ากับ 1,024 GB

รวมแล้วต่อเดือนจะมีค่าใช้บริการที่ $53.65 – $58.65 โดยประมาณ

คำแนะนำ: ขอให้อ้างอิงการคำนวณราคาระบบประมวลผลบนกลุ่มเมฆ Windows Azure ล่าสุดได้จากเว็บ windowsazure.com ทั้งหมดเพื่อความถูกต้องสูงสุด

ในตอนหน้าเราจะมาเริ่มการติดตั้งและใช้งาน Windows Azure Web Sites สำหรับ Drupal และ WordPress กัน

Windows Azure – แนะนำบริการและการคิดค่าบริการ

Windows Azure คืออะไร?

Windows Azure เป็นรูปแบบการให้บริการที่ให้ใช้การประมวลผลแบบกลุ่มเมฆ (cloud computing) ที่สร้างขึ้น พัฒนา และบริหารโดยบริษัท Microsoft ซึ่งบริการทั้งหมดจะให้บริการภายในศูนย์ข้อมูล (data center) ของ Microsoft เองที่กระจายอยู่ทั่วโลกทั้งหมด 8 ศูนย์ข้อมูล ตั้งอยู่ใน 3 ทวีปด้วยกัน ซึ่งได้แก่

อเมริกา: ชิคาโก (North-central US), ซานอันโตนิโอ (South-central US), แคลิฟอร์เนีย (West US) และ เวอร์จิเนีย (East US)

เอเชีย: ฮ่องกง ประเทศจีน (East Asia) และสิงค์โปร์ (South East Asia)

ยุโรป: อัมสเตอร์ดัม ประเทศเนเธอร์แลนด์ (West Europe) และดับลิน ประเทศไอร์แลนด์ (North Europe)

image
ข้อมูลจาก Location of Customer Data และ Windows Azure Service Dashboard

โดยบริการประมวลผลแบบกลุ่มเมฆของ Microsoft ในชื่อ Windows Azure นั้นจะให้บริการใน 2 รูปแบบหลักคือ บริการแพลตฟอร์ม (Platform as a Service; PaaS) และ บริการโครงสร้างพื้นฐาน (Infrasfructure as a Service; IaaS) ซึ่งใน Windows Azure ไม่เพียงแต่สนับสนุนภาษาและเครื่องมือพัฒนาของ Microsoft เองเท่านั้น แต่ยังรวมไปถึงสนับสนุนภาษาและเครื่องมือพัฒนาของค่ายอื่นๆ ทั้งโอเพนซอร์สซอฟต์แวร์ (open source software) และซอฟต์แวร์กรรมสิทธิ์ (proprietary software) โดยสามารถนำมาใช้งานบน Windows Azure ได้เกือบทั้งหมด

Read more

สรุป Microsoft Cloud Day

ช่วงเช้านิดหน่อยๆ พอจำได้ ช่วงบ่ายเป็นแยกเข้าพวกเทคนิค ไม่ได้โน๊ตไว้ ค่อนข้างเยอะ ><” (ข้ออ้างในการไม่เขียนรอบบ่าย)

การใช้งาน Cloud computing นับตั้งแต่ปี 2011 จนถึง 2016 จะเพิ่มขึ้น 5 เท่า คนจะมีการใช้ devices ประมาณ 3.3 เครื่องต่อคนในปี 2014 (pc, phone และ tablet) โดย Services ของ Microsoft ในตอนนี้ ทำงานบน Cloud อยู่มากมาย รองรับคนมหาศาล

เทรนในอนาคตเราจะออกแบบ App ให้ทำงานร่วมกับ Cloud มากขึ้น เพราะการมองแค่ทำงานเพียงเครื่องๆ เดียว จะไม่เพียงต่อการทำงานร่วมกับ ข้อมูลจำนวนมาก การพัฒนา App ที่รองรับข้อมูลมากๆ จะมองภาพรวมเป็น data center ซึ่งเป็นการเปลี่ยนผ่านจาก Standalone OS ไปสู่ Cloud OS นั้นเอง

– 93% บริษัทใน fortune 1000 ใช้ Active Directory
– บริษัททั่วโลกกว่า 46% ใช้ฐานข้อมูล SQL Server
– ซอฟต์แวร์ที่เป็นเครื่องมือที่ใช้ทำ BI มากที่สุดในโลกคือ Microsoft Excel
– Big Data ไม่ได้เกี่ยวกับขนาดของข้อมูลเพียงอย่างเดียว แต่เกี่ยวกับว่าชนิดของข้อมูลที่ใช้ประมวลผล
– ในช่วงปีนี้เป็นต้นไปเราจะเห็นคำว่า Cloud OS มากขึ้น ซึ่งเป็น Microsoft’s Cloud OS Vision และบอกว่ามันจะมาเร็วกว่าที่พวกเราคิด ปีหน้าจะเห็นภาพชัดเจนมากขึ้นเรื่อยๆ
– ระบบที่ออกแบบในช่วงปีหน้าจะมีความชัดเจนในการเลือกใช้ระหว่าง On-promise, public cloud และ hybrid cloud มากขึ้น และ IT จะใช้มันอย่างคุ้มค่ากับค่าใช้จ่ายที่จ่ายลงไป
– ภายในปี 2016 25% ของ external app ที่ผลิตออกมา มีแนวโน้มเป็นแอพที่เกี่ยวกับ mobility, cloud, analytics & social
– ภายในปี 2017 90% ขององค์กรขนาดใหญ่จะมี 2-3 mobile operating system ไว้รองรับการทำงาน
– ภายในปี 2020 นี้ 45% ของค่าใช้จ่ายด้านไอทีทั้งหมดจะเป็นการลงทุนในระบบ Cloud
– ภายในปี 2020 80% ของ บริษัทชั้นนำ 2,000 รายทั่วโลกจะใช้งานไอทีแบบ onsite ในสัดส่วน 50%

ข้อควรทราบของ Virtual Public IP (VIP) บน Windows Azure Virtual Machines กับ DNS

บน Windows Azure ยังไม่มีบริการแบบเดียวกับ Amazon EC2 Elastic IP Addresses ซึ่งเป็นการเช่าชุดหรือเลข IP สำหรับใช้งานกับบริการประมวลผลต่างๆ โดยไม่มีการเปลี่ยนแปลงใดๆ หรือพูดง่ายๆ คือเป็นเจ้าของเพียงผู้เดียว และควบคุมการใช้งานได้ (ถ้าจ่ายเงินไปตลอด)

ซึ่งบน Windows Azure นั้น ตัว Virtual Machines จะใช้ได้แต่ Virtual Public IP (VIP) ซึ่งมีข้อควรจำ (หรือบางคนเรียกว่าข้อเสียก็ได้) ตรงที่จะเปลี่ยนแปลงทุกครั้งที่ Shutdown หรือลบ Virtual Machines แล้วสร้าง Virtual Machines จาก Image Data ชุดเดิม และเราควบคุม VIP ไม่ได้ เพราะฉะนั้น ใช้ A (address record) Type Record บน Zone file ใน DNS ไม่ได้เลย เพราะต้องกลับมาเปลี่ยนตลอดถ้า Virtual Machines ตัวนั้นพังและต้องสร้างใหม่ ทำให้กำหนดการใช้งานผ่าน VIP จะมีปัญหาตอนโยก development/staging machines ด้วย เพราะมันดิ้นไป-มา

แต่แน่นอนว่าคำแนะนำคือให้ใช้ CNAME (alias record) Type Record แทน เพื่อให้ CNAME จับคู่กับ DNS แทนจะทำงานได้ดีก็ตาม (ลบจุดด้อยได้) แต่ก็มีปัญหาต่อมาคือ CNAME มันกำหนด root domain name ไม่ได้ ต้องใช้ A Type Record แล้วกำหนด IP เท่านั้น ซึ่งต้องหาบริการหรือทำ domain forwarding กับตัว root domain name ร่วมด้วย ไม่งั้นทำงานจะมีปัญหาเวลาคนพิมพ์ domain name จาก root เข้าระบบเว็บที่ทำงานบน Windows Azure Virtual Machines ล้วนๆ ไม่ได้