Despite AI washing, or vendors trying to shoehorn existing portfolios into the AI world, artificial intelligence has become ubiquitous.
AI will define how effective and successful DevOps initiatives can really be. At a simple level, AI ensures that code is error free and optimized for performance. AI technology can also update IT systems intelligently with knowledge of the underlying operational stack and apply supported updates.
AI becomes central to modern IT -- and DevOps
As enterprises move to more complex IT platforms that mix private and public, as well as virtual and physical, environments, the ability to manually manage workload deployment and orchestration will become impossible. Intelligence is required -- and it needs to be as near to real time as possible.
Orchestration systems tend to lead with rule-based logic, combined with a degree of machine learning. With machine learning, the system learns the existing environment and then packages what is in development to run as effectively as possible in production.
IT admins need to embed AI end-to-end into DevOps processes -- and beyond, into the upstream process where the business makes decisions. This BizDevOps approach means that the business has more control: Business needs drive everything downstream from development to testing to operations and maintenance. However, AI is necessary to convert business needs into a technical recipe, complete with the available inputs, desired outcomes and expected workloads. Once that technical recipe is in hand, developers need to ensure they meet those needs. Here, AI steps in to identify whether that recipe -- or, at least, certain components of it -- is available as third-party functions in the cloud. This means that AI sends a request for a certain type of service, and in a controlled, contained environment that consists of service providers already vetted by the organization, this use case becomes possible. Serverless computing has already made some steps towards this, as the responding 'service' -- the physical resources -- is not defined until the requesting service makes the call for a response.
If such functions exist, DevOps teams can use AI to negotiate technical and financial contracts on the fly -- provided the organization keeps its environments fairly simple and its variables defined as limiters. For example, will the function be able to carry out X number of transactions in Y amount of time for Z amount of money? As time goes on, these capabilities become more dynamic and in real time. For example, they might be able to detect a newer function available elsewhere in the public cloud that better fulfills the business' needs at the same or lower cost.
Monitor with AI
Advanced AI for DevOps ensures developers use the right platform at the right time to optimize cost. For example, they can perform sandboxing and early testing in a workstation environment, move to low-cost public cloud platforms for stage-two testing, and then move to a replica of a real-world environment for full stress testing, before pushing the finished package to production.
Monitoring the overall environment requires AI software to discern the root cause of a spike in resource usage. Once the root cause is found, management must consider carefully whether DevOps teams should move the workload to a different part of the overall platform, throttle it or shut it down completely. Shutting down a workload for the wrong reasons can affect a business significantly. However, failure to shut down malicious activity can be just as bad. AI must not only react in real time, but correctly.
Build feedback loops with AI
AI for DevOps can also enhance performance feedback loops. Direct feedback from users is still important, but AI workflows can create advanced reports on resources that are actively in use -- information that can optimize IT processes. Over time, the use of AI as a modifying force in the development environment might lead to self-optimizing systems, where a business can choose to let certain workflows adapt to better support their needs, or enable AI to adapt the process and workloads to meet changing market needs.
AI for DevOps is in the works
Don't expect all these advanced AI uses to become mainstream in the next year. However, look to DevOps and orchestration vendors such as CloudBees, HashiCorp and Atlassian to bring more AI capabilities to their product bases. Expect additional AI capabilities in systems such as Kubernetes, as well as in major public clouds like Azure, AWS and Google Cloud Platform.
At this stage, choose AI capabilities to fit more of a best-bet tactical play: The market is still immature and AI's potential will change as the market develops. Don't oversell AI to the business, but explain to decision-makers why early-stage experiments and exploratory projects will not only help developers better understand future possibilities, but benefit the business directly.