2019: End of a Century

ไม่น่าเชื่อว่า 2020 จะมาแล้ว หลายปีก่อนเรายังคิดว่ามันเป็นอนาคตที่เราจะมีโดเรม่อนอยู่ในบ้านอยู่เลย (แต่โดเรม่อนมาจากศตวรรษที่ 22)

ถ้าจะเขียนบล็อคให้เหมาะสมกับโอกาสนี้ก็คงต้องเขียนว่าในทศวรรษที่ผ่านมามีอะไรบ้าง แต่ก็คิดว่าน่าจะเยอะมากเพราะตอน 2010 เรายังอยู่ม. ต้นอยู่เลย

อย่างหนึ่งที่แน่นอนว่าจะเกิดขึ้นคือความเป็นผู้ใหญ่ – Maturity

ตอนเป็นเด็กเราสงสัยมาตลอดว่ามันแปลว่าอะไร ผู้ใหญ่ก็ตอบได้แค่ว่า “ไม่ใช่ผู้ใหญ่ก็เลยไม่เข้าใจ” เราว่าเค้าไม่เข้าใจเหมือนกับเรานั่นแหละ

เราคิดว่าความเป็นผู้ใหญ่มีอยู่สามอย่าง

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

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

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

สองคือเรามี empathy กับคนอื่นมากขึ้น ตอนเป็นเด็กเราไม่เคยคิดเลยว่าครูในโรงเรียนจะมีโลกของเค้า เค้ามีการเมืองของเค้าว่าคนนี้ไม่ถูกกับคนนั้น และเค้าใช้ชีวิตเหมือนคนปกตินอกโรงเรียนด้วย (ในยุคนั้นถ้ารู้ว่าครูคนไหนเล่นเกมคือแปลกมาก)

เราคิดว่ามันอาจจะมีหลายเหตุผลที่เป็นไปได้ว่าทำไมเพิ่งจะเริ่มมี empathy เราอาจจะ tunnel vision อยู่ก็ได้, เราอาจจะอยู่ในระบบที่ถูกแยก us vs them หรือเพราะโรงเรียนเค้าสอนว่าครูเป็นผู้สูงส่ง ก็เลยมองเค้าเป็นเหมือน NPC ก็เป็นได้ ตอนนี้ก็ยังไม่เข้าใจว่าทำไม แต่มารู้หลังจากเรียนจบไม่นานก็สังเกตได้เลย

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

ก็เลยเห็นว่าถึงจะเป็นเงินส่วนตัวเหมือนกัน แต่พอเป็นเงินเก็บกับเงินที่หามาเอง เราคิดเยอะกว่าเดิมมากเลยนะ

ปีนี้ก็อายุ 25 แล้ว รู้สึกว่าเรื่อยๆ เปื่อยๆ ไม่ค่อยมีอะไรสำคัญเท่าไร

ตั้งแต่ชนะ NSC ตอนม. 6 ไปจนถึงเข้าแข่ง APICTA 2013 ก็รู้สึกว่าอันนั้นคือความสำเร็จที่ภูมิใจมากๆ อันนึง แต่มันก็ผ่านช่วงเวลานั้นมานานแล้ว เราก็บอกตัวเองว่าเราต้องไล่ตามความสำเร็จอันถัดไป

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

เรายังมองไม่เห็นว่าทศวรรษถัดไปเราจะกลับไปตามหาความสำเร็จแบบนั้นยังไง มันน่าจะต้องยอม risk taking มากพอสมควร และตอนนี้ยังไม่กล้าที่จะเสี่ยงอะไรขนาดนั้น

Work

ปีนี้ทำงานมาครบสองปีแล้ว

มาเอะใจตอนทีมมีกิจกรรม ice breaking แล้วเค้าให้เขียนคนที่ “อยู่บริษัทมาเกินสามปี” ตอนนั้นก็เพิ่งรู้ตัวว่าจริงๆ แล้วเราอยู่ที่นี่มาสามปีแล้วนะ – เกือบหนึ่งปีตอนฝึกงาน และงานประจำอีกสองปี

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

New Office, New Desk, New Macbook

ช่วงต้นปีบริษัทย้ายออฟฟิศมาที่ใหม่ ซึ่งมันก็คือย่านเดิมนี่แหละแถมใกล้รถไฟฟ้ากว่าเดิม ก็มีทั้งข้อดีและข้อเสีย อันนึงคือเราเพิ่งซื้อ Nintendo Switch มานั่งเล่นรอออฟฟิศเปิด หลังเล่น Breath of the Wild จบก็วางทิ้งไว้ไม่ได้เล่นแล้ว เพราะออฟฟิศใหม่เปิดตลอด 24 ชั่วโมง (เค้าก็ไม่ได้บอกเราว่าจะย้ายตอนซื้อ Switch ด้วยนะ)

Product ตัวนึงที่เราทำปีนี้คือ Analytics ตอนที่ทำก็ค่อนข้างกังวลมากเพราะเราไม่เห็นด้วยกับ user tracking แต่พอทำบริษัทเองอยู่ก็เริ่มเข้าใจว่าพอไม่ track อะไรเลยก็ตอบคำถามยากว่า marketing เราได้ผลหรือไม่ เราเลยบอกกับ CTO ไปเลยว่าเราไม่เห็นด้วยกับ user tracking จะไม่ทำฟีเจอร์อะไรที่มันรุกล้ำความเป็นส่วนตัว

สุดท้ายสิ่งที่ทำออกมามันก็เหมือนเราปิดตาข้างนึง คือเรามี base platform ไว้ให้แล้วใครอยากจะ track อะไรก็ยิง hit มา มันก็เหมือนยืมมือคนอื่นทำบาปอยู่

