Jan 27

ผมอยากพูดถึงเรื่องการออกแบบ Web Infrastructure ซึ่งเป็นเรื่องที่ผมคิดว่าเป็น skills
ที่ผมถนัดที่สุด ไว้ให้เพื่อนๆ ได้ลองเอาไปวิเคราะห์ พิจารณา เผื่อจะเป็นประโยชน์บ้างครับ
เรื่องพวกนี้ ผมเคยเขียนไว้ ในหลายๆ ตอน ของ blog ผม ซึ่งบางทีลงรายละเอียด
ไว้มากไป ใน post นี้ ผมจะขอพูดถึง concept หลักๆ ที่สำคัญมากๆ ละกันครับ ..

1.Value คือต้องคุ้มค่า สมราคา อะไรที่แพงๆ ผมจะไม่ใช้ เน้นใช้ของให้คุ้ม อย่าไปเน้นของแพง
2.Performance คือประสิทธิภาพต้องสูง เข้าถึงได้เร็ว ช้านิดเดียวไม่ได้ ต้องคำนึงถึง user ที่ใช้งาน
3.Security คือต้องปลอดภัย เราให้บริการคนอื่นแบบ public จะพลาดนิดเดียวก็ไม่ได้
4.Simple คือต้องง่าย ไม่ซับซ้อน สามารถ track ปัญหาได้ง่าย
5.Scalability คือต้องขยายระบบได้ตลอดเวลา และขยายได้ง่าย

หลักๆ เน้นคำนึง ถึงเรื่องพวกนี้ให้มากๆ ครับ เท่าที่ผมเห็นในไทย ส่วนใหญ่
ยังไม่เคยเจอของหนักๆ จริงๆ กัน มักจะเน้นอุปกรณ์ เน้นว่าต้องมี Firewall
เน้นต้องมี หลายๆ tier (hop) ทำให้เวลา track ปัญหา กลับทำให้ยากขึ้น ..

ใครสนใจ เกี่ยวกับเรื่องพวกนี้ แนะนำเข้าเว็บนี้บ่อยๆ ครับ :)
URL: http://highscalability.com

Tagged with:
Jan 01

สวัสดีปีใหม่ 2015 ครับ เพื่อนๆ พี่ๆ น้องๆ ทุกท่าน
ปีใหม่นี้ขออำนาจแห่งคุณพระศรีรัตนตรัย และสิ่งศักดิ์สิทธิทั้งหลายในสากลโลก
โปรดดลบันดาล ประทานพร ให้ทุกท่านประสบแต่ความสุข ความเจริญ
ความสำเร็จ ในหน้าที่การงาน ไม่เจ็บป่วย สุขภาพแข็งแรง
ร่ำรวยด้วยคุณธรรม ศิลธรรม และทรัพย์สินเงินทอง ..

เป็นธรรมเนียมของผมเองทุกปี ที่จะเขียนสรุป เรื่องในปีที่ผ่านมาและ
แผนที่วางไว้ในปีนี้ เพื่อเป็นแนวทาง และเป้าหมายหลักๆ ที่จะต้องทำ
ในปีนี้ ..

ปี 2014 ที่ผ่านมา
- ได้รถ 4WD ไว้ใช้งาน แต่จริงๆ อยากได้ Jeep Cherokee มากกว่า
- ระบบที่ดูอยู่หลักๆ ก็ยังคงต้องดูอยู่ ยัง hand over ไม่ได้จริงๆ สักที
- ทำระบบที่ดูอยู่หลักๆ ให้มี performance เพิ่มมากขึ้น stable มากขึ้น รับ load ได้มากขึ้น
- การกระจายงาน ยังทำได้ไม่ดี เท่าที่ตั้งใจไว้
- ออกกำลังกายเยอะขึ้น เพราะได้ปั่นจักรยานมากขึ้น กลับบ้านบ่อยขึ้น
- เรื่องกินดื่มไม่ได้ลดลง ค่าใช้จ่ายฟุ่มเฟือยไม่ได้ลดลง ตามเป้าที่วางไว้
- บ้านที่จันทบุรี เสร็จแล้ว แต่เสร็จปลายปี 2014
- ปรับตัวเข้ากับคอนโดที่อยู่ใหม่ได้ แต่ต้นปีหน้า ที่ทำงานย้ายไปรัชดา เหมือนเดิม
- งานที่มีอยู่ รับผิดชอบได้ดีในมุมมองของตัวเอง แต่บางครั้ง คนอื่นไม่รู้ว่าทำอะไรอยู่
- มีรายได้เสริม จากงานนอก เข้ามามากขึ้น
- ใครสักคนนี่ยังหาไม่ได้สักที :)

