Site Reliability Engineering ( SRE ) คืออะไร ?


image.png

ก่อนอื่น Devops คืออะไร

สรุปแบบรีบๆ ..

Devops คือ Culture หรือกระบวณการ ที่นำมาใช้ในการ ลดปัญหาในการสื่อสารกันภายในทีม สองทีม อย่าง

  • Developer
    หน้าที่หลักๆ คือทำการผลิต Software ขึ้นมาตาม requirement ที่ได้รับมา
  • Operation
    ทำหน้าที่ ในการนำ Software ที่ทางทีม Developer ทำการ Deploy ขึ้นสู่ Production

ปัญหาที่เกิดขึ้น

  • การไม่เข้าใจซึ่งกันและกันของทั้งสองตำแหน่ง
  • ในแต่ละตำแหน่ง จะเกิดปัญหาที่แต่ละฝ่ายไม่เข้าใจ กระบวณการทำงาน ของกันและกัน จึงบางครั้งอาจเกิดปัญหาในการส่งมอบงาน
  • ระยะเวลาในการ Deploy ขึ้นสู่ Production
  • เป็นผลมาจากการที่ในแต่ละตำแหน่งไม่เข้าใจ ในสิ่งที่อีกฝ่ายทำอยู่ ในกรณีที่เกิดปัญหาขณะนำส่งงาน ทางทีม Operation ก็ไม่สามารถอธิบายข้อผิดพลาดนั้นๆ แก่ Developer ได้

การนำ Devops มาใช้

  • หลักๆ เพื่อที่จะลด ปัญหาต่างๆที่เกิดขึ้นของสองตำแหน่งข้างต้น ( Developer , Operation )
  • ลดเวลา
  • ลดต้นทุน

คำจำกัดความสู่ความสำเร็จ ของการนำ Devops มาใช้

ref จาก : What's the Difference Between DevOps and SRE? (class SRE implements DevOps)

  1. Reduce Organization Silos
    คือการทำลายความเข้าใจของแต่ละฝ่าย โดยให้แต่ละฝ่ายแบ่งปัยความรู้กันและกันเพื่อให้เข้าใจถึงกระบวณการทำงานของกันและกัน

  2. Accept Failure as normal
    การยอมว่าการที่ มีข้อผิดพลาดใน Software เป็นเรื่องที่เกิดขึ้นได้ จะคาดหวังว่า Software ต้องสมบูรณ์แบบ No Bug ,No Error เป็นเรื่องยากและเป็นไปไม่ได้

  3. Implement Gradual Change
    คือการปรับเปลี่ยนที่ละน้อยๆ เพื่อการตรวจสอบและแก้ไข หรือแม้กระทั่งการย้อนกับไปก่อนหน้า

  4. Leverage Tooling & Automation
    มีการ ใช้ Tool ต่างๆ รวมไปถึงการทำ automate

  5. Measure Everything
    สามารถวัดได้ทุกสิ่งที่ทำมาทั้งสี่ส่วนนั้นได้


จาก Devops สู่ Site Reliability Engineering ( SRE )

นิยามขึ้นมาครั้งแรกจาก หนังสือชื่อ “Site Reliability Engineering” ของ Google

  • SRE คือการเพิ่มความน่าเชื่อถือให้กับ Devops เปรียบเทียบเป็น การเขียนโปรแกรม
class SRE implements Devops{
  method1(){}
  method1(){}
  ...
}
  • นำส่วน คำจำกัดความสู่ความสำเร็จ ของ Devops เจาะลึกในส่วนต่างๆให้มากขึ้น

  • วิเคราะห์การเติมโตของ Software ที่เป็น และ ประเมินความเป็นไปได้ในการขยายระบบเพื่อเพิ่มประสิทธิภาพให้ดียิ่งขึ้น


Reference

What's the Difference Between DevOps and SRE? (class SRE implements DevOps)

Reference Image
http://blog.schoolofdevops.com/why-calling-everyone-a-sre-is-not-going-to-stick/

August 1, 2020