CTO ให้ข้อเสนอมาว่าเรา research privacy-preserving tracking ก็ได้นะ (เช่น แบบที่ Mozilla ทำอยู่) แต่เราคิดว่าสุดท้ายถ้าคนในองค์กรไม่ใส่ใจเรื่อง privacy ถึงจะสร้างระบบที่ล้ำหน้าแค่ไหน ถ้ามันไม่มี user tracking เค้าก็คงไม่พอใจกับ product เราอยู่ดี

ก็เป็นประเด็นที่ค่อนข้างกังวลเพราะเราคิดว่านี่คือจรรยาบรรณของวิชาชีพนี้ ตอนนี้บริษัทยังปล่อยผ่านไปได้ แต่เราคนเดียวคงจะเปลี่ยนทั้งองค์กรไม่ได้ (ถ้าเราไม่ทำ ก็คงมีคนอื่นทำ ถ้าไม่มีคนทำก็อ้างว่าขายลูกค้าไปแล้วจะทำให้ยังไง แล้วก็ได้ common ground ที่ user แพ้อยู่ดี) ก็ยังไม่รู้ว่าอุดมการณ์ที่กินไม่ได้จะอยู่กับเราไปนานแค่ไหน


ปีนี้ที่รู้สึกว่าเพิ่มมาคือเขียน Go จริงจังแล้ว (เริ่มจาก Analytics นี่แหละ) หลังจากปีที่แล้วก็เขียนอยู่ขำๆ นิดหน่อย พบว่าพอภาษามันไม่มีท่าเฉพาะตัวมากนัก บวกกับ Go 1.11 module มันเลยรู้สึกว่าจับนิดเดียวก็เขียนเป็นแล้ว ไม่ยากเหมือน Java ที่ community เค้าซับซ้อน เขียนตรงไปตรงมาไม่ได้ต้องใช้ Stream, apply design pattern เยอะๆ

อีกภาษาที่ลองจับอยู่คือ Kotlin ซึ่งเราเคยเชียร์สมัยยังเขียน Android อยู่ ตอนนี้กลับไปก็พบว่าภาษามันมีแต่ magic เต็มไปหมด ใครบอกว่าเขียนภาษาหนึ่งเป็นแล้วไปเขียนอีกภาษาได้นี่อยากให้มาลองเขียน Idiomatic Kotlin

Rust ก็กลับไป revisit อยู่นิดหน่อย รู้สึกว่ามันเปลี่ยนไปมากโดยเฉพาะการที่ try! macro เลิกใช้ไปแล้ว และเราก็ลืม borrow semantics ไปเยอะ เอามาลองเขียนเว็บตัวนึงก็ประทับใจ Compile time checks ต่างๆ แต่มันทำให้เรา Dev ช้ามากชนิดที่ว่าเขียนแอพเดียวกันใน Go ใช้เวลาครึ่งเดียว ตอนนี้ก็เลยไม่คิดว่าจะกลับไป Rust แล้ว เพราะเราไม่มี use case ที่ต้อง Rust เท่านั้นใช้ Go ไม่ได้ด้วย

ที่รู้สึกว่ากำลังจะเป็นปัญหาคือไม่ได้เขียน React นานมาก Django ยังพอได้จับอยู่นิดหน่อยแต่น้อยมากแล้วก็เริ่มรู้สึกว่าลืม React ไปเยอะมาก (ไม่เคยจำ lifecycle ใหม่มันได้เลย) ก็รู้สึกว่าควรจะต้องหาโอกาสมาทำบ้างก่อนที่เราจะล้าหลังไป

แนวทางของ React team ในปีที่ผ่านมานี้ก็รู้สึกว่าเราไม่เห็นด้วยกับแทบทุกอย่างที่เค้าทำ เค้าพยายามจะเป็น library สำหรับทุกคนแม้แต่ Junior dev ที่ไม่เข้า JavaScript จนปรุโปร่ง ซึ่งเราคิดว่าไม่ใช่ปัญหาที่ library ต้องแก้ ก็เลยคิดว่าเราควรจะมองหา library ที่ถูกจริตเราสำหรับงานส่วนตัวของเรา (แต่เพราะเราไม่ใช่ frontend dev ก็อยากได้ component สำเร็จรูปทุ่นแรงพอสมควร) ช่วงกลางปีลอง Svelte ก็รู้สึกชอบแต่ pre-made component มันน้อย และงานเราเขียน Backend มากกว่า ปีหน้านี้ก็อาจจะเขียน VueJS ดูว่ามันเป็นยังไง


ลองกลับไปอ่านบล็อคปีที่แล้วดูก็พบว่าปีนี้แทบไม่ได้ออกงานพูดอะไรเลย สมัยยังเด็กที่บ้านสนับสนุน ไปรับไปส่ง เดี๋ยวนี้โตแล้วก็ต้องไปเอง เลยไม่ได้อยากไปงานไหนเพราะเสียค่ารถแพงและเราไม่อยากไปนั่งฟังเนื้อหาพื้นๆ – ส่วนมาก conference talk เราฟังครึ่งแรกก็พอจะเดาตอนจบได้แล้วนะ

แต่ถ้าเชิญไปพูดแล้วเรามีเนื้อหาพอดีก็ยินดีจะไปอย่างยิ่งเลย ปีนี้ไม่ค่อยมีคนเชิญเท่าไร แล้วก็ปฏิเสธไปงานหนึ่งด้วยเพราะไม่มีเนื้อหาให้ตรงกับธีมงานเค้า ปีหน้านี่ส่งหัวข้อให้ JavaScript Bangkok ไปแล้ว แต่ก็ไม่ได้รับเลือก ก็มีอีกงานของที่บริษัทจะจัดแล้วเชิญคนนอกมา ก็คงไม่ reach มากเท่ากันแต่ก็ยังดีที่จะได้ออกงานบ้าง