สิ่งที่ตั้งเป้าหมายไว้ ในปี 2015
- จัดการเรื่องเฟอร์นิเจอร์ที่จำเป็น และสถานที่รอบๆ บ้าน ให้เรียบร้อย ภายในต้นปี
- หาคนมาช่วยดูระบบหลักๆ เพื่อช่วยกันแก้ปัญหา และทำให้งานมี performance มากขึ้น
- กระจายงาน เข้าสู่ส่วนกลาง หรือ hand over งานให้ได้แบบจริงๆ
- ออกกำลังกายให้มากขึ้น ทำโรงซ่อม-เก็บจักรยาน สำหรับเพื่อนนักปั่น ที่บ้าน จันทบุรี
- กินดื่มให้น้อยลง งดซื้อของฟุ่มเฟือย
- ทำสวนรอบๆ บ้าน ให้ร่มรื่นสวยงาม ภายในกลางปี
- หาที่อยู่ใหม่ แถวรัชดา ถ้าซื้อได้เลย น่าจะดีกว่าเช่า
- รับผิดชอบงาน และร่วมงานกับเพื่อนร่วมงาน ให้ดีที่สุด ตัด EGO ทิ้งให้มากที่สุด
- รับงาน events งาน wedding แบบเต็มตัว ให้เป็นรายได้หลัก ของปีนี้ให้ได้
- ใครสักคน ถ้าจะมีก็คงมาเอง ..

Tagged with:
Oct 25

วันนี้ผมมีเวลาว่าง เลยอยากจะเขียนเล่าเรื่องการออกแบบ
Web Infrastructure ให้รองรับ load สูงๆ ได้ ว่าทำแบบไหนดี
โจทย์ของผมคือเป็น web สำหรับ booking ที่จะมีคนเข้าใช้งานจำนวนมาก
ในตอนเปิดให้ใช้งาน เป้าหมายที่ตั้งไว้คือ 1000 concurent/s ++
และต้องไม่ down โดยผมมี physical server อยู่ 3 node

ในการออกแบบ Infrastructure นั้น ไม่มีแบบไหนถูกแบบไหนผิด
อยู่ที่ลักษณะของงานของเรา ว่าต้องการแบบไหน อยู่ที่จินตนาการของเรา
ว่าทำแบบไหนดี การออกแบบระบบ ก็เป็นศิลปะ อย่างหนึ่ง ..

Simply The Best เป็นคำตอบ ที่ผมใช้ออกแบบระบบที่ผมจะใช้งานนี้
เท่าที่ดูลักษณะ web แล้ว จะมีการ Read/Write DB หนักพอๆ กัน ถ้าเราแยก DB
ออกไป ก็จะทำให้เกิด connections จำนวนมากเกิดขึ้นในระบบ
ต้องแยก Read/Write ที่ตัว web app อีกเกิดความยุ่งยาก มากขึ้น
ผมเลยเอา web กับ DB ไว้ในตัวเดียวกันไปเลย แล้วใช้ HAProxy
เป็น Load Balancer round robin แบบ keep-alive
มี vip เป็น Public IP ที่ eth0 และใช้ eth1 เป็น Private IP
ยิงเข้าหา แต่ละ node ที่ต้องแยก interface เพื่อเป็นการกระจาย traffic
DB ที่ใช้ผมเลือกเป็น MariaDB ที่ทำงานได้ performance ดีกว่า MySQL
และใช้ Galera Cluster เป็นตัว sync data ของ DB แต่ละ node เข้าหากัน
ทำให้ ทุก node มี data ที่เหมือนกัน node ใด node นึง down ไป
ทุก node ก็จะยังทำงานได้สมบูรณ์ ถ้าเราต้องการเพิ่ม node เข้ามา
ก็สามารถทำได้ง่าย แค่ on ขึ้นมา Galera Cluster ก็จะทำการ sync data ให้

