SSD กับงาน Database Server

ใช้ SSD Vertex 4 (SATA3 ทำงานบน SATA2) ขนาด 60GB ทั้งหมด 2 ตัวบน Production อยู่ 2 รอบบ ตัวแรกระบบ Frontend ทำงานตลอดเวลา 24 ชั่วโมงโหลดข้อมูลบน Database MySQL ขนาด transaction 30-100 queries/s แบบ ACID Model ตลอด (เป็น transaction เรื่องเงินเลยต้องมี locking ระดับ row ด้วย) แต่พังในเวลาประมาณ 3 เดือน และตอนนี้ SSD ตัวใหม่ก็ยังทำงานได้ดีอยู่ลุ้นๆ จะไปต่อได้แค่ไหน ส่วนอีกตัวทำงานมาแล้ว 6 เดือน ยังไม่มีปัญหาใดๆ ตัวนี้ทำงานที่ 500-600 queries/s แต่เป็น ISAM model ตลอด (ไม่มีการ locking ใดๆ) การทำใช้ SSD มาทำงานและแก้ไขปัญหาเรื่อง IOPS ของ database ช่วยให้งานที่อาจใช้เวลา 1-5 วินาที เสร็จสิ้นภายในเวลาหน่วย ms เท่านั้น ซึ่งคุ้มเสี่ยงที่จะใช้

คำถามคือระบบป้องกันทำอย่างไร? เพราะ SSD มีโอกาสเสียง่ายกว่า HHD อยู่แล้ว ซึ่งแก้ปัญหาด้วยการทำระบบด้านหลังอีกชุด โดยรัน VM ควบคู่ทั้งสองระบบ ซึ่งทำ Realtime backup แบบ Replication ที่ทำงานแบบ Event base ตลอดเวลาเพื่อคอย Backup ไว้อีกชุดและมีชุด VM อีกตัวทำหน้าที่ Daily backup แบบ Full Database อีก 1 ชุดสามารถรองรับการ downtime ได้ 99.9% per year ได้สบาย

โดยระบบเคย down เพราะ SSD พังและนำกลับมาอยู่ใน State ‘uptime’ ได้ในเวลาประมาณ 30 นาที ด้วยการกู้จาก Realtime backup มาใส่ในระบบที่ยังทำงานปรกติอีกระบบไปก่อน แล้วเข้าไปเปลี่ยน SSD ตัวใหม่เสร็จสิ้นใน 6 ชัวโมง (จากที่บอกไปด้านบน) อันนี้คือการแก้ไขปัญหานี้

ส่วนการแนวการแก้ไขปัญหาต่อไปในช่วงปีนี้ คือแผนการทำ HA ตัว Database Server เพิ่มเติม แต่ยัง LAB เรื่อง MySQL Cluster ว่าจะเอามาใช้อะไรได้บ้างและมีความเร็วเพียงพอหรือไม่ที่จะทำแบบนี้ หรือทำ RAID SSD ก็น่าสนใจเช่นกันคงต้อง LAB ต่อไปอีกสักพัก

IT Designation Definitions

เจอที่ http://blog.jitbit.com/2012/06/it-designation-definitions.html พอดีเลยเอามาวางไว้สักหน่อย

Definitions of Designations

Project Manager is a Person who thinks nine women can deliver a baby in One month.

Developer is a Person who thinks it will take 18 months to deliver a Baby.

Onsite Coordinator is one who thinks single woman can deliver nine babies in one month.

Client is the one who doesn’t know why he wants a baby.

Marketing Manager is a person who thinks he can deliver a baby even if no man and woman are available.

Resource Optimization Team thinks they don’t need a man or woman; they’ll produce a child with zero resources.

Documentation Team thinks they don’t care whether the child is delivered, they’ll just document 9 months.

Quality Auditor is the person who is never happy with a delivered baby.

Tester is a person who always tells that this is not the Right baby.