ข้อเสียของการไม่ไป Meetup คือก็ไม่ได้เจอผู้เจอคน สมัยก่อนคนรู้จักเราพอสมควร เดี๋ยวนี้คิดว่าเป็นตัวละครลับไปแล้ว

Vendor Relationship

ธีมของงานที่ทำในปีนี้คือ Relationship กับ Vendor ต่างๆ ที่เราใช้อยู่ ซึ่งอยู่ดีๆ ก็ได้มาโดยไม่มีใครมอบหมาย เพราะฝั่ง vendor ขยายทีมแล้วก็เลยติดต่อเรามา

เจ้าแรกเลยคือ Cloudflare ปีนี้ Cloudflare รุกตลาดไทยหนักมาก ซึ่งเราที่เป็นลูกค้าเก่าเค้าก็เลยเริ่มเห็นการดูแลลูกค้าที่ดีขึ้นกว่าเดิมมาก และเพิ่งมารู้ว่าเราเป็นลูกค้ารายแรกๆ ของเค้า เค้าเลยยิ่งอยากได้เราไปขายลูกค้าเจ้าอื่นต่อ

เราค่อนข้างเป็นแฟนบอย Cloudflare จากบล็อคของเค้า ก็ชื่นชมเค้าออกปากหลายครั้งว่าเป็นต้นแบบว่า Company Blog เราควรจะเป็นแบบนี้ ซึ่งบริษัทในไทยน่าจะมีน้อยนักที่จะเขียนเรื่องลึกๆ เกี่ยวกับ product แบบเค้า ถึงแม้ Cloudflare จะมีข่าวไม่ดีอยู่บ้างเช่นกรณีไล่ Daily Stormer ออก (แต่ออกปากว่า Net Neutrality) และ Cloudbleed แต่เราคิดว่าโอเคกับวิธีที่เค้ารับมือกับทั้งสองกรณีนี้นะ

ปีนี้ Cloudflare เชิญไปเยี่ยมออฟฟิศสิงคโปร์ถ่ายวิดีโอแนะนำลูกค้า ต้นปี 2020 น่าจะได้เห็นกัน ก็รู้สึกว่าเป็นโอกาสที่ดีที่จะเป็นหน้าเป็นตาของบริษัทบ้าง

From Marina Bay Sands

อีกเจ้านึงคือ Huawei Cloud ซึ่งก็เขียนลงบล็อคบริษัทไปแล้ว จริงๆ ก็ยังแปลกใจอยู่ว่าเรายอมซื้อเค้า (เพราะบริษัทเค้าก็ไม่ค่อยเป็นตัวเลือกที่ ethical เท่าไรนัก – ถ้ามีตัวเลือกที่ดีพอกันแต่ background check แล้วดีกว่านี้ก็คงอยากจะย้าย) แต่ถ้ามองที่ merit ของตัว product แล้วในตอนนี้ก็ยังไม่มีตัวเลือกอื่นเท่าไรนัก โดยเฉพาะเมื่อ Cloud ตะวันตกยังไม่น่าจะมีแผนเข้ามาในไทยในอีกหลายปีนี้ ถ้าถึงเวลานั้นแล้วก็คงจะต้องพิจารณาใหม่อีกครั้ง


พอทำงานกับ vendor มากๆ แล้ว รวมไปถึงเขียนบทความต่างๆ ด้วย ก็มีคนถามอยู่บ้างเหมือนกันว่าไปเป็น influencer ให้เค้ามั้ย เราคิดว่าเราไม่โอเคกับการเป็น influencer เพราะคิดว่าเวลาเราอ่านรีวิวคนอื่นเราอยากได้ honest opinion เราก็อยากจะให้คนอื่นอ่าน honest opinion ของเรา (โดยเฉพาะที่ใช้งานจริงๆ) มากกว่าจะอวยเพราะเค้าบอกมาให้อวย

Open Source Burnout

หลังจากพยายามทำ Open source ให้ดังมาหลายปี ปีนี้ก็เริ่มพอจะเห็น Pull request ส่งเข้ามาบ้าง มีคนเอา library เราไปใช้ต่อยอดบ้าง

แต่มันก็เริ่มกลายเป็น burden เพราะตื่นมาเราจะเจออีเมล issue มาถามคำถาม, pull request ที่ต้องรีวิว กับ project เก่าๆ ที่ไม่มี passion ทำแล้ว ถึงมันจะน้อยมากแต่มันก็รู้สึกว่าเสียเวลา

สองคือ ไอเดียของ open source คือเราคัน เราก็ทำโปรแกรมมาแก้คันแล้วแจกออกไป คนเอาไปใช้ก็พบว่ามันแก้คันเค้าได้เกือบหมด แต่ไม่หมด เค้าก็เพิ่มฟีเจอร์แล้วส่งเข้ามา ซึ่งมันก็ตกที่เราที่จะต้อง maintain ต่อ และตลอดไปด้วยเพราะคนที่ส่ง patch มาก็ส่งเป็น one off ทั้งนั้นแหละ มันเลยยิ่งไม่มี passion เพราะฟีเจอร์ส่วนมากที่ต้องดูกลับไม่ใช่ฟีเจอร์ที่เราใช้เอง

