The rise of NoOps
I been noticing an interesting trend in my feeds, the rise of a old concept "Noops"
What is "NoOps", well it depends on who you ask, interesting enough most of the articles I have read so far have been written from someone who has a background in development not operations, so let’s look at one of the articles, according to: Codersociety
"NoOps, a term originally coined by Forrester, aims to improve productivity and deliver results much faster than DevOps. In the ideal scenario, developers never have to collaborate with a member of the operations team. Instead, they can use a set of tools and services to responsibly deploy the required cloud components in a secure manner, including both the code and infrastructure. Managed cloud services, like PaaS or serverless, serve as the backbone of NoOps and leverage CI/CD as their core engine for deployment. "
Bunnyshell also uses a similar definition, both seem to argue that a ops team should exist but instead " Practically, you may need them to monitor outcomes or take care of exceptions. Expecting developers to handle these responsibilities exclusively would take their focus away from delivering business outcomes and wouldn’t be advantageous considering NoOps benefits."
That is rather interesting since with Devops the goal is to have ops and dev co-operate with each other and eventually reach a "You build it you run it" model with ops providing devs with a set of tools they can use to self service to stop the old throw the code over the wall issue, you could say a internal platform engineering team is a evolution of that.
Both Equinix and Splunk take a slightly different approach in the meaning of NoOps
Splunk argues that NoOps would eliminate the ops team but instead shift those resources to the security team ( Interesting enough their bread and butter is a security platform ;) )
Equinix argues that ops teams would still exist but instead use their automated baremetal automation ( Keeping in mind this is also their bread and butter ) "At Equinix, we have also aligned our solutions with NoOps and hyperautomation concepts to help organizations interconnect at ease. Services like Equinix Metal™ and Equinix Fabric™ make automation simpler to implement, delivering rapid automated infrastructure and network connection provisioning paired with robust, well-documented APIs. Businesses can quickly deploy open-source Kubernetes or enterprise offerings from Red Hat, VMware and Google Anthos on Equinix Metal to automate manual processes"
If we eliminate all the marketing speak it fundamentally comes down to NoOps is a Paas most of the time which comes with its own set of constraints as we have seen with Heroku, would a Paas or serveless eliminate the need for a ops team?, in my opinion maybe at the beginning, but most companies seem to go through a specific growth trajectory: Paas ( during start up phase ) --> Service providers ( AWS,Azure etc when they start running into edge cases and Paas platform limits during their growth phase ) --> Baremetal ( If they hit that hyperscaller/Unicorn phase ), they all have their place depending on where you are in your growth trajectory.
Instead of focusing so much energy in eliminating ops, or shifting things to yet another set of tools and abstractions, we should be focusing on the original goal of devops which is improving engineering culture and the co-operation between Ops and dev.