Is Serverless the end of Ops? DevOps vs NoOps… NativeOps.

Ben Ellerby
Sep 7, 2019 · 5 min read
NativeOps (NoOps vs DevOps)
NativeOps (NoOps vs DevOps)

One of the core advantages of a Serverless architecture is the abstraction away of ops complexity, so-called “NoOps”, that allows developers to focus on writing application code. Yet, there are also Ops complexities added by using Serverless, so to some extent Serverless may not be the death of DevOps — and maybe the start of something new…

What was DevOps?

The advantages of DevOps were the speed, collaboration, agility and scale that a cross-functional team could deliver. It is commonplace in startups and technology companies these days, but in larger corporates, there is still a division between the two — creating inefficiencies, politics and conflicts.

DevOps was tightly linked to the rise of cloud providers like AWS, Azure and GCP. The pay-as-you-go model of abstract computing building blocks provided by these companies allowed on-premise and self-managed data centres to be replaced by much simpler resources managed by a third party.

It has not always been a complete success though. There are still startups with a “DevOps team” and a “Development team, that do embrace some of the tools of DevOps — but not the dream of a single cross-functional team. The reason for this is that although the move to the cloud and containerisation did abstract away a lot of complexity, building secure, scalable and economic cloud infrastructures was still not trivial.

In short, DevOps was the idea of combining developers and ops into one cross-functional team, allowing more agile delivery. Some companies have done this well, others have not.

How does Serverless reduce Ops complexity?

Note: Here we are talking about Serverless provided by a cloud-provider, not self-managed options like Kubeless where there are obviously different Ops requirements.

Serverless is often mistaken to just be FaaS (Function as a Service), often using the example of AWS Lambda functions. But as I’ve spoken about before, Serverless is an architectural movement of building cloud-native solutions that allow developers to focus on writing application-specific code. This comes in two folds:

  1. FaaS solutions allow developers to send application code which is run by the cloud provider in isolated containers abstracted from the developer.
  2. Serverless architectures make use of third-party services (often from the underlying cloud provider) to handle routine application functionalities. For example, rather than write the code for and manage the Ops for a user authentication system, Serverless architectures leverage a service like AWS Cognito or Okta to do this for them. In the same way, generic infrastructure aspects like queues, pub-sub, push notifications etc can come from the cloud provider — i.e Cloud-Native.

What is NoOps?

The idea of NoOps is not just linked to FaaS, as discussed above Serverless architectures make use of cloud-native solutions to common infrastructure components (e.g. AWS SQS for queues) and services for generic application functionalities like user authentication (e.g. AWS Cognito). Using such resources reduces Dev and Ops complexity as there are less owned by the technical team — things are consumed as a service not self-managed.

When NoOps is SomeOps?

Well, not quite. While it’s true that Cloud services can save time and reduce some of the traditional Ops responsibilities. Cloud providers have moved past just being a place for us to spin up instances, containers or VMs. There is a huge range of services provided by companies like AWS, meaning that there is a requirement to understand how these work, when they should be used and the best practices in configuring them — this is arguably ‘Ops’!

Also, Serverless architectures work well when they are structured as a distributed system. Distributed systems add a lot of complexity to monitoring, rollout and security management (even if managed through a service like AWS IAM). Therefore, teams need expertise in these areas.

Yes, we’ve saved time on traditional Ops, but there is an emerging area of Ops that we need to develop best practices and tooling in.

Is there still a divide between Dev and Ops?

The Risks with “NoOps”

We need to develop best practices and tools to automatically help teams build secure and economic cloud-native infrastructure, as well as do some self-reflection on the responsibilities of “Dev” and “Ops”. Developers need to step up to this challenge and Ops need to coach, support and train their teams if we are going to get the velocity “NoOps” proposes with the quality and security needed in modern applications.

In Conclusion

NoOps may not even be the right term — it’s not the removal of Ops. It’s the abstraction of Ops from the underlying machine to be more tightly coupled to the application logic. Maybe…

NativeOps: the push for architectural quality and empowerment of developer autonomy in a cloud-native world.

Serverless Transformation

Tools, techniques, and case studies of using serverless to…

Ben Ellerby

Written by

VP Engineering at Theodo and AWS Serverless Hero. Working with startups to launch MVP’s and large corporates to deliver in startup speed.

Serverless Transformation

Tools, techniques, and case studies of using serverless to release fast and scale optimally.

Ben Ellerby

Written by

VP Engineering at Theodo and AWS Serverless Hero. Working with startups to launch MVP’s and large corporates to deliver in startup speed.

Serverless Transformation

Tools, techniques, and case studies of using serverless to release fast and scale optimally.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store