What is SRE?
Site Reliability Engineering, or SRE, is an approach developed by Google in 2003 to continuously deploy new features while maintaining a high level of quality and availability of the infrastructure.
The SRE has become a full-fledged IT domain, whose objectives are to ensure that the platform is reliable and stable, ensure regular delivery of features and develop automated solutions for operational aspects. An SRE, according to Google’s philosophy, is not allowed to do more than 50% of functional tasks. Like DevOps, this philosophy has led to the creation of a position, the Site Reliability Engineer. This SRE position is a continuation of the DevOps philosophy and is the “new DevOps.”
What is DevOps?
DevOps is often seen as a way to apply agility to the production world. The agile method is used to reduce the distance between user needs and the development team. DevOps is the contraction of Devs and Ops because this methodology pushes Devs and Ops to collaborate to put new features into production faster. The notion of security is sometimes integrated to implement an approach called DevSecOps.
If DevOps is a philosophy, DevOps can be a job title (even if the term DevOps engineer is sometimes controversial). When we talk about a DevOps engineer, we are talking about a person who reconciles the stability of the platform and the approach of putting developers in the best conditions to produce quality features quickly. Their tasks range from automating processes to helping resolve bugs and optimizing platform monitoring.
To go further on the subject, you can read this article on DevOps processes and the tasks of a DevOps.
How to choose between SRE and DevOps for your company?
Originally, SRE and DevOps were concepts, a way of working.
Today, these terms have become the name of the people working with this philosophy. You don’t have to choose between these two profiles to recruit your internal Ops. SRE is a way to accomplish the DevOps philosophy and implement it, with specific standards and metrics defined by Google. But both SRE and DevOps remove organizational barriers to deliver faster while ensuring platform stability. If you decide to adopt the DevOps philosophy, you may recruit Ops who have previously worked with Google SRE standards.
On the contrary, if you want to implement the Google SRE standards in your company, recruiting and training DevOps people should not be a problem because they will already share the concepts.
This topic is developed in depth by Google in this video.
What is a SysAdmin compared to DevOps and SRE?
The prominent role of the SysAdmin (or computer systems administrator) is to ensure the proper functioning of the computer servers of an entity or a system. The missions entrusted to him vary according to the size of the company: optimization of system resources, availability of servers, management of backups, resolution of problems and security breaches, maintenance…
The term SysAdmin defines system administrators when servers are still mainly physical. The transformation of IT and networks with the evolution of the possibilities offered by the technical environment (especially Cloud) has radically transformed the role and functions of the SysAdmin. Some Sysadmins have embarked on a DevOps approach. If the job of DevOps engineer has been widely developed, Sysadmin remains a widespread function, especially in companies that have barriers to move to the Cloud.
Finally, the objective of DevOps is to ensure collaboration between each part of an IT company (Devs and Ops). A SysAdmin, on the other hand, is more focused on the configuration and maintenance of servers and computer systems.
What is a Cloud engineer?
Cloud Computing is a data storage service accessible via the Internet. The Cloud engineer is in charge of deploying, storing, and managing data on servers located outside the company in data centers. He is a specialist in cloud technologies and services offered by the major cloud providers. He can be specialized in one of the big public clouds (AWS, GCP) and have several experiences with different providers. They generally master the concepts of containerization, automation, and CI/CD, allowing them to support developers and implement a DevOps approach in the company.
SRE, DevOps, and Cloud engineers are today several names that refer to the same concepts. Automation, collaboration with developers, and mastery of cloud tools. Even in companies where DevOps are called “SRE,” we find more a DevOps role with a different terminology than an actual application of the Google methodology. On the other hand, the position, culture, and technologies of a SysAdmin are very different from those of these “new generation” Ops. When recruiting, it is this distinction that you need to pay attention to in order to ensure that the person you are recruiting has the culture of the role to which you are going to assign them.