HR Manager is a person who thinks that…
a Donkey can deliver a Human Baby – if given 9 Months

Google Glass กับการถูกละเมิดสิทธิ์ความเป็นส่วนตัว

จากข่าว ร้านอาหารในซีแอทเทิลประกาศแบน Google Glass ห้ามนำมาใช้ภายในร้าน นั้น

ผมอ่านความคิดเห็นหลายคนแล้วมีความรู้สึกว่า “คนอื่นจะละเมิดสิทธิ์ของเราไม่ได้นะ มันสิทธิ์ของเรา บลาๆๆ แต่การกระทำของตัวเองกลับกำลังเข้าค่ายละเมิดสิทธิ์ความเป็นส่วนตัวของคนอื่นอยู่ คำตอบกลับบอกมันเรื่องปรกติ ตูจะทำ จะทำไม”  (╯°□°)╯︵ ┻━┻)

การถ่ายรูปน่ะมันไม่มีปัญหาหรอก ถ้าไม่ได้ไปติดคนอื่นๆ ที่เค้าไม่อยากเข้าในเฟรมของรูปเรา เพราะรูปหรือวิดีโอที่เราบันทึกไปแล้วอาจเอาไปโพส-แชร์ต่อนั้น มันอาจมีปัญหาในภายหลังได้ ซึ่งมันไปละเมิดสิทธิ์คนอื่นเค้าอยู่นะเว้ย

ซึ่งเรื่อง Google Glass ที่โดนแบนก็เพราะเหตุนี้แหละ เพราะถ้ามันถ่ายรูปหรือบันทึกวิดีโอไม่ได้ มันคงไม่มีปัญหาหรอก แต่มันมีปัญหาเพราะมันทำได้ และนั้นแหละคือสิ่ง “อาจ” ถูกนำไปใช้ในการละเมิดสิทธิ์คนอื่นได้ง่ายมากๆ

ผมเคยเขียนเรื่องนี้แบบเต็มๆ ไว้แล้วใน การแอบอ้างหรือนำรูปไปใช้โดยไม่ได้รับอนุญาติ แนะนำให้ตามไปอ่านดูครับ

เลิกเสียเงินกับ Google Apps/Evernote และหันมาใช้งาน Office 365 Small Business Premium

2013-03-10_190930

อันนี้เป็นการลองของก่อนขายจริง และในไทยยังไม่เปิดตัวอย่างเป็นทางการให้ใช้งานแต่อย่างใด (งงๆ กับการเปิดตัวเหมือนกัน คือเปิดตัวแต่ยังไม่มีของขาย ><“)

ส่วนตัวเมื่อปีสองปีก่อนผมเสียเงินให้กับ Google ในบริการ Google Apps for Business (เว็บให้บริการด้านข้อมูลบนกลุ่มเมฆ (cloud services) ถ้าดีก็จ่ายเงินเค้าเหอะ) ก็จ่ายปีละ $50 (ตกเดือนประมาณ $4 กว่าๆ) เพราะอยากได้อีเมลความจุเยอะๆ ทำงานแบบ Cloud มีความสามารถในการทำ Wireless Sync กับมือถือได้ ตอนแรกใช้ BlackBerry ต่อมาใช้ Android และตอนหลังมาใช้ Windows Phone แล้วก็เลิกใช้ไปตอนช่วงสิ้นปีที่ผ่านมาเพราะ ย้ายจาก Google Apps มา Windows Live Admin Center (Custom addresses) เพื่อใช้งานร่วมกับ Windows Phone 8 เพราะ Google Apps for Business มีปัญหาภาษาไทยกับ Windows Phone 8; พบข้อผิดพลาดในรหัสภาษาบน WP7.5/8 เมื่อตอบหรือส่งต่ออีเมลที่ใช้ร่วมกับ Google Mail เลยทำให้ยกเลิกการใช้งานไปโดยปริยาย ประหยัดไปปีละ $50 ไปก่อนแล้ว

