Site Reliability Engineering ( SRE ) คืออะไร ?
1 min readOct 14, 2020
ก่อนอื่น Devops คืออะไร
สรุปแบบรีบๆ ..
Devops
คือ Culture
หรือกระบวณการ ที่นำมาใช้ในการ ลดปัญหาในการสื่อสารกันภายในทีม สองทีม อย่าง
- Developer
หน้าที่หลักๆ คือทำการผลิต Software ขึ้นมาตาม requirement ที่ได้รับมา - Operation
ทำหน้าที่ ในการนำ Software ที่ทางทีม Developer ทำการ Deploy ขึ้นสู่ Production
ปัญหาที่เกิดขึ้น
- การไม่เข้าใจซึ่งกันและกันของทั้งสองตำแหน่ง
- ในแต่ละตำแหน่ง จะเกิดปัญหาที่แต่ละฝ่ายไม่เข้าใจ กระบวณการทำงาน ของกันและกัน จึงบางครั้งอาจเกิดปัญหาในการส่งมอบงาน
- ระยะเวลาในการ Deploy ขึ้นสู่ Production
- เป็นผลมาจากการที่ในแต่ละตำแหน่งไม่เข้าใจ ในสิ่งที่อีกฝ่ายทำอยู่ ในกรณีที่เกิดปัญหาขณะนำส่งงาน ทางทีม Operation ก็ไม่สามารถอธิบายข้อผิดพลาดนั้นๆ แก่ Developer ได้
การนำ Devops มาใช้
- หลักๆ เพื่อที่จะลด ปัญหาต่างๆที่เกิดขึ้นของสองตำแหน่งข้างต้น ( Developer , Operation )
- ลดเวลา
- ลดต้นทุน
คำจำกัดความสู่ความสำเร็จ ของการนำ Devops มาใช้
- Reduce Organization Silos
คือการทำลายความเข้าใจของแต่ละฝ่าย โดยให้แต่ละฝ่ายแบ่งปัยความรู้กันและกันเพื่อให้เข้าใจถึงกระบวณการทำงานของกันและกัน - Accept Failure as normal
การยอมว่าการที่ มีข้อผิดพลาดใน Software เป็นเรื่องที่เกิดขึ้นได้ จะคาดหวังว่า Software ต้องสมบูรณ์แบบ No Bug ,No Error เป็นเรื่องยากและเป็นไปไม่ได้ - Implement Gradual Change
คือการปรับเปลี่ยนที่ละน้อยๆ เพื่อการตรวจสอบและแก้ไข หรือแม้กระทั่งการย้อนกับไปก่อนหน้า - Leverage Tooling & Automation
มีการ ใช้ Tool ต่างๆ รวมไปถึงการทำ automate - Measure Everything
สามารถวัดได้ทุกสิ่งที่ทำมาทั้งสี่ส่วนนั้นได้
จาก Devops สู่ Site Reliability Engineering ( SRE )
นิยามขึ้นมาครั้งแรกจาก หนังสือชื่อ “Site Reliability Engineering” ของ Google
SRE
คือการเพิ่มความน่าเชื่อถือให้กับDevops
เปรียบเทียบเป็น การเขียนโปรแกรม
class SRE implements Devops{
method1(){}
method1(){}
...
}
นำส่วน คำจำกัดความสู่ความสำเร็จ ของ Devops
เจาะลึกในส่วนต่างๆให้มากขึ้น
วิเคราะห์การเติมโตของ Software ที่เป็น และ ประเมินความเป็นไปได้ในการขยายระบบเพื่อเพิ่มประสิทธิภาพให้ดียิ่งขึ้น
Reference