What’s Changed Since the First Edition? (มีอะไรเปลี่ยนแปลงไปบ้างตั้งแต่ฉบับพิมพ์ครั้งแรก)
ผมเขียนฉบับพิมพ์ครั้งแรกของ Building Microservices ใช้เวลาประมาณหนึ่งปี เริ่มตั้งแต่ต้นปี 2014 และหนังสือวางจำหน่ายในเดือนกุมภาพันธ์ 2015 นั่นเป็นช่วงต้นๆ ของ เรื่องราว microservices อย่างน้อยก็ในแง่ที่วงการอุตสาหกรรมในวงกว้างเพิ่งเริ่มรู้จักคำนี้ นับจากนั้นมา microservices ก็กลายเป็นกระแสหลักในแบบที่ผมคาดไม่ถึง และการเติบโตนั้นก็มาพร้อมกับประสบการณ์ที่หลากหลายมากขึ้นให้ดึงมาใช้ รวมถึงเทคโนโลยีใหม่ๆ ให้สำรวจเพิ่มเติม
เมื่อผมได้ทำงานกับทีมต่างๆ มากขึ้นหลังจากฉบับพิมพ์ครั้งแรก ผมก็เริ่มขัดเกลาความคิดเกี่ยวกับแนวคิดบางอย่างที่เกี่ยวข้อง กับ microservices ในบางกรณี นั่นหมายความว่าแนวคิดที่เคยอยู่แค่ชายขอบความคิดของผม อย่าง information hiding เริ่ม ชัดเจนขึ้นในฐานะแนวคิดพื้นฐานที่ควรเน้นย้ำให้มากขึ้น ในด้านอื่นๆ เทคโนโลยีใหม่ก็นำเสนอทั้ง solution ใหม่และปัญหาใหม่ ให้กับระบบของเรา การเห็นผู้คนจำนวนมากแห่กันไปหา Kubernetes ด้วยความหวังว่ามันจะแก้ปัญหาทุกอย่างเกี่ยวกับสถาปัตยกรรม microservice ได้ ทำให้ผมต้องหยุดคิดทบทวนอยู่ไม่น้อย
นอกจากนี้ ผมเขียนฉบับพิมพ์ครั้งแรกของ Building Microservices ขึ้นมาเพื่อไม่ใช่แค่อธิบาย microservices เท่านั้น แต่ยังให้ภาพรวมกว้างๆ ว่าแนวทางสถาปัตยกรรมนี้เปลี่ยนแปลงแง่มุม ต่างๆ ของการพัฒนาซอฟต์แวร์อย่างไรด้วย ดังนั้นเมื่อผมเจาะลึกลงไปในเรื่อง security และ resiliency มากขึ้น ผมก็พบว่า ตัวเองอยากย้อนกลับไปขยายความหัวข้อเหล่านั้นที่มีความสำคัญมากขึ้นเรื่อยๆ ต่อการพัฒนาซอฟต์แวร์ยุคใหม่
ดังนั้นในฉบับพิมพ์ครั้งที่สองนี้ ผมใช้เวลามากขึ้นในการแบ่งปันตัวอย่างที่ชัดเจนเพื่ออธิบายแนวคิดให้ดีขึ้น ทุกบทถูก ทบทวนใหม่ และทุกประโยคถูกตรวจสอบอีกครั้ง เนื้อหาที่เป็นตัวหนังสือจริงๆ จากฉบับพิมพ์ครั้งแรกเหลืออยู่ไม่มากนัก แต่แนวคิดทั้งหมดยังคงอยู่ครบถ้วน ผมพยายามชัดเจนขึ้นในความเห็นของตัวเอง ในขณะที่ยังคงตระหนักว่ามักมีหลายวิธีในการ แก้ปัญหาหนึ่งๆ เสมอ นั่นหมายความว่าการพูดถึง inter-process communication ถูกขยายออก จนตอนนี้แยกเป็นสามบทด้วยกัน ผมยังใช้เวลามากขึ้นในการพิจารณาผลกระทบของเทคโนโลยีอย่าง container, Kubernetes และ serverless ด้วย ผลก็คือตอนนี้ มีบท build และ deployment แยกออกจากกันแล้ว
ผมหวังไว้ว่าจะสร้างหนังสือที่มีขนาดใกล้เคียงกับฉบับพิมพ์ครั้งแรก พร้อมหาวิธียัดแนวคิดเพิ่มเติมเข้าไปให้ได้ อย่างที่ คุณเห็น ผมทำไม่สำเร็จตามเป้าหมาย—ฉบับนี้ใหญ่กว่าเดิม! แต่ผมคิดว่าผมประสบความสำเร็จในการอธิบายแนวคิดให้ชัดเจนยิ่งขึ้น