สำหรับ Evernote นั้นที่ใช้แบบ Premium Account ก็คงเป็นช่วงเวลาประมาณเดียวกับที่ใช้ Google Apps for Business มาสักพักและใช้ Android Phone ใหม่ๆ พอดี ก็เลยได้ก็เสียเงินให้ Evernote แบบ Premium Account ไปเดือนละ $5 เพราะต้องการใช้ Notes ที่ทำงานบน Cloud ได้ มีระบบ PIN และ Offline Sync ไปพร้อมๆ กัน

เพราะฉะนั้นถ้าคิดรวมๆ กันระห่าง Google Apps for Business และ Evernote ตอนที่ผมใช้งานทั้งสองตัวควบคู่กันแล้ว ผมจะต้องจ่ายปีละ $100 เพราะ Evernote จ่ายเป็นรายปีราคาเท่ากับ Google Apps for Business เลย

2013-03-11_152005

แต่มาช่วงสัปดาห์ที่ผ่านมาผมได้ยกเลิก Evernote แบบ Premium Account ไป เหตุผลไม่ใช่เพราะโดน Hack อะไรหรอก แต่เป็นเรื่องราคาความและความคุ้มค่าของสิ่งที่จ่ายไปแทน ซึ่งตอนนี้ผมเสียเงินให้ Office 365 รุ่น Small Business Premium (ต่อไปจะเรียกสั้นๆ ว่า Office 365 เฉยๆ) ในราคาค่าสมัครแบบเช่าใช้เดือนละ $15 (หรือตกปีละ $150) ต่อ 1 Username แทน ซึ่งด้วย 1 Username ที่ใช้ สามารถ sign-in เข้ากับ Microsoft Office 2013 เพื่อ activate ใช้งานได้ 5 เครื่อง (แต่ละเครื่องจะใช้ Username และ Password ของ Office 365 ในการ activate)  เพราะสิ่งที่ได้กลับมานั้นต่างกันมากมายเลยทีเดียว เพราะเจ้า Offie 365 รุ่นนี้มี Microsoft Office 2013 desktop version มาให้ด้วย โดยที่ให้มานั้นมี Microsoft Word, Excel, PowerPoint, Outlook, OneNote, Access, Publisher และ Lync นั้นจึงเป็นเหตุผลง่ายๆ ที่ซื้อแบบเช่าใช้แทนแบบ Retail version ตามปรกติที่ผมซื้อมาตั้งแต่ Microsoft Office 2007 และ Microsoft Office 2010 เพราะการเปลี่ยน version ของ Microsoft Office นั้นเริ่มถี่ขึ้นและการเปลี่ยน version ไป version ใหม่ๆ ของ Retail version ในราคาไม่หนีกับระยะเวลาการเช่าใช้งานแบบนี้เท่าไหร่ และอาจถูกกว่าด้วยซ้ำเมื่อเทียบกับการได้ Desktop version ที่ให้มา ซึ่งจากคุณสมบัติของ Desktop version แล้ว ยังมี Office Web Apps และ Office Mobile Apps มาให้พร้อมสำหรับทำงานนอกสถานที่มาให้พร้อมเลย

2013-03-11_152101

