DevOps and SRE are not the same thing. They are often confused with each other, which is unfortunate because they both do different things.
DevOps, as the name suggests, is a development practice that focuses on “making it easier to build, test, and deploy software”.
This typically involves creating a culture where developers can quickly make changes to their code without needing to ask for permission from their team leads or system administrators.
In some cases this also means that developers take responsibility for monitoring their applications and systems themselves.
SREs (Site Reliability Engineers) are operations engineers who are responsible for running large-scale production systems at Google-scale.
Google does not run just one site; they run thousands of sites.
SREs work with engineers to design systems that can scale up and down automatically based on traffic levels, handle failures gracefully without any human intervention, monitor everything in real time and alert on issues automatically (even when they occur outside of business hours), and so on. In other words: they make it possible for Google to run like a well-oiled machine!
Why would you want an SRE?
I’ve mentioned some of the things that SREs do above, but let’s go into a bit more detail.
If you have a large and complex web application, an SRE can be a great resource to have. They can help you design and implement the right systems for your needs and make sure that everything runs smoothly. They can also take care of many issues for you automatically, without you having to think about them.
If your site is very popular, or if it has special requirements (for example if it is part of Google Search), an SRE can help you make sure that your site stays up and performs well under load. They know what they are doing, so you don’t have to worry about anything.
Finally, they will save you time in the long run. If something goes wrong on your site, they will take care of it before it gets too bad. This means that you won’t need to wake up in the middle of the night or on weekends anymore!
What do I need to get started?
You will need a dedicated SRE who will work with your team(s). Your team should already have some experience with running web applications in production. You should be comfortable with managing your own servers and infrastructure, and should be able to run a basic monitoring setup.
You will also need to have a ticketing system (e.g. NiftyPM) where your SRE can open issues for your team, and where you can report problems that you encounter on your site.
Why would you want an DevOps?
If you have a small site or if you don’t have much experience with running web applications in production, an SRE might be overkill for you. Instead, you might want to consider hiring a DevOps.
A DevOps is similar to an SRE, but with less focus on operations and more focus on development. A DevOps will typically work with your team to help them deploy their code quickly and easily, and make sure that they are able to monitor their applications in production. They will also help them learn how to handle issues that come up in production (e.g. by setting up monitoring for common problems).
In other words: a DevOps is more focused on development than an SRE is, but still makes sure that everything runs smoothly!
Why would you want a Developer?
Some people prefer to hire full-time developers rather than a DevOps or SRE. This can be because they don’t need someone who can take care of monitoring and operations for them, or because they already have someone else (like an SRE) who can do this work for them.
However, even if you have someone else doing the monitoring for you, it can still be helpful to have a developer on your team who is able to quickly make changes to your code and fix issues that come up.
The advantage of having a developer on your team is that they can help you solve problems yourself. For example, if you have an issue with your site, they can quickly look at the problem and fix it for you. This means that you don’t need to wait for an SRE or DevOps to get involved.
You might also want a developer on your team if you are using a third-party API or service, and want someone who can help with integrating it into your site.
For example, if you are using Google Analytics or the Google API, a developer will be able to help you integrate these into your site without needing to wait for the third-party service provider’s support team.
About the Author
I am the Founder of Cudy Technologies (www.cudy.co), a full-stack EdTech startup helping teachers and students teach and learn better. I am also a mentor and angel investor in other Startups of my other interests (Proptech, Fintech, HRtech, Ride-hailing, C2C marketplaces and SaaS). You can also find me on Cudy for early-stage Startup Founder mentorship and advice.
You can connect with me on Linkedin (https://www.linkedin.com/in/alexanderlhk) and let me know that you are a reader of my Medium posts in your invitation message.