Technical articles

Top 10 ways Machine Learning
may help DevOps

This post is meant as a general introduction to DevOps and machine learning, but does not represent GitLab’s roadmap with ModelOps.

Read more about our ModelOps plans.

 

Like a superhero’s cape, machine learning can enhance the innate powers of your DevOps program.

 

Yes, it’s early days, and no, machine learning can’t do everything you may want it to – yet. But if you start using ML tools now, you’ll be poised to make it a full-fledged participant in your DevOps team as the technology continues to mature. Here are some things ML can help with today.

10 maneras en las que el Machine Learning ayuda a DevOps

Make sense of your test data.

Whether it’s regression, unit, functional, or user acceptance testing, ML can help sort through the data generated from those tests, find patterns, figure out the coding problems that caused any bugs, and alert the troops.

Manage your help-desk alerts.

You can teach ML about the factors that make up different types of alerts and automatically route alerts to the best- qualified (mostly human) problem-solver, be it the service desk or a networking guru. Some ML systems can also fix problems without human intervention, based on rules you create.

Put the security into “DevSecOps.”

ML algorithms can, in real time, look through the massive amount of information generated from your security software and network logs and determine if there’s a breach long before a human could. The ML software compares the usual network-traffic baseline to what it’s seeing currently and detects when there’s an attack, or it can tell you if the amount of code in an app or system has suddenly grown to double its size when it shouldn’t have. ML can also triage the problems it finds, as well as take actions to correct security issues based on your guidelines. Further, ML tools can also help ensure your governance rules are followed and create a detailed audit trail.

Gather user requirements.

Natural language processing has come a long way, and can collect, validate, and track documents to streamline the process of figuring out what users are asking for.

 

The technology can also help detect incomplete requirements or wonky timelines and can translate user wants and needs into highly technical project requirements. This makes the entire project-management process more efficient.

Automate testing and create test data.

ML can automatically create the tests you need for QA and the test cases they’re based on, generate and manage test data, and automate code reviews.

 

Natural language processing can help you review test cases and eliminate duplicates, as well as identify gaps in test coverage.


Teams will continue to use machine learning models to make test automation smarter, Forrester Research predicts.

Help with pesky dev details.

No, not to replace developers, of course – at least not yet. But ML can learn from past apps you’ve created to ecommend security guardrails and how to make software scale and perform better, among other things.

 

Developers definitely see this trend coming, and in GitLab’s 2021 Global DevSecOps Survey, around a third said that an understanding of AI or ML is the most important skill for their future careers. ML-powered code completion tools are already on the market, which provide suggestions for app developers.

Save time on manual provisioning.

Sure the cloud makes this easier, but ML can provision what it thinks you’ll need before you actually need it.

Reduce complexity and allow better communication throughout the software chain.

ML can smooth out the rough edges among teams responsible for different parts of the process, and act as an Esperanto of sorts to allow people to speak to each other using the same language. No more, “It worked on
my machine.”

Improve software and product quality.

ML can help find issues like resource leaks, wasted CPU cycles, and other problems, so you can optimize your code before it hits production. At Facebook, a bug detection tool predicts defects and suggests remedies that prove correct 80% of the time, Deloitte reports.

 

And the IEEE ran a study from Google X about an ML method that predicts failures of individual components that was “far more accurate than the traditional MTBF approach.”

Integrate your workflows and allow continuous improvement.

Some DevOps teams are using ML to analyze all development, operational, and test tools to find any gaps, as well as where pieces of the pipeline need to be better integrated and where APIs are still needed.

 

ML algorithms can help teams figure out why some projects go very well, and others don’t.

 

You can use ML to monitor your monitors and make sure they’re fully operational.


Further, ML continues to learn from its training models – both the ones you provide and those it learns on its own as it goes – to continue to help you provide better products and services over time.

 

And when you get down to it, isn’t that the whole point of technology?

Source: GitLab

What are ITSM processes? ITIL version 4 recently went from recommending ITSM “processes” to introducing 34 ITSM “practices”. Their reasoning for this updated terminology is that “elements such as culture, technology, information and data management can be considered to get a holistic view of ways of working”. This more comprehensive approach better reflects the realities of modern organizations.

 

Here, we will not concern ourselves with nuanced differences in the use of practice or process terminology. What’s important and true, no matter what framework your team follows, is that modern IT service teams use organizational resources and follow repeatable procedures to deliver consistent and efficient service. In fact, leveraging practice or process is what distinguishes ITSM from IT.

Change management ensures standard procedures are used for efficient and prompt handling of all changes to IT infrastructure, whether it’s rolling out new services, managing existing ones, or resolving problems in the code. Effective change management provides context and transparency to avoid bottlenecks, while minimizing risk. Don’t feel overwhelmed by these and the even longer list of ITIL practices.

Problem management is the process of identifying and managing the causes of incidents on an IT service. Problem management isn’t just about finding and fixing incidents, but identifying and understanding the underlying causes of an incident as well as identifying the best method to eliminate the root causes.

Incident management is the process to respond to an unplanned event or service interruption and restore the service to its operational state. Considering all the software services organizations rely on today, there are more potential failure points than ever, so this process must be ready to quickly respond to and resolve issues.

IT asset management (also known as ITAM) is the process of ensuring an organization’s assets are accounted for, deployed, maintained, upgraded, and disposed of when the time comes. Put simply, it’s making sure that the valuable items, tangible and intangible, in your organization are tracked and being used.

Is the process of creating, sharing, using, and managing the knowledge and information of an organization. It refers to a multidisciplinary approach to achieving organizational objectives by making the best use of knowledge.

Is a repeatable procedure for handling the wide variety of customer service requests, like requests for access to applications, software enhancements, and hardware updates. The service request workstream often involves recurring requests, and benefits greatly from enabling customers with knowledge and automating certain tasks.

It’s simply not enough to have an ITSM solution – you need one that actually accelerates how your teams work.

Atlassian’s ITSM solution unlocks IT at high- velocity by streamlining workflows across development and operations at scale. Meaning what was once many siloed teams with different ways of working, are now integrated and much more collaborative than ever before.

ITSM benefits your IT team, and service management principles can improve your entire organization. ITSM leads to efficiency and productivity gains. A structured approach to service management also brings IT into alignment with business goals, standardizing the delivery of services based on budgets, resources, and results. It reduces costs and risks, and ultimately improves the customer experience.