ในส่วนของ Web Server ผมใช้ Apache 2.2.22 ที่มากับตัว Debain Wheezy
มีการ tuning ค่าต่างๆ พอสมควรให้เหมาะกับการใช้งาน ตรงนี้เดี๋ยวผมมาเล่าอีกที
ที่เลือกใช้ apache เพราะ มีความยืดหยุ่นสูง ทำงานได้ดีกับ code ทุกรูปแบบ
ส่วน code เป็น PHP กระจายไปทุก node เก็บไว้ที่ local disk ของแต่ละ node
และใช้ APC เป็น opcode cache อีกระดับนึง

ปัญหาที่เจอ มีดังนี้
- auto increment จะไม่เรียงกัน เท่าไร มีกระโดดบ้าง แต่ก็รับได้
- HAProxy 1.5.4 default จะเก็บ log ทำให้ ถ้า log ใหญ่ๆ จะหนักได้
- เวลาแก้ code ต้อง up ทุก node

ผลที่ออกมา หลังจากใช้งานจริง พบว่า รองรับการใช้งานได้ดีมาก
รับ load จำนวนมหาศาล และ users ได้จำนวนมากพร้อมๆ กัน
ส่วนรายละเอียดการ tuning ผมจะขอแยกอธิบาย ในตอนต่อไป
เพราะว่า เยอะพอสมควร ..

Tagged with:
Sep 17

http://blog.networkpresence.co/?p=4297

Tagged with:
Sep 11

varnish-book

Tagged with:
Sep 02

web_security_present_20140903

Tagged with:
Aug 03

เมื่อวาน 2nd Aug 2014 ผมตื่นแต่ 6.00AM กะว่าจะกลับบ้าน ไปดูความเรียบร้อย
ของบ้านที่สร้างที่จันทบุรี แต่ไป start รถไม่ติด เพราะไม่ได้ใช้มานาน แบตเสื่อม
เหตุการณ์นำพาให้ผมคิดว่า ลางไม่ดีละ งั้นก็ค่อยกลับอาทิตย์หน้า วันแม่ดีกว่า หยุดหลายวัน
ผมก็เลยคิดว่า งั้น เดี๋ยวคืนนี้ ไปส่งท่านชินดีกว่า ก็คิดอยู่นาน ว่าจะซื้อของขวัญอะไรให้ดี
เพื่อนจากไปไกล ไปนาน ไปถึง New York City จริงๆ จะทำของให้ แต่ว่าที่ผ่านมา งาน
ค่อนข้างเยอะ ไม่มีเวลา D.I.Y. พอ ปกติผมจะเป็นคนชอบให้หนังสือ กับคนที่สำคัญ
ผมเอง ถึงจะเข้าร้านหนังสือบ่อย แต่ก็ไม่ได้ติดตามวงการหนังสือ มานานมากแล้ว ก็คิดว่า
จะซื้อเล่มไหนดี เจอเล่มนึง “New York 1st Time” ลองอ่านดูสองตอน สนุกดี ก็เลยจัดไป ..

ผมรู้จัก กับท่านชิน ตั้งแต่สมัยผมเข้ามหาลัย ปี 1 ที่วิศวะ ลาดกระบัง เพราะเป็นคนทำเว็บด้วยกัน
เดิมท่านชินใช้ front page ของ M$ ชึ่งมัน coding แปลกๆ ผมก็เลยแนะนำว่า มาใช้ Dream ดิ
ซึ่งตอนนั้น คนที่ใช้ Dream มีน้อยมากจริงๆ ต้องพวกระดับ ต้นๆ ของวงการเว็บจริงๆ ถึงใช้
จากนั้นก็คุยกัน ทำงานด้วยกันมาเรื่อยๆ (2003) Gulife.com ถือเป็นเว็บ Diary ที่ใหญ่สุด
เจ๋งสุดในไทย ตอนนั้นผมก็ อยู่ในทีมงาน ที่ช่วยๆ เรื่อง Program และ Server ให้กับท่านชิน
ตอนนี้ Programmer (ตอง) ทำงานอยู่ Apple ไปละ ไปได้ดีกันทุกคน เหลือแต่ผมนี่แหละ 5555 ..