แล้ว contributor บางทีก็ยิ่งน่ารำคาญ เพราะพอเราจะต้องดูต่อ เราก็บงการเอาว่าอยากได้แบบนี้ contributor ก็บอกว่ามันก็เหมือนกันจะแก้ทำไม สุดท้ายเราก็ไม่กด merge มาจนถึงตอนนี้ เรื่องนี้น่าจะเป็นฟางเส้นสุดท้ายที่ทำให้รู้สึกว่าไม่เอาแล้ว

สามคือ เราไม่ได้คิดจะนั่ง polish มันไปเรื่อยๆ มันไม่ใช่ product ที่ต้องทำ sprint มันคือโค้ดที่เราใช้เสร็จแล้วเอามาแจกต่อ ผลคือ มันไม่มีวิสัยทัศน์ ไม่มีทิศทางใดๆ ทั้งสิ้น ใครส่งเข้ามาตอนแรกก็ดีใจแล้วรับมาหมด จนกระทั่งมา refactor ทั้งแอพแล้วก็ตั้งคำถามว่าทำไมมันต้องมีฟีเจอร์นี้

และตอน refactor มันก็ไม่เหมือน refactor project ทั่วๆ ไป มันเหมือน dev ทั้งบริษัทลาออกหมดแล้วแล้วทิ้งไว้ให้เรา refactor – ถึงเราจะเป็นคนที่รู้มากที่สุดแต่เราก็ไม่รู้ทุกอย่าง จะถามใครก็ไม่ได้ จะตัดออกก็จะทำให้คนที่เค้าส่ง PR มาทำงานไม่ได้

Workflow

หลังจากนี้ก็คงคิดว่าจะปรับเป็นแบบ throw code over the wall แล้วคือโค้ดไหนเราไม่หวง เราก็ปล่อย open source เหมือนเดิม แค่ไม่มี support ใดๆ ทั้งสิ้น PR ไม่รับ issue ไม่ให้ส่ง แล้วก็ทำเฉพาะ use case ที่เราจะใช้ก็พอโดยไม่ต้องคิดถึงว่าจะต่อยอดยังไง ถ้าใช้แล้วถูกใจ fork ไป maintain เองแล้วกัน

แต่ที่สังเกตคือมันทำให้เรากลัวการ open source มากขึ้นมากๆ – เรากลัวว่ามันจะดังแล้วคนเอาไปใช้

TipMe

หลังจากปีที่แล้วที่มีแต่เรื่องวุ่น ปีนี้รู้สึกว่า burn out มากๆ กับบริษัท เพราะงานเอกสารต่างๆ ที่มันมากขึ้น และเราก็กังวล bus factor ของบริษัทเหมือนกัน จะไปเที่ยวช่วงต้นเดือนยังคิดแล้วคิดอีกเพราะมีหน้าที่ที่ต้องทำเยอะมาก

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

ก็ยังไม่ได้คิดอะไรมาก อย่างที่บอกว่าอยากทำอยู่แล้วและคิดว่าถ้าเค้าเกิดมันก็จะ hedge เรากับผู้ให้บริการรายอื่นๆ ด้วย

สำหรับปีหน้าคิดว่ายังอยากจะ focus เรื่อง payment อยู่ที่ทำได้ไม่ค่อยดี และปีนี้ก็แทบไม่ได้แก้ไขเลย

Life

ช่วงกลางปีไม่สบาย เหมือนจะเป็นหวัดธรรมดาๆ นี่แหละ แต่ก็เริ่มสัมผัสได้ถึงความ Mortality แล้วว่าใช้ชีวิตตามใจตัวเองแบบนี้ไปเรื่อยๆ มันน่าจะอยู่ได้ไม่นาน

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


อย่างที่เขียนไว้ปีที่แล้วว่าปีนี้จะไปดู Keyaki Republic ปรากฏว่าจองบัตรไม่ได้ ก็กำเงินที่เก็บไว้เฉยๆ ยังไม่ได้ไปไหนเลย

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

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

นอกจากญี่ปุ่นแล้ว เคยมองยุโรปอยู่บ้างแต่รู้สึกว่ามันอยู่นอก comfort zone คิดว่าอยากไปแต่ไม่มีแผนเลยว่าไปทำอะไร ถ้ามีงานที่ส่งเราไปยุโรปได้ก็คงดี เหมือนถีบลงทะเลแล้วไปเอาตัวรอดเอาเอง


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

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

จะเล่นเกมก็ไม่รู้จะเล่นอะไร เดี๋ยวนี้ไม่มี Drive ในการเล่นเกมแล้วนอกจากเกมมันจะฉุดเราเข้าไป พยายามหาสาเหตุก็ไม่แน่ใจว่าเพราะอะไร

ตั้งแต่ปีที่แล้วมาก็จะเล่น StarCraft II Coop เล่นไปจน Level หลายร้อยแล้วก็เบื่อ เพราะ Blizzard ไม่ออก map ใหม่มาเลย (เพราะมันไม่ได้ตังค์) ออกแต่ตัวใหม่ๆ เล่นจนเลเวลเต็มแล้วก็เบื่อกลับไปเล่นตัวเดิม ก็จน burn out แล้วก็เลิกเล่น ไปหาเกมใหม่

เกมใหม่ที่ว่าก็คือ RuneScape ซึ่งเราเล่นตอนสมัย 2012 แต่ตอนนั้นเกมมันปรับระบบใหม่หมดแต่ไม่ปัง ผู้เล่นหายไปเกินครึ่ง

ปรากฏว่าทีม Dev เค้าเอา Version เก่าประมาณปี 2007 กลับมาเปิดในชื่อ Old School RuneScape ซึ่งเราอยากได้เวอร์ชั่น 2011-2012 ที่เราเล่นกลับมามากกว่า (มันเล่นง่ายกว่า)