ซึ่งหลายคนคงงงว่าแล้วไฟล์จะเก็บไว้ที่ไหนทำงานบน Desktop version มันจะไปทำงานบน Office Web Apps และ Office Mobile Apps ได้ยังไง คำตอบคือ SkyDrive Pro ที่ให้พื้นที่เก็บไฟล์ 7 GB แยกต่างหากออกมาอีกที (แยกจาก SkyDrive ตัวปรกติ) ซึ่งเจ้า SkyDrive Pro ทำงานอยู่บน SharePoint อีกที ซึ่งเป็น Private Online storage ของ user ของเราเองโดยใช้ Username และ Password ที่ activate กับตัว Office desktop version นั้นแหละในการเข้าถึง SkyDrive Pro ใน SharePoint ได้อัตโนมัติผ่านตัว Office 365 ที่เราเปิดอยู่ได้ทันที เพราะฉะนั้น ใครจะเอาวิธีการซื้อ 1 User แล้วแชร์ 5 เครื่องโดยแต่ละเครื่องใช้คนละคน ก็ทำได้ ถ้าไม่ได้ใช้แบบแชร์เอกสารระหว่าง Device กัน แต่มันทำได้ยากถ้าไม่ตั้งค่าให้ดีๆ (เอกสารสำคัญอาจหลุดได้ง่ายๆ ถ้าใช้วิธีนี้) โดยจะมีรายการว่ามีเครื่องใดว่า activate อยู่บนหน้า Admin page ของ Office 365 ของเรา สามารถ deactivate ได้ และหน้านี้จะเป็นหน้าที่เข้ามาดาวน์โหลดตัว Microsoft Office 2013 desktop version ไปใช้งานได้ด้วย (เลือกได้ว่าจะเอา 32bit หรือ 64bit)

2013-03-11_145302

ต่อมาคือเรื่องของอีเมลซึ่งผมถือว่าเป็นของแถมที่เอามาเทียบชั้น Google Apps for Business ได้สบายๆ และอาจดีกว่าในด้านที่มันทำงานกับ Desktop version อย่าง Outlook 2013 ได้สบายๆ ผ่าน Microsoft Exchange ตัวเต็มบน Office 365 ซึ่งคล้ายๆ กับของ Hotmail และ Gmail เป็น Exchange ActiveSync (EAS) ที่มีคุณสมบัติคล้ายๆ กัน แต่ตัวนี้ใหม่สดกว่า คือ Sync Notes และ Task ได้ด้วย ซึ่ง EAS ของ Hotmail จะ Sync ตัว Notes และ Task ไม่ได้ ส่วนของ Gmail ทำได้เพราะ Google เขียนเพิ่มเติมผ่าน Outlook Sync ที่เป็น Desktop sync ที่ลงเพิ่มเติมเป็นของตัวเองและวิ่งเข้า Google Docs ที่ตัวเองมีแทน

2013-03-11_151845

โดยเจ้าระบบอีเมล Microsoft Exchange บน Office 365 ตัวนี้ใช้งานบนชื่อ Domain name ของตัวเองได้แบบเดียวกับ Google Apps for Business โดยให้พื้นที่ Username ละ 25GB เลยทีเดียว

นี่ยังไม่รวม Lync ที่ดูเหมือนจะยังไม่จำเป็นในตอนนี้ เพราะใช้อยู่คนเดียวอีกนะ ถ้าใช้หลายๆ คนอาจจะได้ใช้ความสามารถของมันภายในอีกเยอะ อย่าง Newsfeed ที่ด้านในเป็น Private Social Network สำหรับพนักงานด้วย นี่ยังไม่รวมเรื่องระบบ Call meeting, VOIP, PABX อะไรพวกนี้อีก ซึ่งผมว่ากว่าจะเข้าไทยไม่รู้ว่าต้องผ่าน กสทช. หรือเปล่านี่ดิ

2013-03-11_152206

และสุดท้ายตัว Office 365 มี Microsoft OneNote มาให้ และมันทำงานได้ดีกับ SkyDrive Pro ทำให้สามารถ Sync ข้อมูลบน Cloud ได้ทันทีเลย แถมมี Function เยอะกว่าเจ้า Evernote เสียด้วย

2013-03-11_152742