จากนั้นมา ก็สนิทกัน ท่านชิน เป็นที่ปรึกษาและเป็นเพื่อนสนิท ที่ดีมากๆ สำหรับผม (น้ำตาไหล 555)
การเดินทางของท่านชิน ในวันนี้ ทำให้ผมกลับมามองทบทวนตัวเอง ว่าที่ผ่านมา เราทำอะไร
แล้วชีวิตจริงๆ เราต้องการอะไร จากผมไม่เคยหาหนังสืออ่าน มาหลายปี ทำให้ผมเข้าร้านหนังสือ
ทำให้ผมได้คิดอะไร นอกจากนั้น ทำให้ผมอยากแก้ไขเรื่องแย่ๆ ของผม ทำให้ผมอยากทำอะไรใหม่ๆ
ไม่น่าเชื่อเลยว่า แค่ผมมีโอกาส ไปส่งท่านชิน ไป NY ที่สนามบิน ผมจะได้อะไรกลับมาเยอะขนาดนี้ ..

โชคดีเพื่อน ขอบคุณทุกสิ่งทุกอย่างที่ผ่านมา แล้วเราจะได้พบกันอีก :)

Tagged with:
Mar 07

ช่วงนี้ ผมมีอะไรๆ หลายๆ อย่างอยากเขียน เพราะรู้สึกว่า มันอยากระบาย ออกมาในรูปแบบ diary
เหมือนตอนมัธยม ที่จะเขียน diary ลงสมุด diary ทุกๆ วัน ตอนนี้ เก็บไว้อ่าน ก็ได้อะไรเยอะดี ..

งานของผม หลักๆ ก็จะเป็นงานดูระบบ หรือที่เรียกว่า System Admin, System Engineer
ที่ดูระบบหลักๆ ที่เป็น Linux ซึ่งจริงๆ แล้ว งานทางด้านนี้ ไม่จำเป็นต้องเก่งมาก ค่อยๆ เรียนรู้ได้
แต่หยุดนิ่งไม่ได้ ต้องพัฒนาความรู้ หา technology ใหม่ๆ มาช่วยทำให้ระบบมีประสิทธิภาพมากขึ้น
และหากจะให้ดี ต้องเคยเขียนโปรแกรมมาก่อน รู้เรื่อง SQL เป็นอย่างดี เคยทำเว็บมาก่อนจะดีมาก
แต่สิ่งที่สำคัญที่สุด ก็คือการมีความรับผิดชอบ ในระบบที่ดู ตลอดเวลา 24×7 ไม่ว่าจะเวลาไหนก็ตาม
โดยปกติแล้ว ปัญหาต่างๆ มันจะไม่ค่อยเกิด ในเวลาทำงาน แต่เราต้องพร้อมแก้ปัญหา ในทุกเวลา
งานมันไม่เหมือนงานอื่น ที่ทำงานเป็นเวลาได้ เข้าเช้า เย็นกลับ แต่งานดูระบบ ต้องพร้อมรับมือตลอดเวลา ..

ตอนนี้ ผมก็รับสมัครอยู่ครับ ใครสนใจก็สมัครกันมาได้ แต่ขอให้เป็นคนที่มีความรับผิดชอบในหน้าที่
รักในระบบที่ดู ตรงต่อเวลา พร้อมรับฟังข้อเสนอแนะ ของผู้ที่มีประสบการณ์มาก่อน แค่นี้พอ เรื่องอื่น
มาพัฒนาทักษะ ความรู้กันได้ รับรองว่าระบบที่ดู เป็นระบบที่โหดสุด หนักสุด ในประเทศไทย ไม่มีที่ไหน
ให้ทำ ให้ท้าทายแบบนี้แน่ๆ สนใจอ่านรายละเอียด แล้วส่ง resume มาสมัครกันได้ครับ :)
http://ton.packetlove.com/blog/life-style/system-engineer-jobs.html

ตอนนี้ ผมกำลังสร้างบ้านที่จันทบุรี บ้านเล็กๆ ชั้นเดียว 84 ตารางเมตร แต่ว่ายังหาผู้รับเหมา ที่คิดราคา
ที่เหมาะสมไม่ได้ เพราะว่าตามจริงแล้ว น่าจะ ตารางเมตรละ ประมาณ 10000 บาท แต่เจอเข้าไป
2.1 ล้านบาท ผมว่ามันแพงเกินไป ก็เลยยังไม่ตัดสินใจ ยังหาผู้รับเหมาคนอื่นต่อไป ใครรู้จัก ก็แนะนำ
มาได้ครับ ขอที่สักประมาณไม่เกิน 1.5 ล้าน แล้วไม่ทิ้งงาน ทำงานดี ผมก็พอใจแล้วครับ ..