No photo description available.
พยายามจะเป็นธีมคริสต์มาส

เราใช้เวลาสองเดือนทำใจว่าถ้าจะเล่น Old School RuneScape จะต้องเริ่ม level 1 ใหม่หมดทุกสกิล แล้วตอนนั้นเรา grind ไว้เยอะมาก ยังจำได้ว่าเล่นจนหลับแล้วคอมโขกหัวตอนนอน เดี๋ยวนี้เวลาเล่นน้อยมากแล้วจะกลับไปเลเวลเท่าเก่าได้ยังไง

ปรากฏว่าเกมมันมี Mobile แล้ว และไม่น่าเชื่อว่าทีมพัฒนาเค้าสามารถ port เกมที่สร้างปี 2001 ไปลง Mobile ได้ ซึ่งเวลาเล่นก็จะลำบากหน่อยๆ เพราะมันคือ desktop UI ที่ปุ่มใหญ่ขึ้น แต่ยังต้องคลิกขวาเหมือนเดิม แต่ก็ดีกว่าไม่มี

เราคิดว่ามันเป็นเกมมือถือที่ดีกว่าเกมมือถืออื่นๆ มาก หนึ่งคือเกมมันไม่ interactive มาก เราสามารถเล่นไปกินข้าวไป คุยกับคนอื่นไปได้ สลับแอพไปทำอย่างอื่นก็ได้

สองคือเกมมันไม่มี Microtransaction เพราะในเวอร์ชั่นใหม่มันมีและคนด่า ไปจนถึงเลิกเล่น เวอร์ชั่นนี้อย่างเดียวที่ซื้อได้คือเอา Airtime ไปแลกเงินในเกม (ซึ่งในทางกลับกัน คนที่มีเวลาเล่นแต่ไม่มีเงินก็เอาเงินไปซื้อ Airtime ไม่ต้องเติมเงินเล่นก็ได้) เราพยายามจะเล่นเกมที่เป็น free to play หรือ buy to play เท่านั้น ไม่อยากสนับสนุน freemium

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

เป้าหมายที่มาเล่นรอบนี้ยังเหมือนตอนม. 3 คือเรายังอยากได้ Quest cape อยู่ (ทำ Quest ทั้งหมดในเกม) ซึ่งหลังจากเล่นมา 7 เดือนก็ได้ในวันคริสต์มาสพอดี

Quest เกมนี้ค่อนข้างสนุกและคิดว่า story หลากหลายและน่าสนใจดี เสียดายว่า Quest ดีๆ หลายอันใหม่กว่า 2007 ก็เลยจะไม่มีใน Old School ไม่แน่ใจว่าปีหน้าจะกลั้นใจไปเล่น RuneScape 3 ดีไหม

ที่ไม่โอเคกับเกมคือเราคิดว่าเราใช้เวลากับมันมากเกินไป (เหมือนกับสมัยม. ต้นที่เล่น) โดยเฉพาะการที่เกมมี Daily Activity มันก็เลยต้องทำ ก็คิดว่าน่าจะแบ่งเวลากับมันได้ดีขึ้นหน่อย อาจจะหลังเราได้ 99 Farming แล้วอาจจะอยากเลิกทำ Daily run ไปเลย

Love Story

เป็น section ที่ไม่แน่ใจว่าควรจะเขียนดีมั้ย เพราะมันไม่เหมือนบล็อคที่เขียนสมัยม. ต้นที่เราแอบชอบเค้าโดยที่เค้าไม่รู้ ตอนนี้เค้าอาจจะนั่งอ่านอยู่ก็ได้

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


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

เค้าเป็นคนที่ค่อนข้าง nice เค้าบอกว่าขอเวลาตัดสินใจสัปดาห์หนึ่ง

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

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


สัปดาห์ถัดมาหลังจากเหตุการณ์นั้นเราทำงานไม่ได้ เราส่งเมลลางานไปหนึ่งวันโดยเขียนเหตุผลว่า In a bad mood มันกลายเป็น running joke อยู่ช่วงหนึ่ง เพื่อนเราก็เคยเอาไปใช้ลางานอยู่ครั้งหนึ่ง (แต่คิดว่าไม่น่าใช่สาเหตุเดียวกับเรา) ก่อนที่จะลาออก

ผ่านไปเดือนสองเดือน เราก็ไปชอบอีกคนสองคน คือเราคิดว่าในเมื่อเราไม่ได้บอกสักคนเลยว่าชอบเค้า แล้วเค้าก็ไม่ได้บอกชอบเรามันก็ยังไม่มี commitment หรือเปล่า

แต่ปรากฏว่าไม่ใช่ คนหนึ่งในนั้นเค้าอ่านออก เค้าไม่ชอบ และเค้าเพิ่งชอบผู้ชายคนอื่นอยู่

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

มามองตอนนี้ก็ได้แต่สงสัยว่าเพราะว่าอกหักหรือเปล่านะ หรือเพราะเป้าหมายปีนี้เราสูงเกินไป


จากเรื่องนี้เลยเข้าใจอยู่ 3 อย่าง

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

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

สามมันเป็น reality check ที่ดีมาก เราไม่เคยทำอะไรที่ใช้ความพยายามมากเท่าปีนี้ แล้วก็พบว่ามันไม่ได้เกี่ยวกับความพยายาม โปรไฟล์ดีที่สะสมมามันเอาไว้สมัครงานได้ แต่ไม่ได้เอาไว้ยื่นขอเป็นแฟนเค้า​ (และเราก็พบว่าเราไม่ใช่คนดีอย่างที่คิด)