เพราะฉะนั้นถ้าดูแล้ว Office 365 Small Business Premium นั้นคือส่วนผสมของ Google Apps for Business, Evernote และ Microsoft Office Retail มารวมกันเลย ซึ่งสำหรับผม ถ้าลองคิดดูว่าผมเสียเงินรายปี 1-2 ปีและ Office Retail กล่องละ 6-7,000 บาทแล้ว ราคาโดยรวมแตกต่างกันไม่มากนัก แต่ที่ต่างคือ ค่อยๆ จ่ายใช้งานเป็นแบบเช่าใช้แทน ทำให้ดูว่าค่าใช้จ่ายต่อครั้งที่จ่ายดูน้อยและจ่ายได้ ราคาประมาณดูหนัง 1-2 เรื่อง หรือราคาเท่าๆ กับดื่มกาแฟ Starbucks 5 แก้ว อะไรแบบนั้น

เรื่องเล่าต่อจาก รายงานพิเศษ: Thai Programmer Crisis (แบไต๋ไฮเทค)

จริงๆ ผมพูดและนำเสนอความคิดในรายงานนี้ไปเยอะนะ แต่คงเพราะเวลาในการออกมีน้อยเพียง 5 นาที แถมมีส่วนที่ทำสรุปไว้แล้ว เลยได้ออกบางส่วนไม่ได้ทั้งหมด ผมเข้าใจได้นะ เพราะประเด็นมันเยอะมาก จนคนมานั่งฟังคงร้องบอกว่า “เออ พอเหอะ กูเข้าใจแล้ว”

ปัญหาเรื่องนี้มันมีหลายมิติ คุยกันทั้งวันก็ไม่จบ แถมจะกลายเป็นมานั่งปรับทุกข์ชีวิตสายวิชาชีพนี้กันเปล่าๆ

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

ส่วนตัวผมเจอเพื่อนๆ ที่เขียนโปรแกรมเข้าขั้นใช้ได้ตอนเรียนจบ ซึ่งในรุ่นผมค่อนข้างหายากอยู่แล้ว แต่สุดท้ายก็ไม่ทำงานสายนี้ ไปสมัครเป็นทหาร ไปเป็นพ่อค้าขายมะลิ ขายข้าวแกง หรือไปขายหมูปิงก็มี เพราะสบายกว่า เสียสุขภาพน้อยกว่า ทำงานจบวันนึงก็คือจบ กลับบ้านอยู่กับครอบครัวแล้วไม่โดนตามงานตอนดึกๆ แถมเงินที่ได้ก็ไม่หนีกันมาก (หรืองานบางตัวก็รายได้ดีมากๆ) ซึ่งตรงนี้เป็นเรื่องที่ถ้าไม่ลองก้าวออกจากสายอาชีพนี้เพื่อนๆ ผมเค้าอาจจะไม่ค้นพบความสุขในแบบที่เค้าต้องการ (ส่วนผมยังสนุกกับการแก้ไขปัญหาอยู่ ไม่แน่ใจว่าหมดไฟเมื่อไหร่ ฮาๆๆๆ)

บางครั้งมันไม่ใช่เรื่องค่าตอบแทนและสภาพแวดล้อมการทำงานอย่างเดียว แต่อาจจะอยู่ที่วิธีการทำงาน ที่สร้างความภาคภูมิใจในฐานะคนที่สร้างงานเหล่านั้นขึ้นมาด้วย หากแต่คนที่จ้าง คนที่สั่งงานไม่เห็นคุณค่าในฐานะคนสร้างงานแล้ว ก็ยากที่จะทำให้พวกเค้าเหล่านั้นทำงานให้เราได้เต็ม 100% (หรือมากกว่า) เมื่อคนเหล่านี้หมดความภาคภูมิใจในการทำงานนั้นๆ ผมคิดว่าก็ไม่มีใครอยากอยู่ในวิธีการทำงานนั้นๆ และอาจะลากยาวไปถึงชีวิตในสายอาชีพนี้ ที่วันๆ ถูกกดอยู่ในความไม่ภาคภูมิใจในตัวเองสักเท่าไหร่หรอกครับ

