In the circles I run with on twitter there has been a huge discussion about why the idea of NoOps is just flat out wrong. Suffice to say, I tend to agree with the camp that is anti the idea of NoOps. But really it got me thinking about why I think so many of us take issue with the idea.
The Writing On The Wall
As this discussion unfolded, my mind kept going back to the problems we see in and around the idea of security. There are many places which believe that security is taken care of by the Security group. It has been proven time and time again that this doesn’t work. Everyone has a responsibility for security. Developers need to write their code so that it is secure. Ops needs to ensure things are patched and locked down. The security team needs to know how both of the other groups do their job so they can provide suggestions and help with configuration along with normal duties of auditing and forensic analysis. Lets face it, a NoSec approach is gonna get you in trouble.
Ops is Everyone’s Responsibility (So is Development)
There I said it. Everyone has Ops responsibilities, just like everyone has Security responsibilities, just like everyone has Dev responsibilities. This is at the core of the DevOps movement. Make Dev responsible for the way their apps work in production and make Ops responsible for making sure that the environment is suitable for Dev to get work done. Sure, my work today looks a lot more like development then it did a few years back, but it has not fundamentally changed what I am responsible for making happen, I just happen to be leveraging different tools. Ops has nothing to do with lighting up DNS and DHCP services. It is about ensuring that the infrastructure and other components that are needed for the app to operate well are there. Now, that may very well mean writing code to manage the number of EC2 instances running at a given time or polling the SaaS we are using to verify SLAs. Either way, it is still Ops.
Fundamentally, I think Mark Imbriaco (@markimbriaco) hit the nail on the head when he said, “I object to NoOps because it is a lie. Somebody always does Ops.” There will always be Ops, it may just be done by someone that calls themselves a Developer.

Is NoSQL a lie because somebody will always write SQL? No. That is a shortsighted way of thinking.
NoSQL is a term that highlights a new way of thinking about databases, not a derogatory term against old databases or a lie to try to cover up SQL.
This is the same spirit in which NoOps is used. NoOps highlights a new way of thinking about developing applications, where devs spend significantly less time deploying code, writing nginx configs, spawning vms, installing security patches, tuning my.cnf, etc.
Couple of things:
1. NoSQL is not a lie because there is No SQL in a SQL database. There you are talking about a very specific class of software. If I say to a colleague, you should look at NoSQL databases as a solution to your problem, I am referring to something that is distinctly not a relational database, hence no SQL.
2. Regardless of what you are trying to use it to mean, you are implying that an entire group of people in our industry don’t need to exist. That is flat out wrong because someone has to do that job. Someone has to deploy the code and manage the systems that make that possible. Someone has to tune the databases and someone has to manage the configs. Do I think that an awesome team that combines people with both a Dev and an Ops skill set can do that? Sure. Do I think that a PaaS can do awesome things to make it easier for devs to get things deployed? Sure, in fact, I think that is the way of the future. But to say NoOps is to say we don’t need someone doing that job.
The issue is not with what you are trying to say but with the way you have chosen to say it. Sure, in small shops it makes lots of sense to use a PaaS to get going, but that is not NoOps. Using a PaaS is about having someone else take care of the Ops side of things for you. NoOps is just like saying NoDev, it just doesn’t work. All of these groups have to exist, it is just to what extent. Any place I have seen where they skimped or went without Dev or Ops ended up in a world of hurt, it may not be that way initially but it always comes back to bite.
One of the fundamental ideas behind the DevOps movement is that of a cultural change that causes the walls to come down. By the very nature of the word NoOps you are putting back up those walls and making the environment less inclusive. Whether the point you are trying to make matters or not is irrelevant at this point because the very name by which you call it comes out as hate speech. A statement that, even implicitly, says that some class of our industry is worthless because of what they do is wrong. I am sure that no malice was intended and that that was not what you meant to say but that is how most people both technical and non-technical interpret it.
At the end of the day we all need to be working together and we all need each other. The Ops folks that take care of the DNS, DHCP, network and web server that make it possible are just as necessary as Developer that wrote the software.