หลายปีก่อนเพื่อนถามว่า “ทำไมถึงอยากมีแฟน”

ตอนนี้ก็ยังหาคำตอบให้ไม่ได้สักที

2019 New Year Resolution

สรุปจากปีที่แล้ว

Date

Spectacularly failed!

Mood Diary

Mood definition ที่เราใช้คือ

  • Rad – ตามชื่อ
  • Good – อารมณ์ดี
  • Good enough – ทั่วๆ ไป (สีเขียวเหมือน Good)
  • Meh – ถ้ามีใครมายุ่งจะกลายเป็น Bad
  • Bad – เหวี่ยง
  • Awful – เอามันออกจากหัวไม่ได้

ดูจากภาพแล้วก็น่าจะพอเดาได้ว่าวันไหนที่เรา in a bad mood

Wishlist

Nintendo Switch ซื้อแล้ว ส่วน Keyaki Republic สุ่มบัตรไม่ได้สองรอบติดกัน อันนี้ก็อยู่นอกเหนือการควบคุมของเราแล้วล่ะ

2020 Prediction

อย่างที่บอกปีที่แล้วว่าพอทำงานแล้วชีวิตมันคาดเดาอะไรไม่ได้เลย

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

เรื่องงานคิดว่าปีนี้ก็คงยังไม่ได้เลื่อนตำแหน่งไปไหน

Peter principle บอกว่า people in a hierarchy tend to rise to their “level of incompetence” เราเริ่มสังเกตว่ามีหน้าที่บางอย่างโยนมาแล้วเรารับไว้ไม่ได้ โดยเฉพาะการที่มีลูกน้องให้ดูแล แต่ตำแหน่งปัจจุบันก็ค่อนข้างสูงแล้วก็เลยคิดว่าน่าจะถึง level of incompetence ในตอนนี้แล้วล่ะ

ก็เป็นเรื่องน่ากังวลบางเวลา แต่บางเวลาก็ไม่ได้คิดอะไรเพราะตำแหน่งกับเงินเดือนก็เปลี่ยนแยกกันอยู่แล้ว และเรายังคิดว่าถ้า Manager ฝืนดันเราไปเป็นตำแหน่ง Management เราน่าจะทำงานได้ห่วยมาก ส่วนสายงาน Technical น่าจะยังต้องรอการขยายตัวของทีมไปอีกหน่อย เรายังเดาการโตของบริษัทไม่ค่อยได้ มันอาจจะเกิดขึ้นในปีหน้าเลยก็ได้นะ..

2020 New Year Resolution

ปีนี้พอจะมี Goal เป็นชิ้นเป็นอันหน่อย

New Blog

รู้สึกว่ารำคาญ WordPress Gutenberg มาก ไปจนถึงเกลียด

  1. มารู้ทีหลังว่ามัน lock in เพราะ Blog เก่าๆ เราเป็น markdown หมดทำให้ย้ายค่ายง่าย (ย้ายมาแล้ว 3 ที) ปรากฏว่า WordPress โยนต้นฉบับทิ้งหมดกลายเป็น HTML หมดแล้ว อันนี้โกรธมาก
  2. Source code highlighter ห่วยมาก มีบล็อคหลายเรื่องที่เขียนไปจนถึงตรงที่จะแสดงโค้ดตัวอย่างแล้วแต่มันแสดงไม่ได้ เลยโยนทิ้งถังขยะ (เพิ่งจะเห็นว่ามันแก้แล้วตอนปลายปี)
  3. เห็น Blog ฝรั่งแล้วคิดว่าถ้ามี aside/footnote เนื้อหาเราน่าจะอ่านง่ายขึ้น (เพราะไม่ต้องเอามาแทรกในเนื้อหา) แต่อยากได้แบบที่ไม่ต้องคลิกเยอะแบบ WYSIWYG editor

ปัญหาของการย้ายออกคือ

  1. จะเอา markdown กลับมายังไง และ Blog ที่ใช้ Gutenberg rich content (เช่นบล็อคนี้ – ใช้ Gutenberg เขียน Markdown นี่แทรกรูป inline ที่ไม่ใช่ block ไม่ได้) จะทำยังไง
  2. Content เก่าจะเอาไปด้วยแค่ไหน บล็อคนี้ตลอด 10 ปี content ย้ายมาต่อเนื่องตลอด แต่คิดว่า content เก่าๆ บางอันก็จูนิเบียวเกินกว่าจะอยากให้กลับไปอ่านแล้ว ควรจะเอาลง ก็ยังเลือก cutoff date ไม่ได้ว่าตอนไหนคือเหมาะ ตอนไหนคือเอาลง ตอนไหนคือล้าสมัยแล้ว อาจจะต้องนั่งคัดมือทีละอัน
  3. บล็อคใหม่ที่จะทำว่าจะใช้ static HTML generator (เช่น Gatsby) แต่ไม่แน่ใจว่ามัน scale กับ content จำนวนมากๆ (100 post+) แค่ไหน ยังไม่เคยเห็นบล็อคคนอื่นที่ใช้ Gatsby แล้ว content เยอะเท่าเรา
  4. server เครื่องที่ใช้อยู่นี้ไม่มี Continuous Deployment จะอัพเดตบล็อคยังไง โฮสต์ที่ไหน (คิดว่ายังอยาก self hosted อยู่ถึงแม้มันจะเป็น static files)
  5. Template แต่ก่อนโหลดเอาได้ ตอนนี้จะใช้ Theme อะไรที่อ่านง่าย คุณภาพสูงแบบ WordPress และไม่ตีกับเนื้อหาเก่า

