Automate Your Infrastructure

โดย Christiano Anderson

ในการสร้าง หรือ deploy พวก infrastructure หรือ managed services ต่าง ๆ เพื่อที่จะทำ data pipelines ก็เป็นส่วนหนึ่งในงานของ data engineers ด้วยเหมือนกัน ซึ่งของพวกนี้ในปัจจุบัน อย่างบน cloud provider เช่น AWS เราสามารถที่จะเข้าไปที่ web console แล้วกด ๆ เพื่อสร้าง component ต่าง ๆ ขึ้นมาได้เลย

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

ดังนั้นเนี่ย data engineers เราจึงควรที่จะเรียนรู้ในเรื่องการ automate ส่วนต่าง ๆ หรือการทำ infrastructure as code นั่นเอง ก็จะมี guidelines ประมาณนี้

  • Never use the web console — ใช้ infrastructure as code ไปเลย
  • Make it modular — ทำของต่าง ๆ ให้เป็น module ไว้ เช่น API gateway กับส่วน IAM rols ก็อาจจะแยกกันเป็นคนละ module
  • Use a version-control system to manage your code — จะมีประโยชน์มากกับทีม ในการดู history และเราสามารถที่จะทำ pull request เพื่อ code review ได้อีกด้วย
  • Test the code before applying the changes — พยายามทดสอบโค้ดของเราก่อนที่จะ apply ใช้งานจริง เพื่อป้องกันข้อผิดพลาดในการไปพังของที่มีอยู่แล้ว
  • Use a continuous integration/continuous delivery (CI/CD) pipeline — เราจะสามารถ automate ทุกสิ่งอย่างได้ด้วยการทำ CI/CD pipeline

ถ้าใครไม่เคยทำตามหัวข้อด้านบนเลย อยากจะให้อุทิศเวลาส่วนหนึ่งในการศึกษาเรื่องพวกนี้ และพยายามทำ infrastructure ทั้งหมดด้วย code ซึ่งความพยายามต่าง ๆ และเวลาที่เราเสียไป มันจะคุ้มค่ามาก เราสามารถที่จะควมคุม infrastructure ของเราได้ และสุดท้ายก็จะง่ายกับเราด้วยตอนที่เราอยากจะ deploy ตัว infrastructure หรือ data pipeline ของเราตัวใหม่