Tag: ai

  • How Generative AI Enables Unified Continuous Testing Platforms

    How Generative AI Enables Unified Continuous Testing Platforms

    It is time for a unified continuous testing platform.

    Existing software testing platforms and tools specialize in testing activities for a subset of the different stages of value streams. The landscape of software testing tools includes a wide range of solutions, each with its strengths, focusing on specific aspects of software development, delivery and operations.

    For instance:
    • Unit Testing Tools focus on the earliest stages of development, allowing developers to test individual units of code for correctness.
    • Integration Testing Tools aim to test the interactions between different modules or services within an application.
    • System Testing Tools are designed for end-to-end testing of the complete system before it goes live.
    • Performance Testing Tools assess the application’s behavior under load and stress conditions.
    • Security Testing Tools focus on identifying vulnerabilities within the application.
    • User Acceptance Testing (UAT) Tools facilitate the final testing phase, where end-users validate the solution against their requirements.

    The challenge with unifying these diverse testing needs into a single continuous testing platform is multifaceted. Such a platform needs to seamlessly integrate with a wide variety of development tools and environments, support different testing methodologies, and be flexible enough to adapt to different organizational processes and quality standards.

    While there are Continuous Integration/Continuous Deployment (CI/CD) tools that incorporate multiple testing stages, they often do so by integrating with specialized testing tools rather than offering a unified testing solution themselves. These CI/CD tools are closer to orchestrating the various testing activities rather than unifying them under a single platform’s capabilities.

    However, the concept of a fully unified continuous testing platform, covering every stage from requirements through to deployment and in-production testing, represents a significant opportunity for innovation in the software development tools space. Achieving this would likely require leveraging advancements in areas like generative AI, as discussed in my prior blog Applying AI/ML to Continuous Testing to create adaptable, intelligent testing processes that can cover the full spectrum of testing needs in a cohesive manner.

    Benefits of a Unified Continuous Testing Platform

    Improved Efficiency and Speed: A unified CT platform integrates testing across all stages of the software development lifecycle (SDLC), significantly streamlining the testing process. This integration facilitates automated, continuous feedback loops that promptly identify and address defects, allowing development teams to quickly iterate and improve. As a result, teams can release new features and fixes more rapidly, accelerating the product’s time to market and enhancing responsiveness to customer needs and market changes.

    Enhanced Quality and Reliability: By ensuring comprehensive and consistent testing across the entire application, a unified CT platform plays a crucial role in identifying and mitigating issues early in the development cycle. This early detection helps maintain a high level of software quality and reliability, leading to increased user satisfaction and trust in the product. The consistent application of quality standards across all testing phases contributes to a robust and dependable software product.

    Cost Savings and Reduced Maintenance: Automating the testing process through a unified CT platform not only optimizes resource utilization but also significantly reduces the costs associated with manual testing and late-stage defect remediation. Early defect detection translates to lower fix costs, and the streamlined process decreases the overall time-to-market. Additionally, high-quality, reliable software requires less maintenance, further reducing long-term costs and freeing up resources for innovation and development efforts.

    Improved Collaboration Across Teams: A unified CT platform fosters a culture of collaboration and transparency among development, testing, and operations teams. By providing a common framework and tools for all testing activities, it breaks down silos and enables seamless communication and collaboration across the SDLC. This improved collaboration ensures that teams are aligned with the project goals, can share insights more effectively, and work together to identify and solve problems more efficiently, leading to better outcomes.

    Together, these benefits highlight how a unified Continuous Testing platform can transform the software development process, making it more efficient, cost-effective, and collaborative while ensuring the delivery of high-quality and reliable software products.

    While many tools address specific parts of the testing lifecycle, the vision of a single platform that seamlessly unifies all stages of testing from requirements to in-production remains an ambitious goal. It’s a gap in the current technology landscape that presents both a challenge and an opportunity for future development.

    Challenges for Unified Continuous Testing Platforms

    Creating a continuous testing platform that unifies test activities for all stages of the end-to-end value stream is a complex challenge due to several factors:
    1. Diversity of Technologies and Tools: Modern software development environments are highly diverse, incorporating various programming languages, frameworks, and technologies. Creating a platform that seamlessly integrates with all these technologies is challenging.
    2. Complex Integration Points: Continuous testing needs to integrate with multiple stages of the development pipeline, including development, deployment, and operations. Each of these stages might use different tools and processes, making it hard to create a one-size-fits-all solution.
    3. Varying Quality Metrics: Different teams and projects may have different definitions of quality, success criteria, and performance metrics. A unified testing platform needs to be highly customizable to cater to these varying needs.
    4. Change Management: Adopting a new platform requires changes in the organization’s processes and workflows. Resistance to change is common in organizations, and transitioning to a new way of testing can be met with skepticism and inertia.
    5. Scalability and Performance: Ensuring the platform can scale to handle the testing needs of large organizations with thousands of tests running concurrently is a technical challenge. Performance issues can become a bottleneck, affecting the overall efficiency of the development process.
    6. Security and Compliance: Integrating testing across all stages of development also introduces security and compliance challenges. The platform must ensure that sensitive data is protected and that testing practices comply with regulatory requirements.
    7. Cost and Resource Constraints: Developing, maintaining, and supporting a unified continuous testing platform requires significant investment. Organizations might be hesitant to commit the necessary resources without clear evidence of return on investment.
    8. Evolution of Practices: Software development practices and tools are constantly evolving. Keeping the platform up-to-date with the latest practices and technologies requires ongoing effort and innovation.

    Despite these challenges, there is a growing recognition of the value of continuous testing throughout the software development lifecycle. Some companies and open-source communities are making strides in this direction, creating more integrated and flexible testing solutions. However, achieving a fully unified platform that addresses all these challenges is an ongoing effort and represents a significant opportunity for innovation in the software development and testing industry.

    Generative AI Can Facilitate a Unified Continuous Testing Platform

    Generative AI can play a significant role in overcoming the challenges associated with creating a continuous testing platform that unifies test activities for all stages of the end-to-end value stream. Here’s how generative AI might address each of the challenges:
    1. Diversity of Technologies and Tools: Generative AI can be trained on a wide range of programming languages, frameworks, and technologies to understand and generate code or testing scripts. This capability allows it to adapt to different environments and create testing materials that are compatible with various tools and technologies.
    2. Complex Integration Points: AI can analyze the workflow of development pipelines and suggest optimal integration points for testing. By learning from different CI/CD (Continuous Integration/Continuous Deployment) configurations, AI can recommend best practices for integrating testing seamlessly into existing workflows.
    3. Varying Quality Metrics: Generative AI models can be customized to understand and apply different quality metrics and success criteria based on project-specific requirements. By training on diverse datasets, these models can adapt to various definitions of quality and generate relevant tests or analysis.
    4. Change Management: AI can assist in the change management process by simulating the outcomes of adopting new testing platforms, thereby providing evidence-based benefits and mitigating resistance to change. Furthermore, AI-driven analytics can highlight the efficiency gains and quality improvements to support the transition.
    5. Scalability and Performance: Generative AI can optimize testing processes by identifying redundancies and suggesting improvements, thus enhancing performance. Additionally, AI can dynamically allocate resources based on testing needs, ensuring scalability without compromising efficiency.
    6. Security and Compliance: AI models can be trained to identify and flag potential security and compliance issues in the testing process. By continuously learning from the latest security standards and compliance regulations, AI can help ensure that testing practices meet the necessary requirements.
    7. Cost and Resource Constraints: By automating the generation and optimization of test cases, generative AI can significantly reduce the manual effort required, lowering costs and resource demands. AI can also help prioritize testing efforts based on risk assessment, ensuring that resources are focused where they are most needed.
    8. Evolution of Practices: Generative AI models are inherently adaptable and can continuously learn from new development practices, tools, and technologies. This ensures that the testing platform remains up-to-date with the latest advancements in software development.

    Generative AI has the potential to transform continuous testing by providing adaptive, efficient, and intelligent solutions to the complex challenges of unifying test activities across the end-to-end value stream. However, realizing this potential requires careful design, extensive training of AI models, and ongoing management to ensure that the AI systems remain effective and aligned with evolving testing needs.

    Summary: Call to Action

    The need for a unified Continuous Testing (CT) Platform has never been more urgent. Current testing platforms, each adept in their niche, cover only fragments of the software development lifecycle (SDLC), leading to a disjointed and inefficient testing process. This fragmentation not only slows down development and deliveries but also compromises the quality and security of the final product. The dream of a single platform that seamlessly integrates all stages of testing, from requirements through to deployment and in-production testing, represents a monumental leap toward efficiency, security, and quality in software development.

    The challenges in creating such a platform are manifold, ranging from the diversity of technologies and tools to the evolving nature of software development practices. Each challenge, from integrating diverse technologies and managing change within organizations to ensuring scalability and compliance, adds complexity to the development of a unified CT platform. Yet, the potential benefits of overcoming these hurdles are immense, promising a significant boost in the speed and quality of software delivery. The industry’s recognition of these benefits is growing, evidenced by the efforts of some companies and open-source communities moving towards more integrated and flexible testing solutions.

    Generative AI emerges as a beacon of hope in this quest, offering innovative solutions to the multifaceted challenges of unifying test activities. By harnessing the power of generative AI, the industry can address the diversity of tools, integrate complex testing stages, adapt to varying quality metrics, manage organizational change, scale efficiently, ensure security and compliance, and evolve with the practices of software development. The path forward requires a concerted effort, but investments in AI-driven testing innovations can realize the vision of a comprehensive, unified, continuous testing platform. This is not just an opportunity for enhancement but a call to action for the industry to redefine the future of engineering platforms.

  • Applying AI/ML to Continuous Testing

    Applying AI/ML to Continuous Testing

    Artificial intelligence (AI) and machine learning (ML) can play a transformative role across the software development lifecycle, with a special focus on enhancing continuous testing (CT). CT is especially critical in the context of continuous integration/continuous deployment (CI/CD) pipelines, where the need for speed and efficiency must be balanced with the demands for quality and security. AI/ML contributes by automating complex tasks, predicting potential issues before they occur and providing actionable insights, thereby reducing manual efforts and enabling more strategic use of human resources.
    Moreover, the application of AI/ML extends beyond mere automation of tests. It encompasses the capability to learn from data, adapt to new information, and improve over time. This ability is invaluable for identifying patterns, anticipating vulnerabilities and optimizing testing strategies. In quality assurance, AI-driven tools can predict areas most likely to fail and tailor testing efforts accordingly. In security, ML algorithms can detect anomalies that signify potential threats, while in operations, AI can enhance feedback mechanisms, leading to more resilient and responsive systems.

    AI/ML for Continuous Testing

    Here’s how AI technologies can be applied to reduce bottlenecks associated with testing activities across various testing activities:

    1. Requirements Analysis
    • Explanation: Ensures test scenarios align with business requirements and user needs.
    • Bottleneck: Misinterpretation or incomplete analysis can lead to inadequate test coverage.
    • AI/ML Solution: NLP can automate the extraction and interpretation of requirements, ensuring comprehensive and accurate test coverage.

    2. Test Strategy
    • Explanation: Outlines the testing approach, objectives, and resources.
    • Bottleneck: An unclear strategy may lead to inefficient testing efforts and resource allocation.
    • AI/ML Solution: AI can analyze historical data to suggest the most effective test strategies and predict resource needs.

    3. Test Plans
    • Explanation: Detailed documents guiding the testing process, timelines, and responsibilities.
    • Bottleneck: Inflexible plans can struggle to adapt to project changes, causing delays.
    • AI/ML Solution: Machine learning algorithms can suggest adjustments to test plans based on ongoing project developments and past outcomes.

    4. Test Cases
    • Explanation: Specific conditions under which a test is executed.
    • Bottleneck: Time-consuming development and significant effort to maintain.
    • AI/ML Solution: AI can automate the generation of test cases from requirements documents, improving efficiency and coverage.

    5. Test Scripts
    • Explanation: Automated scripts that execute test cases.
    • Bottleneck: Script development and maintenance can be resource-intensive.
    • AI/ML Solution: AI can generate and update test scripts based on changes in the application or test cases, reducing maintenance effort.

    6. Test Data
    • Explanation: Data sets used during testing to simulate real-world scenarios.
    • Bottleneck: Creating, managing, and maintaining accurate test data is challenging.
    • AI/ML Solution: AI can automate the generation and management of test data, ensuring relevance and variety.

    7. Test Environment
    • Explanation: The setup where testing is conducted mirrors production environments as closely as possible.
    • Bottleneck: Configuration and maintenance of test environments are complex.
    • AI/ML Solution: AI can predict and configure optimal test environments based on test requirements, reducing setup time.

    8. Coordination with Dependent Systems
    • Explanation: Ensuring the system under test interacts correctly with databases and other applications.
    • Bottleneck: Dependency management can cause delays.
    • AI/ML Solution: AI can automate the detection and resolution of integration issues, enhancing coordination efficiency.

    9. Test Environment Setup
    • Explanation: Configuring infrastructure and tools necessary for testing.
    • Bottleneck: Setup complexity and resource contention lead to delays.
    • AI/ML Solution: AI algorithms can optimize environment setup, automatically adjusting resources as needed.

    10. Test Campaign Setup
    • Explanation: Organizing and scheduling a series of test executions.
    • Bottleneck: Requires careful planning and can be hindered by resource limitations.
    • AI/ML Solution: AI can assist in scheduling and prioritizing test campaigns based on risk and impact analysis.

    11. Test Execution
    • Explanation: The process of running test cases and scripts, both automated and manual.
    • Bottleneck: Time-consuming, particularly for manual tests.
    • AI/ML Solution: AI can prioritize test execution and identify flaky tests, streamlining the process.

    12. Test Verdict Reporting
    • Explanation: Determining and reporting the outcome of test executions.
    • Bottleneck: Manual verdict determination can be slow.
    • AI/ML Solution: AI can automatically interpret test outcomes, speeding up reporting.

    13. Logging of Data
    • Explanation: Recording data relevant to the test for further analysis.
    • Bottleneck: Extensive data collection can overwhelm resources.
    • AI/ML Solution: AI can intelligently filter and log pertinent data, reducing noise.

    14. Test Result Analysis
    • Explanation: Analyzing test outcomes to identify defects and issues.
    • Bottleneck: Requires significant time and expertise.
    • AI/ML Solution: ML algorithms can quickly identify patterns and anomalies in test results, highlighting potential issues.

    15. Test Result Reporting
    • Explanation: Communicating findings to stakeholders.
    • Bottleneck: Compiling reports is time-intensive.
    • AI/ML Solution: Automated reporting tools powered by AI can generate insightful and comprehensive reports quickly.

    16. Waiting for Resource to Fix Failed Tests
    • Explanation: Downtime while awaiting fixes for identified issues.
    • Bottleneck: Halts testing progress.
    • AI/ML Solution: AI can predict which areas might fail and propose potential fixes

    Challenges

    Applying AI/ML to software testing activities offers numerous advantages but also introduces several challenges. Addressing these problems requires a combination of technical solutions, process adjustments, and cultural changes.

    1. Lack of Intuitive Understanding of the Application Being Tested
    • Problem: AI/ML models may not fully grasp the application’s context or the nuances of its functionalities, leading to less effective test scenarios.
    • Solution: Enhance AI models with richer contextual data and incorporate feedback loops where testers can refine and adjust AI-generated test cases. Employing techniques like reinforcement learning can also help AI models better understand application contexts over time.

    2. Repeatability and Consistency Between Test Sessions
    • Problem: AI-driven tests may generate different outputs for the same input over different sessions, complicating test consistency and traceability.
    • Solution: Implement versioning for AI models and their training data, ensuring consistency across test sessions. Use deterministic approaches in conjunction with AI to maintain a core of stable, repeatable tests.

    3. Lack of Understanding of the Tests Generated
    • Problem: Testers may find it challenging to understand or trust the rationale behind AI-generated test cases, impacting their ability to evaluate test outcomes effectively.
    • Solution: Incorporate explanations into AI/ML models to provide insights into their decision-making processes. Foster a culture of trust and understanding through education and transparency regarding how AI models operate.

    4. Test Coverage
    • Problem: There’s a risk that AI/ML might not adequately cover all testing scenarios, potentially missing critical defects.
    • Solution: Combine AI/ML with traditional testing methods to ensure comprehensive coverage. Regularly review and adjust the criteria used by AI/ML models to generate test cases, ensuring they align with evolving application features and risks.

    5. Compatibility with Different Test Tools
    • Problem: AI/ML models might not seamlessly integrate with existing testing tools and frameworks, limiting their utility.
    • Solution: Develop or use AI/ML solutions with extensive API support and integration capabilities. Work with tool vendors or contribute to open source projects to enhance compatibility.

    6. Acceptance by Teams
    • Problem: Testers and developers may be skeptical or resistant to AI-driven testing due to concerns about job displacement or mistrust in AI’s effectiveness.
    • Solution: Educate and involve teams in the development and implementation of AI/ML testing strategies. Demonstrate the value of AI/ML in augmenting their roles rather than replacing them, focusing on AI as a tool to tackle mundane tasks and allowing them to focus on more complex and rewarding work.

    7. Data Quality and Availability
    • Problem: AI/ML models require large amounts of high-quality data for training. Inadequate or poor-quality data can lead to ineffective testing.
    • Solution: Invest in data curation and generation strategies such as synthetic data creation to ensure models are well-trained.

    8. Continuous Learning and Adaptation
    • Problem: AI/ML models may become outdated as applications evolve.
    • Solution: Establish continuous learning mechanisms where models are regularly updated with new data and feedback, ensuring they remain relevant and effective.

    9. Ethical and Bias Considerations
    • Problem: AI/ML testing models might inherit or amplify biases present in their training data, leading to unfair or discriminatory outcomes.
    • Solution: Implement ethical guidelines and bias detection methodologies for AI/ML model development and use. Regularly audit models for biases and correct them as needed.

    By addressing these challenges with thoughtful strategies, organizations can maximize the benefits of AI/ML in testing activities while mitigating potential drawbacks, leading to more efficient, effective and trustworthy processes.

    Summary

    This blog explained use cases of artificial intelligence (AI) and machine learning (ML) within the realm of continuous testing of the software development life cycle. By harnessing the power of AI/ML, we’ve seen how organizations can significantly enhance their development processes, making them more efficient, secure and responsive to user needs. The exploration of specific AI/ML applications across various activities has provided a blueprint for automating and optimizing tasks that traditionally required significant manual effort.

  • Logz.io Leverages AI to Identify Anomalies in Real-Time

    Logz.io Leverages AI to Identify Anomalies in Real-Time

    Logz.io this week revealed it has added a real-time anomaly detection capability to its observability platform that makes it simpler to correlate the impact IT events will have on business processes.

    This capability is based on artificial intelligence (AI) models trained using historical data collected via the Logz.io Open 360 platform.

    Logz.io CTO Asaf Yigal said this addition to the Open 360 platform enables DevOps teams to employ machine learning algorithms to identify anomalies in mission-critical processes that warrant further investigation. Armed with insights that go beyond simple IT infrastructure consumption metrics, it becomes possible to significantly reduce mean time to resolution, he added.

    Logz.io has been embedding AI models within its platform since last year. Still, this latest capability will enable organizations to further bridge a divide between IT and the business that has long plagued many organizations, noted Yigal.

    The ultimate goal is to make it simpler for DevOps teams to instantly identify any anomalous application behavior that represents a risk to the business, including cybersecurity events, he added.

    The AI capabilities that Logz.io has been steadily adding to its observability platforms are largely transparent to DevOps teams, said Yigal. Instead, Logz.io is embedding multiple types of AI models into its platform that can be invoked in much the same way any other capability is provided, he added. DevOps teams are not necessarily going to need to build their own models to take advantage of AI to observe application behavior at scale, noted Yigal.

    The goal is to surface those capabilities consistently at a level of cost organizations can afford, added Yigal.

    It’s not likely AI will replace the need for DevOps teams any time soon, said Yigal. After all, there is a reason AI models are referred to as co-pilots versus an automatic pilot, he noted.

    It’s not clear to what degree organizations today can correlate the impact an IT event is going to have on the business. But as organizations continue to realize how dependent they are on applications to drive digital processes, the need to bridge the historic divide between IT and the rest of the business has become more urgent. In fact, many of the product and brand champions that organizations now rely on to manage a business unit often have a background in DevOps.

    Of course, business professionals that are steeped in IT are still relatively rare but as advances in AI continue to make it simpler to understand how complex application environments function the number of users of an observability platform will naturally expand beyond IT. The challenge is presenting each stakeholder with a view into the IT environment that meets their specific requirements.

    It may take a yet before the divide between IT and the rest of the business is permanently bridged but with each passing year it gets narrower. The challenge and the opportunity now is making sure everyone on both sides of that divide understands the art of the possible today that only a few short years ago would have seemed impossible to achieve.

  • The Great Debate: The Future of Humans and Software in the Age of AI

    The Great Debate: The Future of Humans and Software in the Age of AI

    Listening to the two sides of the debate regarding how much AI will take over software development, delivery and support tasks and its impact on jobs is both exciting for technology and scary for humans. The debate goes something like this:

    AI Advocate: Welcome to the future! With AI’s capabilities today, we’re looking at a world where software applications can practically develop, deliver and support themselves. The need for human involvement is diminishing rapidly.
    AI Antagonist: That’s an overly optimistic view. You’re underestimating the value of human creativity, empathy and ethical judgment. There are areas where AI simply cannot replace the human touch.
    AI Advocate: Consider design and specification. AI can generate prototypes and suggest improvements. It’s about efficiency and leveraging AI to cut down on the grunt work.
    AI Antagonist: But who sets the vision? AI lacks the understanding of user needs and market demands that only humans possess. The strategic decision-making and nuanced understanding of user psychology are irreplaceable.
    AI Advocate: True, but AI’s role in supervision and training cannot be overlooked. It can manage its operations, needing only minimal human oversight to update data and rules.
    AI Antagonist: And yet, who ensures these AI systems are aligned with ethical standards and current practices? Humans are crucial for overseeing these systems, ensuring they operate as intended and do not deviate into unethical territory.
    AI Advocate: I’ll give you that. However, in quality assurance and testing, AI significantly reduces the human workload by automating many processes.
    AI Antagonist: Automation has its place, but human insight is vital for identifying complex issues and understanding user experience in a way AI cannot. There’s a depth to exploratory and usability testing that AI can’t reach.
    AI Advocate: Ethical and legal oversight might be your strongest point. AI does struggle with nuanced decisions in privacy, security and bias. I concede that humans are necessary to navigate these complex fields.
    AI Antagonist: And don’t forget about customer support. AI can handle routine queries, but complex problems and sensitive issues require human intervention. The personal touch is something AI can’t replicate.
    AI Advocate: Innovation is a collaborative effort, I admit. AI assists, but human creativity drives continuous improvement and adapts to market trends.

    What Are the Implications if the AI Advocate is Correct?

    If the AI advocate’s vision comes to fruition, the implications for humanity could be profoundly transformative. First, the automation of routine and complex tasks alike would herald a new era of efficiency and productivity, potentially liberating humans from the drudgery of monotonous work. This shift could lead to an increased focus on creative, strategic and interpersonal tasks that leverage human strengths and foster innovation. Moreover, the widespread adoption of AI in software development could drastically reduce the time and resources needed to bring new technologies to market, accelerating the pace of technological advancement and potentially solving critical challenges in fields like healthcare, education and environmental protection. However, this future also raises concerns about job displacement and the need for societal adjustments to manage the transition, emphasizing the importance of re-skilling and education to prepare the workforce for a new economic landscape dominated by AI and automation.

    What Are the Implications if the AI Antagonist is Correct?

    On the other hand, if the AI antagonist’s perspective holds, the implications underscore the indispensable value of human involvement in technology. This scenario suggests that despite AI’s advancements, the nuanced understanding, ethical judgment and creative problem-solving capabilities of humans remain crucial. It highlights the potential risks of over-reliance on AI, including ethical dilemmas, privacy concerns and the perpetuation of biases if not carefully overseen by human intelligence. The emphasis on human skills and creativity could lead to a more balanced approach to technological development, where AI is used as a tool to augment human capabilities rather than replace them. This future would prioritize the development of technologies that are not only innovative but also ethical, user-centric and socially responsible, ensuring that technological progress benefits all of society.

    A Balanced Future

    Ultimately, the truth likely lies somewhere in between these two viewpoints, suggesting a future where AI and human capabilities are intertwined. The implications of such a balanced approach would be a collaborative ecosystem where AI enhances human efforts, leading to unprecedented levels of productivity and innovation while also creating new opportunities for human workers. This future emphasizes the importance of adaptability, lifelong learning and ethical considerations as central pillars of technological advancement. It also highlights the need for policies and educational systems that support the workforce in transitioning to roles that leverage human strengths in creativity, empathy and strategic thinking, ensuring that the benefits of AI are distributed equitably across society.

    Image source: https://vecteezy_futuristic-technology-concept-mixed-media-innovations-data_7019122_167-3.jpg

  • JFrog Extends MLOps Integration Efforts via Qwak Alliance

    JFrog Extends MLOps Integration Efforts via Qwak Alliance

    JFrog today announced it has integrated its DevSecOps platform with a managed machine learning operations (MLOps) platform from Qwak to advance collaboration between teams building and deploying multiple classes of software artifacts.

    This alliance comes on the heels of a similar Amazon Sagemaker alliance announced last month that also integrated a managed service for building artificial intelligence (AI) models provided by Amazon Web Services (AWS) with the JFrog Software Supply Chain Platform.

    Both machine learning operations (MLOps) platforms provide data science teams with a complete stack of curated tools required for building AI models from the ground up versus, alternatively, customizing AI models that were previously built.

    Gal Marder, executive vice president for strategy for JFrog, said integration with the Qwak platform makes it possible to manage the software artifacts created by MLOps teams alongside the rest of the software artifacts a DevSecOps team is already managing. That approach makes it possible to also detect and block the use of malicious ML models in addition to ensuring models comply with company policies and regulatory requirements, he noted.

    As it becomes apparent that more AI models will be directly embedded within applications, the need to integrate DevOps workflows with machine learning operations (MLOps) platforms used to create AI models is becoming more pronounced, said Marder.

    JFrog Software Supply Chain Platform can be used to provide both data scientists and developers with a single source of truth for securely managing software artifacts using a common repository to foster greater collaboration between teams that, in most cases, are still determining how best to collaborate, he added.

    The challenge is data scient teams typically train and deploy AI models every few months, while DevSecOps teams are often updating applications multiple times a month. Data science and DevSecOps teams, as a result, generally have distinct cultures, but in the long term, DevOps and MLOps workflows will eventually merge, said Marder.

    Most organizations are still trying to determine how best to operationalize AI using their own data. In the term, AI models are being invoked via application programming interfaces (APIs). Still, it’s also now only a matter of time before more AI models are embedded in applications to improve overall performance. The challenge is that AI models can’t be updated the same way other software artifacts are patched, so managing versions of AI models will require a different set of controls as one model replaces another. JFrog, for example, has developed versioning capabilities that can be applied to AI models in the context of a DevOps workflow.

    There is, of course, already no shortage of MLOps platforms, so DevOps teams should expect to see a wave of alliances being formed between the providers of these platforms. Less clear is to what degree those alliances might lead to mergers and acquisitions among the providers of those platforms.

    One way or another, however, AI models are coming to DevSecOps workflows. The only issue to be resolved is how best to manage their deployment alongside all the other types of software artifacts already moving through existing DevOps pipelines.