ก็หวังว่าปีหน้าจะได้ย้ายอย่างจริงจัง จะได้กลับมาเขียน technical blog ได้

เลิกพูดแทรกคนอื่น

ปีนี้สังเกตว่าเวลามีคนมาถาม เราฟังไปนิดนึงก็เข้าใจแล้วแล้วก็จะพูดแทรกเค้าเพราะเราเดาได้ว่าเค้าจะพูดอะไรต่อและไม่อยากเสียเวลาพูด

ซึ่งมันเสียมารยาท ก็คิดว่าควรจะตั้งใจเลิกนิสัยนี้


จริงๆ อยากเขียนอีกอันว่าออกกำลังกาย นอนเยอะๆ ดูแลสุขภาพ ซึ่งคิดว่าควรจะต้องทำแล้ว แต่ถ้าเขียนเป็น goal ไว้ สิ้นปีก็จะได้แต่บอกว่าไม่ได้ทำอะไรเลย

Wall of Text #10: Cloud

จากข่าว SCB Easy ล่มเพราะไปใช้ AWS ผมเดาไว้ใน Facebook ว่าเค้าน่าจะเอา ELB มาแล้ว load balance on premise แล้ว Link พัง น้องเค้าถามว่าเข้าใจว่าหมายถึงอะไร

ย้ำอีกทีว่าเรื่องที่เกี่ยวกับธนาคาร ผมก็เดามั่วไปเท่านั้นแหละ

On Premises

เพิ่งมารู้ว่าการเขียนว่า On Premise นี่ไม่ถูกต้อง ต้องเขียนว่า On Premises เสมอ เพราะ Premises แปลว่าที่ตั้งและมันไม่ใช่รูปพหูพจน์

สำหรับธนาคารแล้ว Server ต่างที่ให้บริการจะอยู่ในศูนย์ข้อมูลของธนาคารเอง เค้าก็เลยเรียกว่า On Premises ก็คือมันอยู่ในที่ตั้งของเรา

มาร์เก็ตติ้งของ Cloud มักจะใช้คำว่า On Premises หมายรวมไปถึงระบบที่ไม่ใช่ Cloud ทั้งหมดถึงมันจะไม่อยู่ที่ออฟฟิศของเราก็ตาม ซึ่งไม่ว่ามันจะถูกหรือผิดมันก็เห็นภาพชัดเจนดีเวลาเราบอกว่าย้ายระบบจาก On Premises ขึ้น Cloud ก็คือย้ายจาก server เดิมไปยังผู้ให้บริการ cloud

Cloud

ทีนี้ถามว่าทำไมธนาคารถึงจะอยากใช้ Cloud? Cloud คืออะไร…

มีตำนานเล่าว่านานมาแล้วมีอุกกาบาตตกลงทุ่งข้าวสาลี ในช่วง Black Friday มีคนเข้ามาซื้อของที่เว็บ Amazon.com เป็นจำนวนมาก Amazon ก็เลยจะต้องจัดซื้อ server มารองรับผู้ใช้งานมหาศาลไม่ให้ล่ม

ทีนี้พอนอกเทศกาล เครื่องมันก็ปล่อยว่างไว้ ทำยังไงดี? Amazon ก็เลยพัฒนา Amazon EC2 ขึ้นมาปล่อยเช่าเครื่อง

ในความเป็นจริงแล้วเรื่องข้างบนขี้โม้ทั้งเพ เพราะ Werner Vogels CTO ของ AWS ก็บอกว่าถ้าเอาเครื่องเหลือมาขายน่ะ 2 เดือนก็ได้ลูกค้ามาจนเครื่องไม่เหลือแล้ว และบริการตัวแรกของ AWS คือ S3 ไม่ใช่ EC2

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

ระบบลงทะเบียนมหาวิทยาลัยจะมีคนเข้าเยอะมากในช่วงเปิดลงทะเบียน กับเกรดออก

ธนาคารจะมีคนเข้าเยอะในช่วงปลายเดือนไปจนถึงต้นเดือนที่เงินเดือนออก

Startup จะมีคนเข้าเยอะในช่วงเปิดตัวผลิตภัณฑ์ใหม่

กรมสรรพากรจะมีคนเข้าเยอะในช่วงฤดูยื่นภาษี

การที่ระบบล่มส่งผลต่อการดำเนินธุรกิจของหน่วยงานเหล่านี้โดยตรง แล้วจะให้เค้าทำอย่างไร?

ถ้าสุดท้ายแล้วทุกคนซื้อ server มาเพื่อรองรับ spike load เหล่านี้คงจะสิ้นเปลืองมาก และไม่คุ้มทุนที่จะทำ

Cloud อนุญาตให้เราเช่าเครื่องได้เพียงยิง API เข้าไปสั่งเปิดเครื่อง แล้วรอ 2 นาทีให้เครื่องเปิดเสร็จ

Keyword สำคัญคือเช่า เราไม่ต้องมีเงินก้อนที่จะจัดซื้อเครื่องเซิร์ฟเวอร์ราคาแพงอีกต่อไปเพียงแค่จ่ายเงินค่าเช่าเท่านั้นก็สามารถมีเซิร์ฟเวอร์นับร้อยเครื่องได้

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

ไม่ว่าคิดบัญชียังไง Cloud ก็ดูจะคุ้มค่ากว่าเห็นๆ ใช้เท่าไหน จ่ายเท่านั้น เหมือนค่าไฟฟ้าที่ไม่เปิดไฟก็ไม่เสีย

