در ابتدا نیاز است تعریف گردد که DevOps چیست و SRE چیست، به طور خلاصه می توان چنین بیان نمود که SRE با DevOps در زمینه مسائل تئوری دارای نقاط مشترک زیادی بوده و تقریبا یکسان هستند ولی وقتی شما قصد پیاده سازی DevOps را داشته باشید نقشه راه مشخص وجود ندارد و شما باید خود آن را تهیه نمایید، در واقع DevOps مدل پیاده سازی را بر عهده شما قرار می دهد و ارائه دهنده رویکرد دقیقی در پیاده سازی نیست. در طرف مقابل SRE توجه کامل خود را بر موضوع Operation و زیرساخت قرارداده و ارائه دهنده روش های مشخصی جهت پیاده سازی است. در این زمینه چند کتاب رایگان توسط تیم گوگل تهیه شده است.
در SRE و DevOps چندمفهوم تئوری زیر دارای اهمیت هستند
- Reduce Organization Silos
- Accept Failure as Normal
- Implement Gradual Change
- Leverage Tooling & Automation
- Measure Everything
در مورد ۵ مفهوم بالا دو سوال مطرح می گردد، اول اینکه به چه روشی باید پیاده سازی گردند و دوم اینکه چگونه باید وضعیت جاری را اندازه گیری نمود تا بتوان وضعیت پیاده سازی SRE و همچنین توجیه اقتصادی آن را برای مدیریت شفاف و قابل مشاهده نمود. در DevOps سنجه هایی برای اندازه گیری در نظر گرفته شده است ولی در SRE به شکل دقیق به مدل اندازه گیری و تاثیرات نتایج آن بر فرآیند تولید و پشتیبانی محصول اشاره شده است.
Class SRE implements DevOps
SRE علاوه بر تحقق بخشیدن نیازمندی های تئوری DevOps و ارائه راهکارهای عملی برای آنها، پا را فراتر گذاشته و روش های عملیاتی دیگری را نیز در بر می گیرد. پروژه به عنوان مثال فرض نمایید شما قصد دارید بند Accept failure as normal را در سازمان پیاده سازی نمایید، چه راهکاری جهت پیاده سازی آن در نظر دارید؟ باید فکر کنید؟ تحقیق کنید؟ SRE با کمک گرفتن از SLO و Blameless PMs این بند را پیاده سازی می نماید. با توجه به این توضیحات این سوال مطرح می شود که رویکرد و روش های عملیاتی مد نظر SRE چیست.
DevOps focuses on engineering continuous delivery to the point of deployment; SRE focuses on engineering continuous operations at the point of customer consumption
ویدیو ارائه شده در زیر توسط تیم گوگل تهیه شده و یکی از بهترین منابع جهت درک بهتر مفهوم SRE و تفاوت های آن با DevOps است.