ช่วงนี้ก็วุ่นๆ ทั้งงานประจำ และงานสร้างบ้านที่จันทบุรี เวลาวุ่นๆ ก็ดีเหมือนกัน จะได้ไม่มีเวลาว่างๆ
อันนี้ เป็นแบบบ้านที่ผมจะสร้างครับ เป็นแบบบ้านประหยัดพลังงาน ซึ่งมีคนสร้างจริงกันเยอะแล้ว ..

 

ส่วนอันนี้ เป็นที่ ที่ถมไว้เรียบร้อย พร้อมสร้างบ้านครับ ..


 

 

 

 

Tagged with:
Jan 02

แสงสุดท้ายของปี 2013 ที่บริเวณที่จะสร้างบ้าน ที่จันทบุรี

สวัสดีปีใหม่ 2014 ครับ เพื่อนๆ พี่ๆ น้องๆ ทุกท่าน ขอให้มีความสุข สุขภาพแข็งแรง ประสบความสำเร็จ
ในหน้าที่การงาน สมดังใจหมายกันทุกท่านครับ ..

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

ปี 2013 ที่ผ่านมา
- เดินทางทั้งในและต่างประเทศ รวมทั้งเดินป่า เที่ยวธรรมชาติ มากขึ้น
- ขยาย Infrastructure ของระบบที่ดูอยู่ ไปยัง True IDC เมืองทอง
- รับผิดชอบงานสำคัญ หลายๆ Project เพิ่มขึ้น
- ยังไม่สามารถแยกและวางระบบใหม่ได้ทั้งหมด
- ขาดการออกกำลังกาย และดูแลสุขภาพ
- กินดื่ม ใช้จ่าย มากเกินไป
- บ้านยังไม่ได้แบบที่สมบูรณ์
- ย้ายที่ทำงานมาอยู่ตึกใหม่แถวพัฒนาการ แทนรัชดา
- รายจ่ายเพิ่มขึ้น

สิ่งที่ตั้งเป้าหมายไว้ ในปี 2014
- จัดรถ 4WD สักคันไว้เดินทางท่องเที่ยว ถ่ายรูป ลงเว็บจริงๆ จังๆ
- ทำระบบ Infrastructure ของระบบที่ดูอยู่ใหม่ โดยเฉพาะ storage
- กระจายงานที่ทำอยู่ ให้คนอื่นทำบ้าง เพราะทำคนเดียว เยอะไป
- ออกกำลังกาย วิ่ง ปั่นจักรยาน บ่อยๆ กลับบ้านที่จันทบุรี บ่อยๆ
- กินดื่มเฉพาะ โอกาสสำคัญจริงๆ งดใช้จ่ายในเรื่องไม่จำเป็น
- ทำบ้านที่จันทบุรี ให้เสร็จ ภายในต้นปี 2014
- ปรับตัวให้เข้ากับที่อยู่ใหม่ ให้ได้ ถ้าไม่ได้คงต้องกลับไปอยู่ที่เก่า
- รับผิดชอบงาน ที่ทำอยู่ให้มีประสิทธิภาพสูงสุด
- รับงานนอก และทำธุรกิจส่วนตัวเป็นรายได้ เสริมจากรายได้ประจำ
- หาใครสักคน ไว้อยู่ดูแลกัน เป็นกำลังใจให้กัน :)

ประมาณนี้ครับ แต่ต้องทำให้ได้ให้ครบทุกข้อ ..

Tagged with:
Jul 13

เขียนโปรแกรม จัดการรูป สนุกไปอีกแบบ :)

ผมไม่ได้เขียน Blog นานแล้วเหมือนกันครับ ด้วยความวุ่นๆ ต่างๆ
วันนี้ อยากเขียนบันทึกไว้ ว่า ช่วงนึง เรามีความรู้สึกนึกคิดยังไงบ้าง
อนาคตมาอ่าน จะได้ปรับปรุงแก้ไข ความรู้สึกคนนี้ ให้ดีขึ้นได้ ..

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

สำหรับไฟ ผมมีแน่นอน แล้ววันนึง คงได้เห็นกันครับ ..

Tagged with:
preload preload preload
eXTReMe Tracker