Ansible #0 ตอน Ansible คืออะไร

Damrongsak Reetanon
1 min readDec 23, 2017

--

Ansible ไม่ใช่ของใหม่ในวงการ IT Ansible ถูกพัฒนาและเริ่มประกาศออกมาให้ใช้ครั้งแรกในวันที่ 10 กุมภาพันธ์ 2012 เวลาผ่านไป 5 ปี วันนี้ การเดินทางมาของ DevOps การเดินทางมาของ Digital Transformation รวมถึงสภาพการแข่งขันทางธุรกิจที่เปลี่ยนโฉมไปอย่างสิ้นเชิง ความเร็วและความถูกต้อง เป็นจุดหักเหของธุรกิจได้เลย ทำให้ต้องมีเครื่องมีอที่จะช่วยเร่งความเร็ว ลดข้อผิดพลาดในการบริหารจัดการระบบเทคโนโลยีสารสนเทศในองค์กร Ansible เองก็เป็นตัวเลือกหนึ่งที่จะช่วยตอบโจทย์นี้ได้

Ansible คือ Open Source Software ที่ทำหน้าที่เป็น Automation Engine ซึ่งถ้าจะแปลตามตัวอักษรเลย ก็น่าจะใช้คำว่า เป็นเครื่องยนต์อัตโนมัติ เปรียบเทียบได้ว่าถ้าเรานำเครื่องยนต์ไปต่อกับเพลาและล้อ ก็จะกลายเป็นรถยนต์ แต่ถ้าเรานำเครื่องยนต์ไปต่อกับมอเตอร์ ก็จะหลายเป็นเครื่องปั่นไฟ Ansible ก็เป็นอย่างนั้นเหมือนกัน ถ้าเราใช้งาน Ansible ให้เรียก module git ขึ้นมาใช้งาน Ansible ก็อาจจะเป็นเครื่องมือในการทำ Automatic Deployment ได้ หรือถ้าเราเรียกใช้งาน Ansible ให้เรียก module ec2 ขึ้นมาใช้งาน Ansible ก็อาจจะกลายเป็นเครื่องมือในการทำ Automatic Provision ได้

ด้วยความสามารถของ Ansible ที่เข้าถึงและไปควบคุมอุปกรณ์ปลายทางต่าง ๆ ที่เราเรียกว่า Managed Node ซึ่ง Ansible ถูกออกแบบการทำงานเป็นแบบ Agentless ทำให้ไม่จำเป็นต้องต้องติดตั้ง Software ใด ๆ เพิ่มที่ Managed Node เลย Ansible ก็ยังเข้าไปบริหารจัดการภายใน Managed Node ได้ การเริ่มต้นใช้งาน Ansible จึงสามารถเริ่มต้นได้ไม่ยาก เพียงแต่เตรียม server สักตัว ติดตั้ง Operating System ซึ่ง Ansible เองก็สามารถติดตั้งได้ในหลากหลาย Operating System เพียงเท่านี้ก็สามารถเรียกใช้งานให้ Ansible เข้าไปบริหารจัดการ Managed Node ได้แล้ว

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

กรณีศึกษาที่ทำ Ansible ไปประยุกต์ใช้งาน

  1. Provision
  2. Configuration Management
  3. Application Deployment
  4. Continuous Delivery
  5. Security and Compliance
  6. Orchestration

--

--