แต่ราคาของ Cloud ไม่ถูก ราคาค่าเช่ามันแพงกว่าค่าเช่าซื้อเครื่องเซิร์ฟเวอร์ไว้เองด้วยซ้ำ แล้วทำไมมันถึงยังน่าสนใจ?

Scale

สิ่งที่ Cloud computing ต้องการเสนอขายไม่ใช่การให้เช่าระบบคอมพิวเตอร์ แต่เค้ากำลังจะขาย “ความสามารถที่จะ scale”

นอกเหนือไปจากการที่เราจะสามารถขยับจาก 0-100 server ได้ในเวลาไม่กี่นาทีแล้วนั้น ผู้ให้บริการ Cloud ยังมีบริการอื่นๆ อีกที่พร้อมจะโตไปกับโปรแกรมของเรา

ถ้าต้องการฐานข้อมูล AWS มีฐานข้อมูลระดับเดียวกับที่ Amazon ใช้ภายในให้บริการ หรือจะเป็น MySQL มาตรฐานก็ใช้ได้

ถ้าต้องการ Message queue AWS ก็มี API เปิดให้ใช้โดยไม่ต้องซื้อซอฟต์แวร์ Message queue ราคาแพง

ถ้าต้องการเก็บข้อมูล AWS มีระบบเก็บข้อมูลไว้ใช้ที่ขนาดแทบไม่จำกัด สามารถเปิดอ่านพร้อมกันได้ 5,500 ครั้งต่อวินาทีต่อโฟล์เดอร์

บริการเหล่านี้ Cloud มีให้เนื่องจากเป็นระบบที่ Application ส่วนมากจำเป็นต้องใช้ แล้วเราจะพัฒนาขึ้นเองทำไมในเมื่อ Cloud ทำให้แล้ว ในราคาที่ถูกกว่า รองรับผู้ใช้งานได้มหาศาล และไม่ต้องนั่งเฝ้าเซิร์ฟเวอร์เอง

Migrating to Cloud

นั่นคือเหตุผลที่ทุกคนกำลังย้ายไป Cloud ในขณะนี้ ถ้าบริษัทไม่ได้ใหญ่มากจนสามารถทำระบบแบบ Cloud ได้ในราคาที่คุ้มทุน และไม่ติดข้อกำหนดอะไรที่ต้องเอาข้อมูลไว้ On Premises การใช้ Cloud ทำให้ระบบมีเสถียรภาพได้ในราคาที่คุ้มค่า

ทีนี้จาก Diagram ของ SCB ซึ่งไม่มีบอกว่าระบบไหนอยู่ที่ไหน ผมเดาว่าสิ่งที่เกิดขึ้นคือ ด้านหน้าของ Experience API โดยปกติแล้วจะมีระบบ Load balancer ที่กระจาย load ให้กับ server ด้านหลังอีกที (Load balancer ทำแค่กระจายโหลดจึงใช้เครื่องน้อยกว่าเครื่องที่ประมวลผล)

ทีนี้ระบบบางส่วนน่าจะถูกย้ายขึ้นไปบน Cloud (ซึ่งเราไม่อาจจะเดาได้ว่ามีอะไรบ้าง) แต่ที่เห็นจากภายนอกคือ Load balancer ถูกย้ายไปด้วย

แต่ไม่ใช่ทั้งแอพที่ถูกย้ายไป ระบบที่อยู่บน Cloud ยังต้องเรียกข้อมูลจากระบบเดิมอยู่ ซึ่งการเชื่อมต่อระหว่าง Cloud กลับมาระบบ On Premises ก็มีอยู่สามวิธีคือ

  1. เรียกผ่านอินเทอร์เน็ตปกติ ข้อเสียคือไม่สามารถเรียกเครื่องที่ไม่มี IP จริงได้
  2. ติดตั้ง VPN แล้วเชื่อมทั้งสองระบบเข้าด้วยกัน
  3. ลากสายจาก Cloud มายังสถานที่เรา ซึ่งแน่นอนว่าแพงมาก

นอกเหนือจาก 1 แล้ว ปัญหาที่เกิดขึ้นได้คือการเชื่อมต่อจะเกิดคอขวดขึ้น เนื่องจากถ้าใช้ VPN การเชื่อมต่อทั้งหมดจะต้องวิ่งผ่าน VPN server ที่ต้องเข้ารหัสข้อมูลก่อนส่งไปปลายทาง หรือสายที่เชื่อมต่อไปยัง Cloud ก็อาจจะมีความเร็วจำกัด

ที่ยังเดาอะไรไม่ได้คือถ้าหากปัญหาอยู่ที่ตรงนี้จริงก็ควรจะสามารถตัดสินใจ Rollback ได้ไม่ยากเพียงแค่สลับไปใช้ Load balancer ชุดเดิม ก็เป็นไปได้ว่า Application อาจจะถูกย้ายไปแล้วทำให้สลับกลับไม่ได้ (เพราะต้องย้ายข้อมูลกลับมาด้วย)

#HugOps

ในคอนเสิร์ท ถ้า Sound Engineer ทำงานออกมาดีจะไม่มีใครรู้เลยว่ามีเค้าอยู่ แต่ถ้าไมค์หอนเมื่อไรทุกคนจะด่าทันที

ในช่วงเวลาที่แอพล่มแบบนี้ก็เช่นกัน เราอาจจะอารมณ์เสียที่เข้าแอพแล้วใช้งานไม่ได้

แต่ Operation ที่กำลังกู้ระบบ โปรแกรมเมอร์ที่นั่งจ้องหาบั๊ก Support ที่รับสายจนคอแห้ง ก็เป็นมนุษย์เหมือนกับเรา

โปรดใจดีกับ Operation