lassedesignen - Fotolia
When you cut away the marketing hype, the term NoOps refers to an approach in which there's no need for IT operations staff to perform mundane tasks.
NoOps is characterized by tools and services that hide or minimize IT operations burdens through an automated development and operations pipeline. In contrast, DevOps blurs the lines between developers and operations staff, as well as their responsibilities. Mastering DevOps is a necessary step to move to a NoOps approach -- as is the use of cloud-based technologies and a shakeup to IT staffing.
The technologies that underpin NoOps
The move to NoOps mandates an increase in cloud usage across all facets of an organization. This is because cloud services and automation are two key pillars of a NoOps strategy. The cloud acts as the platform on which DevOps teams can minimize administration, configuration and deployment work, and maximize development efforts.
NoOps requires enterprises to elevate their cloud deployments to include technologies that support on-demand infrastructure, such as serverless computing, automation, containers, Kubernetes and machine learning. AIOps tools can help manage and monitor these environments across multiple cloud service providers to supply admins with a centralized view of actionable technical, security and financial operations information.
Serverless computing is a natural step toward NoOps. It simplifies code deployments, because serverless platforms run snippets of back-end code for a single function. The cloud service provider manages the underlying servers and allocates machine resources dynamically. Amazon Web Services, Microsoft Azure and Google Cloud Platform all have their own serverless offerings.
Automation is a necessity in NoOps because it enables IT teams to operate cloud services at scale. It's too time-consuming, for example, to have to manually spin up 4,000 VMs, and then spin them back down, based on user demand. A cloud management platform lets you automate this work with rule-based policies. A policy, for instance, could dictate that development machines automatically shut down every night at 9:00 pm, and then spin back up every weekday morning at 6:00 am.
Kubernetes platforms, such as Red Hat OpenShift 4, automate the back-end management and monitoring of VMs and load balancers, and let the operations team focus on deployments and services. These platforms also standardize infrastructure for an application, which takes another load off the shoulders of IT operations staff. Kubernetes blends deployment and development without limiting a development team -- another key component of NoOps.
Machine learning is another way to optimize a cloud deployment for NoOps. AIOps tools use big data analytics and machine learning capabilities to automatically resolve common IT and networking issues across a hybrid cloud. AI and machine learning are also starting to play a role in cloud management tools and platforms to more intelligently automate operations.
When development and test environments move to the cloud, a level of abstraction around release management enables programmers to increase their focus on build and test activities. For instance, a self-service cloud brokerage tool can authorize developers to configure complete environments, including the necessary tools and frameworks, to run their projects in a couple of clicks. A cloud cost optimization tool, such as CloudCheckr or Cloudability, can run on the back end to deduct the developer's project costs from the department budget.
Reposition and retrain IT staff
The prospect of NoOps -- let alone automation -- is a scary one for some IT operations staff. It's one thing for IT admins to hear that NoOps won't eliminate their jobs, but instead enable them to work on more strategic projects; it's quite another for them to believe it. Be prepared to present a roadmap or other plans about IT staff repositioning, with specific details on dates, projects and budget.
NoOps gives your IT operations and development teams more of a chance to work with the business. To start, look for a business unit that's more agile than others across your organization. Build strategic relationships with the departments that have the most to gain from NoOps. For example, a product group with hungry salespeople can benefit from NoOps' ability to streamline the buildout of platform capabilities. In addition, look for other teams that want to, or already embrace, DevOps practices.
NoOps can also be the launching-off point for IT ops staff to learn and implement new technologies, such as Kubernetes, which is well-known for its learning curve and configuration demands. The road to NoOps also means staff should learn how to automate existing cloud tools.
A complete NoOps model is largely aspirational today. On-demand cloud infrastructure won't free IT teams entirely from the unplanned management tasks that crop up during the day. Apply the expertise of operations staff to engineer any hint of chaos out of IT processes, and create repeatable and efficient operations -- but don't expect work to come to a halt.
Also, NoOps doesn't replace DevOps. Instead, it encourages DevOps mastery, as NoOps can't happen without successful DevOps practices already in place. CI/CD pipelines, QA and staging environments still apply. To move to a NoOps model, mature DevOps capabilities and practices are part of the journey. Develop and conduct internal team trainings and continuously improve processes and collaboration channels.