When you stand back and observe how technology is evolving, you will notice two things: Every corner of our lives is becoming digital and the rate of technology change is exponentially increasing. This begs a question: How is it that this rate of change can be sustained without the wheels falling off the proverbial bus?
First, change in the digital world has far fewer barriers than the physical world. It is easier to come up with an idea, code it and test it out than it is to design and create a physical prototype (although 3D printers are helping in this regard). But where technology has really shined is the marrying of a change-forward mindset with structure.
One of the foundational components of this marriage is Agile, which formalizes the quick iteration of work while being responsive to feedback and change. Next are microservices and containers that enable us to break up a large application into tiny, autonomous pieces and deploy software reliably with minimal support because all dependencies are bundled together. And then there is DevOps, that combines tools, culture, and methodology to bring two diametrically opposed forces of development and IT operations together for greater efficiency in producing and maintaining technology change.
The independent initiatives of Agile, microservices, containers and DevOps align ridiculously well to create an ecosystem that supports technology innovation at speed and scale. But it hasn’t stopped there. Next on the horizon is ChatOps and NoOps, which will take technology operations and innovation to the next level.
ChatOps is about creating a new form of user interface, expanding beyond CLIs and GUIs and moving towards an interface that is both contextual and conversational. This allows for the execution of automated workloads without the need for specific syntax or potentially product-specific training. Instead, ChatOps focuses on the function, rather than the product.
When you are able to ask a bot to build a developer environment, and the bot knows enough about the developer profile that it pre-installs all of the necessary tools and preferences for the developer, the underlying automation toolset becomes irrelevant to the developer. This abstraction will create new workflows which will empower personnel to ask for what they need (be it tools, environments, data, or business intelligence), and will reduce delays between a business need and a business solution.
Currently, the way it works is to integrate a chat bot (Bot or Hubot) or a chat room (Slack or Atlassian HipChat) with custom scripts and plugins so it can automate tasks and provide you the specific data you need. Although it is limited to the commands you develop, like APIs, I see Product Managers incorporating ChatOps features in their future products.
Ultimately, as Natural Language Processing becomes more evolved, ChatOps will become more contextually driven with interfaces that evolve beyond strict linguistic syntax so that the intent of the command will be executed, instead of the exact meanings of the words.
NoOps takes DevOps to the next level. Rather than tools, culture, and processes which simplify the operations surrounding development, what if we automate it all together? When a developer finishes his code, what if his code could be pushed to production at right time, with all the necessary testing and security checks made automatically?
The idea behind NoOps is to reduce or eliminate the management of infrastructure for an application. Rather than having resources configuring servers and databases, developers are now in control of deploying and scaling their application through a Platform-as-a-Service technology.
To be successful, a NoOps environment will require several components to enable this paradigm:
- Microservice Architecture
- Unified Operations
- Self-Healing Systems
Some people hear NoOps and they think the death of the Sys Admin, but that isn’t the case. Rather than removing a SysAdmin, NoOps simplifies their tasks and provides time savings that can be spent on tasks that require higher-level thinking, which is the overall driver of technology: Save us time on the non-essential so we can focus on innovation and quality of life.
The cusp of innovation is mind-boggling. If history has taught us anything, it is that we can not predict what will come next, only that it will come quickly and will constantly evolve. The benefits are there, but the challenge is making ourselves ready to adopt and keep up with change to stay competitive, at the leading edge of innovation