แน่นอนว่าขึ้นชื่อว่า “ไอที” โลกของมันมีการเปลี่ยนแปลงอยู่ตลอดเวลา เพราะฉะนั้นงานสายงานอาชีพนี้ต้องพัฒนาตัวเองตลอดเวลา ไม่ใช่อยู่ไปวันๆ ได้ ส่วนตัวผมเองนั้น ทุกๆ วันหลังจากทำงาน ก็ต้องมานั่งอัพเดทตัวเอง เพื่อหาวิธีการแก้ปัญหาใหม่ๆ ที่ดีมากขึ้นหรือต้องเช็คว่าตัวซอฟต์แวร์ที่เรากำลังพัฒนาอยู่นั้น ในบางส่วนของระบบมีช่องโหว่หรือความผิดพลาดอะไรหรือไม่จากการเจอ bug จากส่วนพัฒนาที่ต่อยอดออกมา และรวมไปถึงแนวคิดใหม่ๆ ที่ทำให้เราทำงานได้ง่ายมากขึ้น ซึ่งทำให้งานนั้นออกมาเร็วทันใจลูกค้าด้วย

สุดท้าย นี่ไม่ใช่การบอกว่าสายอาชีพนี้ทำงานหนักที่สุดในโลกหรอก โลกนี้ยังมีงานอีกมากมายที่หนักกว่านี้เยอะ รับความเสี่ยงมากเดี่ยวเช่นกัน แต่นั้นไม่ใช่หมายความว่าเราจะไม่เอาปัญหาของสายอาชีพของเราออกมาตีแผ่หรือมานั่งคิดว่า “ทำไม” มันถึงเกิดปัญหาขาดแคลนหรือคนไม่อยากทำงานในสายอาชีพนี้ เพราะถ้ามันมีปัญหาและไม่ตีแผ่ออกมาแล้วซุกมันไว้ มันก็จะเป็นอย่างเดิม (เหมือนมี bug แต่ไม่ยอมแก้ ปล่อยๆ มันไปแบบนั้น) ผมเชื่อว่าถ้าสายอาชีพอื่นๆ อยากทำบ้าง ก็ต้องดิ้นกันไปตามช่องทางที่ตัวเองมีครับ

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

เอ้าาาา เอาเหอะ บ่นไปแล้วก็ทำงานกันต่อครับ อย่าไปคิดมาก ปัญหามันต้องแก้ไข ไม่ใช่ซุกไว้แล้วบอกว่า “ก็มันยังทำงานได้ปรกติดีนิ” ซึ่งมันไม่ใช่วิถีคนสายอาชีพของเรามั้งครับ และส่วนตัวผมยังอยู่ในสายอาชีพไอทีที่ยังใช้วิถีและวิชาที่ได้จากการเป็นโปรแกรมเมอร์อยู่เรื่อยๆ ทุกๆ วัน เพราะตอนนี้ไม่ได้นั่งโค้ดมันอย่างเดียวเท่านั้นแล้ว แต่ต้องเป็นได้มากกว่านั้นเพื่อเพิ่มมูลค่าของตัวเองตามแนวทางคนทำงานด้านไอทีที่เปลียนแปลงอยู่ตลอดเวลาครับ ;)

ส่วนเรื่องสาวๆ ในสายอาชีพนี้เนี่ย ออกแนวเฮฮา แซวกันเฉยๆ คือไม่มีใครคิดกันจริงจังมากมายจนเป็นปัจจัยในการเลือกหรือไม่เลือกทำงานในสายอาชีพนี้เท่าไหร่หรอกมั้ง -_-”

ด้านล่างวิดีโอตัวแรกนี่ดูดีมากสำหรับ Software Engineer เลยนะ นี่มันโลกความฝันที่หาได้ยากในบ้านเราครับ

Day in the life…Software Engineer

แบไต๋ไฮเทค – รายงานพิเศษ: Thai Programmer Crisis