Machine learning and artificial intelligence have emerged as powerful tools in several domains, bringing huge changes to software development. LLMs are now used by developers to help write code and are integrated into apps and services. Similarly, other machine learning models are commonly integrated into websites and apps, either being developed and trained from scratch using proprietary data, or leveraging third party machine learning tools.
The development and widespread use of large language models, such as the constantly mentioned GPT-4 and Bard, have the capabilities to revolutionise a variety of domains, and software development is at the forefront of this.
Ensuring the correctness of code is a top priority. Traditionally, the dominant approach has been test-driven development (TDD), which consists in writing tests to validate the code after it has been written. The core idea is to provide examples of desired behaviour (in the form of tests), and check the code output against them.
There is no future of IT operations that does not include AIOps. This is due to the rapid growth in data volumes and pace of change (exemplified by rate of application delivery and event-driven business models) that cannot wait on humans to derive insights. -Gartner AIOps Market Guide for AIOps Platforms 2021
Picture this scenario: you have just made some changes on your web application, and would like to know how effective they are in improving the users' experience. One option is to wait until a satisfactory number of users have interacted with the new version of the web application and compare their behaviour with the average user behaviour before the changes were implemented, but this raises two issues:
Conventional log monitoring solutions rely on manual rule-based analysis, whereas newer AI techniques utilize Natural Language Processing to model log streams and detect normal operating patterns. However, combining the benefits of these dynamic and static monitoring methods can create a powerful automated system capable of identifying anomalous situations and potential security risks without requiring human intervention. In this article we explore the potential benefits of integrating both novel and well-established techniques, in the context of an often conservative domain.
Moving Target Defense (MTD) is a cybersecurity approach that aims to increase the resilience of computer systems and networks by continuously changing the attack surface or defense profile. This approach involves dynamically changing the system's configuration, topology, or behavior to prevent attackers from gaining access, detecting vulnerabilities, or launching successful attacks. The objective of MTD is to make it more difficult and time-consuming for attackers to exploit system weaknesses, thereby reducing the chances of a successful attack.
Save the date for the upcoming SWForum webinar on 20 April 2023 together with the European Commission and key R&I projects focusing on innovation in DevOps lifecycle processes, practices, and culture.