It has always been confusing what DevOps and NoOps really meant, before the pandemic hit, while we are living through it, and and beyond. The truth is that definitions evolve with the fashion and realities of times. It is up to use mere mortals to make sense of things.
Technical and business requirements are more challenging and IT service becomes more and more complex. That’s why the delivery is so important and why we need to orchestrate the whole process.
With the cloud, we don’t need more sysadmin, but DevOps technical and business skills are in high demand. To implement DevOps and move into a place where the benefits flow, you need to think beyond technical delivery.
What Is the Difference Between DevOps and NoOps?
DevOps is the fusion of development and operations and is the practice of development and operations engineers collaborating together to define processes that drive the service lifecycle, from the design to the delivery.
NoOps means No Operation. It’s philosophy is to remove all the platform management parts and reduce friction between developers and infrastructure.
Why Do We Need More Than DevOps?
The matter is that, in the IT world, things change quicker than you. The market requirement is so much more demanding now that you cannot simply say: “I’m tired of changing, please give me a rest.”
The coming of the cloud makes things more complicated. It allows us to implement complex solutions and solve a lot of challenges but requires more skill.
All parts of your cloud are sold as scalable, but it always needs some DevOps to be set. This means that you always need some manual effort. You still have a person behind most parts of the process. This means working in the old way.
The purpose of NoOps is to define a process where there is no need to combine the part of the development with the operation to make things work. NoOps has a goal: make everything deployable by design with no effort from anybody.
Basically, a NoOps approach is the following: the developer commits the code into the repository and everything is deployed. It may seem exactly like continuous delivery but it is more. Here, for deployment, we mean not only the application but the infrastructure also.
So How NoOps is Possible?
As for DevOps, NoOps is enabled by technology. There are many options here but, basically, we can summarize as follows:
- A PaaS solution, like AWS or GCP or a cloud service hosted on those platforms and all other vendors.
- Serverless computing bought from the big vendors (AWS, GCP, Azure).
- Creating your replicable infrastructure (yes, this needs operations almost for the first time).
Such solutions are good for resolving the infrastructure part and traditional deployment tools can drive the process and deliver the applications.
The infrastructure is always considered as a big management cost and produces friction between developers and operation.
But Infrastructure is not the issue. The issue is in the process. If the process is well designed, you won’t have friction, you won’t have delays, and everything will work correctly.
As always you should know that there are some applications that can be deployed on PaaS and others cannot. That’s all.
If your application is simple, PaaS is a good solution and DevOps people will be happy to work less. If you are launching the next Netflix, maybe you will need more control.
That’s why, in the end, there is only one driver: create smart infrastructure with as little maintenance effort as possible and automate everything. Using a big cloud service like AWS and Google Cloud or others, you will find the best solution for your scenario.