Tag: ai

  • Embracing Chaos With AI: Reinventing SRE’s Anti-Fragility Practices

    Embracing Chaos With AI: Reinventing SRE’s Anti-Fragility Practices

    In my recent blog, Revolutionizing the Nine Pillars of SRE with AI-Engineered Tools, I indicated that AI can contribute to the development of more resilient systems by analyzing system behavior under stress and identifying vulnerabilities. In this blog, I explain, in more detail, how AI-engineered tools can improve the SRE anti-fragility pillar of practice.

    AI Use Cases for SRE Anti-Fragility

    Fire Drills: AI can assist in creating more effective and dynamic fire drills by predicting potential failures based on patterns and anomalies in data. Tools like Gremlin and ChaosIQ can be used to design, schedule and manage chaos experiments. However, resistance from team members may be a challenge due to the potential for disruption. To overcome this, it’s important to communicate the benefits and ensure there are safeguards in place to prevent unnecessary disruption.

    Chaos Engineering – Infrastructure: By introducing controlled failures in the infrastructure, AI can learn and identify weaknesses that would not be apparent under normal conditions. Tools like Chaos Monkey and Netflix’s Simian Army can be helpful here. A significant challenge could be to deal with the resulting chaos and anomalies. Adequate training and support are required to ensure the teams can handle the chaos experiments and learn from them.

    Chaos Engineering – Applications: AI can introduce failures at the application level to understand how the system behaves and recovers. Tools like Litmus can help conduct these experiments. Challenges could include resistance from developers and potential impacts on the user experience. Having a well-defined scope and process and conducting these experiments in pre-production environments can help mitigate these risks.

    Chaos Engineering – Security of Production Environments: By simulating attacks and breaches, AI can help understand vulnerabilities in the security architecture. Tools like Game of Hacks and AttackIQ can simulate different types of attacks. The main challenge could be the potential exposure of vulnerabilities, making it essential to have robust security measures in place and conduct these exercises in a controlled environment.

    Identifying Reliability Weaknesses in Production Logs: AI can analyze vast amounts of log data to identify patterns or anomalies that may indicate reliability issues. Tools like Splunk and Logz.io can help here. However, the sheer volume and complexity of log data can pose a challenge. To overcome this, robust data management strategies and powerful AI-driven analytics tools should be deployed.

    Predicting System Failures: AI can analyze system usage and performance data to predict potential system failures before they occur. Tools like Dynatrace and New Relic can be useful in this scenario. A major challenge here is the accuracy of predictions, which can be addressed by training the AI model with quality data and continuously refining it.

    Automated Rollbacks: AI can help in the automated rollback of deployments if chaos experiments or real-time monitoring reveal major issues. Spinnaker is one tool that can help in this aspect. The challenge is to ensure accurate triggers for rollbacks without causing unnecessary disruption. This can be mitigated by proper testing and calibration of the AI system.

    RoadMap for SREs to Transform Incident Response to Using AI

    Here is a practical roadmap for organizations that want to transform to using AI tools for SRE anti-fragility.

    Define Anti-Fragility Goals: Define what you want to achieve with your AI-driven anti-fragility measures. Is it to reduce system downtime, improve security or enhance overall system resilience? Defining these goals upfront will help guide the selection and implementation of AI tools.

    Identify Use Cases: As per the use cases listed above, identify those that are most relevant to your organization and your specific infrastructure and applications. Prioritize them based on your anti-fragility goals.

    Evaluate AI Tools: Assess various AI tools available in the market, such as Gremlin, ChaosIQ, Chaos Monkey, Litmus, Game of Hacks, AttackIQ, Splunk, Logz.io, Dynatrace, New Relic and Spinnaker. Look for those that align best with your defined use cases and overall goals.

    Pilot and Learn: Select one or two tools and use cases to start. Run pilot programs to understand the effectiveness of these tools and to gain valuable insights. This step also includes training your team to use these tools effectively.

    Integrate with SRE Practices: Once you have gained sufficient confidence in the chosen tools, integrate them with your existing SRE practices. Ensure that these tools can interact with your current monitoring, incident management and deployment tools.

    Iterate and Improve: Continually measure the impact of these AI tools on your systems’ anti-fragility. Use this feedback to refine your approach, re-adjust your goals, and explore other use cases or tools.

    Expand Scope: As your team becomes more comfortable with AI tools and chaos engineering practices, you can gradually expand the scope of AI-driven anti-fragility measures across more applications, systems and use cases.

    Summary

    The rising complexity of digital systems and increasing customer expectations necessitate a shift towards a more resilient and adaptive approach to system reliability. SRE’s anti-fragility pillar embraces this challenge, allowing systems not just to resist stress but to thrive under it. The incorporation of AI tools in the realm of anti-fragility brings this dynamic resilience to a new level, enhancing capabilities from conducting fire drills and chaos engineering to identifying reliability weaknesses in production logs. With AI-driven tools like Gremlin, ChaosIQ, and Splunk, SREs can effectively simulate failures, analyze intricate system patterns, and proactively fix potential issues to build stronger, more reliable systems.

    Embarking on a journey to harness AI for anti-fragility is an exciting endeavor that promises profound benefits. An achievable roadmap begins with setting clear goals, selecting relevant use cases, evaluating suitable AI tools, and running pilot programs. The key is to integrate these tools into existing SRE practices gradually and iteratively, continually assessing their impact and refining the approach based on the insights gained. This journey is a continuous process of learning, adapting, and expanding, fostering an environment where systems can thrive amidst chaos and uncertainty. The future of SRE is here, and it’s more robust and resilient than ever.

  • Apica Acquires LOGIQ.AI to Unify Observability

    Apica Acquires LOGIQ.AI to Unify Observability

    Apica, a provider of a synthetic monitoring and observability platform, has just raised an additional $10 million in funding and has agreed to acquire LOGIQ.AI. LOGIQ.AI is a provider of a data fabric infused with machine learning algorithms.

    Jason Haworth, chief product officer for Apica, said the data fabric developed by LOGIQ.AI will be incorporated into the Apica Ascent platform in the third quarter. The LOGIQ.AI addition will apply artificial intelligence (AI) in a way that both optimizes and enriches data collected by the company’s observability platform.

    At the core of the Apica Ascent platform is an indexing engine built on top of a Kubernetes platform that aggregates data such as logs, traces and network packets from multiple sources. As part of that process, the platform reduces storage costs by trimming excess data that can be stored in a data lake it provides or a third-party data lake a customer prefers.

    At the same time, Apica also enables DevOps teams to both normalize data collected from multiple sources and enrich it to add additional context, said Haworth.

    The overall goal is to provide a unified view of all IT data to accelerate faster root cause analysis and reduce the total cost of collecting the data required, he added.

    Apica is making a case for an observability platform that goes beyond collecting data from DevOps platforms. As IT environments become more complex, IT teams need to be able to correlate data collected from a wide range of data sources to accurately determine the root cause of an issue, said Haworth.

    The challenge is managing the massive amount of data that needs to be continuously collected, stored and analyzed to achieve that goal, he added. The acquisition of LOGIQ.AI will enable Apica to embed a data fabric that employs machine learning algorithms and other data science techniques to make it feasible to observe complex IT environments at scale, noted Haworth.

    It’s still early days as far as observability is concerned, but it’s clear that IT teams need to move beyond monitoring a pre-determined set of metrics to manage complex and dynamic application environments. The rate of change to application environments as updates are made requires an ability to query data to determine the root cause of issues that could be caused by any number of dependencies.

    The issue is that even when IT teams have access to an observability platform, they may not have the knowledge and expertise required to craft the queries needed to determine the root cause of an issue. Machine learning algorithms will play a major role in enabling IT teams to proactively discover issues that they can investigate using the suggested queries.

    It’s only a matter of time before most IT organizations unify observability data within a single platform. That will make it simpler for them to collaborate across teams and should result in fewer disruptions as IT issues are discovered more quickly. After all, the best kind of IT incident is the one that never happened or that was too trivial for anyone outside of IT to even notice.

  • New Relic Extends AI to Identify Alert Coverage Gaps

    New Relic Extends AI to Identify Alert Coverage Gaps

    New Relic this week added additional artificial intelligence (AI) capabilities to its observability platform that make it possible to detect and resolve alert coverage gaps.

    Camden Swita, a senior product manager for New Relic, said it’s not uncommon for DevOps teams to discover an issue that the existing alerts they put in place were not designed to address. New Relic is adding machine learning algorithms at no additional cost that are designed to identify anomalies indicative of those potential issues. The platform then surfaces recommended alerts that DevOps teams can apply or further customize as they see fit, he added.

    Those machine learning algorithms ensure DevOps teams are tracking the right thresholds to ensure there are no blind spots that could adversely affect application performance, noted Swita.

    New Relic is employing both predictive and generative AI to enable DevOps team to detect and resolve issues faster. The company has been using machine learning algorithms for predictive AI for several years and, more recently, started providing early access to a generative AI tool dubbed Grok.

    The overall goal is to make the capabilities of an observability platform more accessible, Swita said. This is accomplished by surfacing issues without requiring a software engineer to craft intricate queries to interrogate metrics, logs and traces, he noted.

    The AI capabilities also serve to reduce the amount of alert noise; it’s now possible to more easily understand the root cause of an issue and reduce the total number of alerts that might otherwise be sent, he added.

    While there’s no doubt AI will help democratize DevOps by making it possible to write scripts and better manage workflows, it might be a while before DevOps teams trust the recommendations made. AI models typically require some time before they understand how an IT environment functions, and not every initial recommendation may be valid. In time, however, DevOps teams will find themselves increasingly supervising processes that AI models are executing.

    In addition, there are competing approaches to building large language models (LLMs) that drive generative AI. For example, it’s not clear whether chaining LLMs together will be more efficient than creating a single large ‘parent’ LLM that has ‘child’ relationships with smaller LLMs, noted Swita.

    In the meantime, DevOps teams would be well-advised to list tasks that are likely to be automated by AI models. Many of them will tend to be manual tasks that most software engineers don’t especially relish, so in that regard, there’s naturally a lot of interest in AI. It remains to be seen, however, whether various forms of AI might one day automate an entire DevOps workflow. In fact, most DevOps engineers are going to set a high bar for AI models that, at the very least, will be expected to perform a task as well as humans before it’s trusted completely.

  • Strategic Roadmap for SREs: Software Deployments With AI

    Strategic Roadmap for SREs: Software Deployments With AI

    In my recent blog Revolutionizing the Nine Pillars of SRE with AI-Engineered Tools, I indicated that SREs can use AI and machine learning to optimize deployment strategies and minimize risks. In this blog, I explain, in more detail, how AI-engineered tools can be used to improve the pillar that I call deployments.

    SRE Use Cases for AI-Assisted Deployments

    Here are use cases for SREs to use AI to assist with software deployments.

    Pre-Deployment Preparation Activities: AI can analyze the deployment package to assess dependencies, predict potential conflicts and evaluate the readiness of the package for deployment. AI can also assist in configuration management, ensuring the correct configurations are applied based on the deployment environment. Tools like Harness Continuous Delivery use machine learning to predict the success of deployments based on previous patterns and trends.

    Deployment Decision Process Automation: AI can use data from past deployments, current system status and predictive analytics to decide the best time and method for deployment. It can assess the risk associated with the deployment and help in decision-making. Tools like IBM’s UrbanCode Deploy leverage AI to optimize deployment processes based on historical data.

    Deployment Orchestration Using Blue-Green: AI can help orchestrate Blue-Green deployments by managing the routing rules, monitoring the performance of the new environment and deciding when to switch traffic. Tools like Spinnaker, integrated with AI capabilities, can automate this process more effectively.

    Deployment Orchestration Using Canary: In Canary deployments, AI can analyze the performance of the canary instances in real-time, compare it with the baseline and make data-driven decisions about whether to proceed with the full deployment. Canary deployments can benefit from AI tools like Flagger, which automatically advance or roll back deployments based on key metrics.

    Deployment Orchestration Using Feature-Flag Rollouts: AI can help manage complex feature-flag rollouts, analyzing user behavior and system performance to optimize the rollout strategy. Tools like LaunchDarkly provide feature flag management and integrate machine learning for more sophisticated flag controls.

    In-Production Testing: AI can enable more effective testing in production by identifying unusual system behavior, predicting potential issues and recommending areas for focused testing. Chaos engineering tools like Gremlin integrate AI to automate the identification of system weaknesses.

    Decision-Making and Orchestration of Rollbacks: AI can monitor the health of the system post-deployment, making data-driven decisions about when a rollback is necessary. AI can also help orchestrate the rollback process to minimize disruption. Harness Continuous Delivery provides AI-driven rollback capabilities.

    Monitoring Performance of Deployed Artifacts: AI can analyze the performance of deployed artifacts, compare it with baseline performance, and predict potential performance issues. Tools like Dynatrace use AI to provide real-time performance monitoring and anomaly detection.

    RoadMap for SREs to Transform Deployments to Using AI

    Here is a practical roadmap for SREs to transition to using AI tools for deployment.

    Needs Assessment: Begin by understanding the current state of your deployment processes and identify areas where AI can bring the most benefits. This could be in deployment decision automation, deployment orchestration, in-production testing, rollback decision-making or performance monitoring.
    Tool Selection: Research AI-enabled tools that are available in the market that could fulfill your specific needs identified in step one. Some of these tools could include Harness Continuous Delivery, IBM’s UrbanCode Deploy, Spinnaker, Flagger, LaunchDarkly or Gremlin. Remember to evaluate these tools based on their features, scalability, compatibility with your existing systems and cost.
    Pilot Program: Implement a pilot program with the selected AI tools on a small scale or in a non-critical environment. This will allow you to evaluate the tool’s effectiveness, understand its strengths and weaknesses and refine its configuration and usage in your environment.
    Training: Ensure your SRE team is adequately trained to use the selected AI tools. This could involve formal training sessions, self-guided learning resources or hands-on practice in a sandbox environment. Remember, the tool is only as good as the person using it.
    Gradual Rollout: Once you’re confident in the tool’s effectiveness and your team’s ability to use it, begin a phased rollout of the tool in your production environment. Monitor closely and be ready to adjust as necessary.
    Continuous Improvement: Regularly review the tool’s effectiveness and look for ways to further optimize its usage. Stay informed about updates to the tool and industry best practices, and continually adjust your processes to stay ahead of the curve.

    Summary

    AI’s role in enhancing SRE practices, specifically software deployments, is revolutionizing the efficiency and reliability of deployment processes. From pre-deployment preparation to monitoring the performance of deployed artifacts, AI tools can automate complex tasks, make more informed decisions and improve the speed and reliability of deployments. Whether you’re using Blue-Green, Canary or feature-flag rollouts or you’re navigating decision-making for rollbacks, AI tools like Harness Continuous Delivery, UrbanCode Deploy, Spinnaker, Flagger, LaunchDarkly and Gremlin can be game-changers.

    However, transitioning to AI-driven deployments isn’t an overnight switch; it’s a journey that requires strategic planning and execution. Starting with a thorough needs assessment, choosing the right tools and implementing them via a pilot program is the first leg of this journey. Training your SRE team on these tools and rolling them out gradually in your production environment will ensure a smooth transition. And the journey doesn’t end there. Regular tool effectiveness reviews and staying up-to-date with the latest in the tool’s features and best industry practices will ensure that you’re getting the most out of AI in your deployment processes. Embrace the AI revolution in SRE to stay ahead of the curve in the fast-paced world of continuous software deployments.

  • IBM LLM AI: COBOL to Java ASAP ¦ ARM IPO is GO!

    IBM LLM AI: COBOL to Java ASAP ¦ ARM IPO is GO!

    Welcome to The Long View—where we peruse the news of the week and strip it to the essentials. Let’s work out what really matters.

    This week: Translating legacy COBOL code to a slightly more modern language, and Arm will go public (again) next month. (more…)

  • What Are You Securing?

    What Are You Securing?

    Every once in a while, I think it is important to look at the available technologies and tooling and ask, “What are we trying to do?” In the case of information security, we need to ask, “What, exactly, are we trying to protect?”

    The answers to that question are seriously limited. Availability, reputation, data. Since reputation is a business mapping of the other two, that leaves us with availability and data. Of the two, data is more important. Our systems being down absolutely costs us money, but leaking customers’ private data or our corporate secrets, like source code or technology designs, is worse in the long run.

    The problem with these observations is that if we are here to protect the data, and data is the more important piece of security, then why do we have far better application security than data leak prevention? Almost all of you have policies and processes to run an application through the wringer and get an “as secure as possible” result at the end. But data? The purpose of applications is to expose it. And in the process, we risk exposing too much of it or allowing tons of it out of a valid endpoint. I remember in the early days of login-based websites, there was a spectacular leak that let an attacker get hundreds of valid user credentials per page submission (there were a surprising number of these for a couple of years there; this one was at a college). We are facing much the same thing via APIs these days or even via pages meant to make access easier for users.

    Locking all of this behind logins is a useful step, but to use one of the many phrases we’ve stolen from military science, it is only a part of ‘defense in depth.’

    Once it is agreed that data is one of the two key things we need to protect, then the focus should be on how to do so. There are some amazing DLP products, both standalone and integrated into other technologies, that are worth looking into. There are also some great advances in automated response under the guise of AI/ML that should be watched closely because they are changing rapidly. Limiting the maximum number of responses allowed from a query is almost mandatory for application stability and for data leak prevention. And it isn’t that hard to implement.

    I assure you that ne’er-do-wells—particularly state-sponsored and corporate espionage hackers, but also amateurs—are using AI to make attacks more successful and less detectable. The least you can do is respond in kind, with some of the tools that can now do things like notify you about low-and-slow data leak attacks.

    Keep focused on what the goals are. Reiterate them often, and keep rocking it. That’s a lot of data splashing around the organization that your team is responsible for; make sure it’s as safe as possible.

  • AI: A Game-Changer for SRE Work-Sharing and Technical Debt

    AI: A Game-Changer for SRE Work-Sharing and Technical Debt

    In my recent blog, Revolutionizing the Nine Pillars of SRE with AI-Engineered Tools, I indicated that AI can assist work-sharing and incremental technical debt. For example, AI can help analyze code and infrastructure changes to assess their impact on technical debt. In this blog, I explain in more detail how AI-engineered tools can be used to improve the SRE work-sharing and technical debt pillar of practice.

    AI Use Cases for SRE Work-Sharing and Technical Debt

    Sharing Wisdom of Production: AI tools like Splunk and Datadog can analyze log files and telemetry data to uncover hidden patterns and trends, improving system understanding and enabling knowledge sharing. Challenges include integrating these tools into existing infrastructure and managing the vast amount of data generated. Clear data governance policies and proper tool configuration can help overcome these.

    Collaboration with Development, QA and Security: AI-powered platforms like GitHub and GitLab can automate code reviews, identify security risks and even suggest code improvements, fostering collaboration. Integrating these tools into existing workflows can be challenging, but this can be mitigated by providing proper training and phased integration.

    Backlog Grooming: Tools like Atlassian’s Jira, powered by machine learning algorithms, can prioritize the backlog by predicting issue impact, allowing SREs to focus on higher-priority tasks. The challenge is to integrate these tools seamlessly into the workflow, which can be achieved through comprehensive onboarding and training sessions.

    Participation in Sprints: AI tools like Tara.AI can predict sprint velocity based on historical data, helping teams adjust their workload. The challenge lies in adjusting to the predictions and estimates provided by these tools, which can be managed by slowly incorporating AI guidance into sprint planning and review processes.

    Participation in Testing: AI in testing tools like Testim.io and mabl can automate test cases and intelligently adapt to changes in the system, reducing the time and effort required for manual testing. The challenge lies in selecting and configuring the right AI testing tools for your specific context, which can be mitigated by conducting a thorough needs and gap analysis before tool selection.

    Participation in Automation of Environments: AI tools like Hashicorp Terraform can help automate infrastructure provisioning and management. The main challenge is understanding and defining infrastructure-as-code (IaC), which can be overcome with training and leveraging IaC best practices.

    Participation in Release Management: Tools like UrbanCode Velocity harness AI to provide insights into the release management process, enabling better decision-making. However, integrating these insights into existing release management workflows can be challenging. Slow, phased integration of AI tooling supported by training can help.

    Sharing On-Call Duties and Incident Response Activities: AI tools like PagerDuty and xMatters use machine learning to automate incident response, helping reduce on-call burnout. The challenge is ensuring the AI doesn’t overlook critical incidents due to false positives or negatives, which can be mitigated by continuous tuning of the AI model and maintaining a human in the loop.

    RoadMap for SREs to Transform Incident Response Using AI

    Here is a practical roadmap an organization can follow to implement AI tools for SRE work-sharing and technical debt:

    Identify the Need and Set Goals: The first step involves identifying the specific areas where AI tools could help in work-sharing and technical debt management. It’s essential to set clear, measurable goals for what you hope to achieve with AI.

    Conduct a Gap Analysis: Understand your current tooling and processes and identify where the gaps are. Evaluate how AI could fill those gaps and improve your processes.

    Select the Right Tools: Some tools that could be helpful include Splunk or Datadog for data analysis and sharing production wisdom, Jira for backlog grooming, Tara.AI for sprint planning, Testim.io or mabl for automated testing, Terraform for automating infrastructure and PagerDuty or xMatters for incident response. However, the exact selection will depend on the specific needs and context of your organization.

    Phased Implementation: Start by introducing AI tools in the areas where they can provide the most immediate benefit. A phased approach helps manage the transition and reduces the risk of disruption.

    Training and Support: Ensure your team is trained in using the new tools and understands how to interpret the insights they provide. This may involve external training or bringing in experts to provide in-house training and support.

    Measure and Adjust: Continuously evaluate the effectiveness of the AI tools against your initial goals. It’s likely that you’ll need to make adjustments along the way, either to the tools themselves or to the way you’re using them.

    Iterate and Expand: Once the tools have proven their effectiveness in one area, you can start to expand their use into other areas of work sharing and technical debt management.

    Summary

    Transforming the way we approach work-sharing and technical debt management within SRE practices through AI can propel teams toward increased efficiency and better outcomes. By leveraging intelligent tools, we can automate routine tasks, predict and manage technical debt more effectively, enhance our decision-making in sprints and deployments and create a more collaborative and insight-driven environment. AI tools such as Splunk, Datadog, Jira, Tara.AI, Testim.io, mabl, Terraform, PagerDuty and xMatters provide an arsenal of capabilities that can revolutionize how we handle everything from backlog grooming to sharing production wisdom and incident response.

    Embracing this transformation requires a well-thought-out strategy. A roadmap that begins with identifying needs and goals, conducting a gap analysis, selecting the right tools, implementing in phases, training teams and continuously measuring and adjusting for effectiveness can guide the journey. It’s about ensuring that AI serves its purpose in empowering SRE teams, fostering a culture of shared responsibility and knowledge and, ultimately, improving the reliability and efficiency of our systems. This evolution holds immense potential, and we are just starting to tap into it.

  • Low-Code and AI: Friends or Foes?

    Low-Code and AI: Friends or Foes?

    The lines are becoming blurred between low-code and new artificial intelligence (AI). Historically, low-code/no-code platforms have introduced software development automation through graphical user interfaces, enabling professional and citizen developers alike to quickly build workflows and generate applications. But the rise of large language models (LLMs) represents an existential threat to the status quo of low-code development.

    So, are generative AI and low-code friends or foes? Since new generative AI can produce complex code in milliseconds given natural language prompts, the barrier to software development has never been lower. On the other hand, enterprises already have ingrained low-code practices and operations, which may stick around for a while. With that in mind, there are plenty of ways AI and low-code can coexist.

    Below, we’ll consider if AI and low-code are diametrically opposed tools or complementary forces. We’ll see how AI and low-code are merging and consider the benefits of using them in tandem.

    Unleashing the Power of AI

    LLMs, like OpenAI’s GPT-3.5 and GPT-4, can deliver impressive software generation capabilities, such as creating code snippets and even complete programs given natural language prompts. Because of these remarkable capabilities, it makes sense that low-code platforms should be a bit wary of AI.

    Artificial intelligence can actually deliver on some of the original promises of low-code, like software democratization, enhanced agility and filling the widening skills gap. “ChatGPT could allow users to make more significant changes to applications, potentially enabling organizations to achieve far more than with low-code and in half the time,” wrote Romy Hughes on devopsy.kinsta.cloud.

    There are also plenty of ways LLMs could accelerate the DevOps side of the cloud-native equation. In addition to code generation, AI could help generate configuration manifests, run code tests and perform cybersecurity analysis. While AI can’t fully replace the nuance of human oversight, it can indeed automate more and more elements of the software development life cycle.

    Congruence Between Low-Code and AI

    Although it appears likely that AI will replace low-code, there are actually many opportunities for symbiosis between the two concepts. Rather than eradicate low-code platforms entirely, LLMs will likely become more embedded within them. We’ve already seen this occur as low-code providers like Mendix and OutSystems integrated ChatGPT connectors. Microsoft has also embedded ChatGPT into its Power Platform as well as integrated GPT-driven Copilots into various developer environments.

    “Low-code and AI on their own are powerful tools to increase enterprise efficiency and productivity,” said Dinesh Varadharajan, the chief product officer at Kissflow. “But there is potential for the combination of both to unlock game-changing automation for almost every industry. The power comes from the congruence between low-code/no-code and AI.”

    There is also the opportunity to train bespoke LLMs on the inner workings of specific software development platforms, which could generate fully-built templates upon natural language prompts. This would make the LLM more custom-built and relevant to the platform at hand and ease development fluidity. In addition to integrating existing LLMs, another potential synergy is that low-code solutions could help automate the training of new custom AI models.

    Tips to Keep In Mind

    As with any technology solution, the choices should be driven by concrete business outcomes. Start by defining the business objectives and let that determine the technological solutions to arrive at the outcomes you desire. In the context of low-code and AI, this might equate to deciding between which models to support.

    Next, enterprises must avoid risk when using low-code platforms. And on the AI side of the coin, platforms will have to navigate the data privacy and legal complications of using public LLMs. Like any new technology, AI and low-code will require governance, said Varadharajan. “Organizations should step in to standardize the tools, processes and DevOps cycles. Only certain AI-powered tools should be approved for development where there are agreeable security, privacy and IP protection agreements in place.”

    He also explained that a focus on change management would be paramount in reaping the benefits of both strategies. “I suspect that the greatest barrier to adoption and implementation will be change management,” he said. “Enterprise users are accustomed to certain ways of working and can be resistant to change, making them unlikely to embrace AI-powered low-code. Leaders should anticipate this and incorporate change management into their AI/low-code adoption strategy.”

    Closing The Semantic Gap

    Low-code came on the scene to help citizen developers create applications without requiring advanced technical experience. Yet, low-code still requires knowledge of the development platform as well as specific programming terminologies and formulas. But now, since generative AI behaves in response to natural language, it has the potential to instantly bypass this barrier.

    “Generative AI closes this semantic gap,” said Varadharajan. “Generative AI serves as a translator, and users no longer have to understand exactly how the system works.”

    As more AI pair programmers come onto the market, expectations are rising within all areas of software development, including low-code platforms, to integrate these advanced models. If leaders can navigate the technical change effectively, the outcomes will likely significantly increase agility and output.

    “Ultimately, all developers will end up saving time delegating repetitive tasks to these AI-powered pair programmers,” said Varadharajan.

  • Unleashing AI in SRE: A New Dawn for Incident Management

    Unleashing AI in SRE: A New Dawn for Incident Management

    In my recent blog, Revolutionizing the Nine Pillars of SRE with AI-Engineered Tools, I indicated that AI could assist with incident management by automating the detection and triage of incidents and helping to quickly identify the root cause. In this blog, I explain in more detail how AI-engineered tools can be used to improve the SRE incident management pillar of practice.

    AI Use Cases for Incident Management

    Here are use cases for SREs to use AI to assist with software deployments.

    Detection of Incidents: AI can be instrumental in identifying and predicting incidents before they cause severe damage. Tools like Moogsoft and Datadog use AI to analyze system behavior and predict potential failures. However, a challenge could be ensuring these AI models are correctly trained to understand what constitutes an incident. To overcome this, invest time in training these models with historical incident data and continuously fine-tune them.

    Communication of Incidents: AI can automate the process of notifying the right teams when an incident occurs based on its severity and impact. Tools like PagerDuty use machine learning to streamline incident communication. A challenge might be setting up correct escalation policies. This can be overcome by carefully analyzing past incidents, understanding their impact and setting up escalation rules accordingly.

    Triage of Incidents: AI can assist in categorizing and prioritizing incidents based on their potential impact on the business. IBM’s Watson AIOps uses AI for effective triaging. However, defining the right parameters for triaging could be a challenge. It can be overcome by understanding the nature of incidents, their potential impact on the business and defining the rules for triaging accordingly.

    Identify the Root Cause: AI can help quickly identify the root cause of incidents by analyzing patterns in historical data. Tools like RunWhen and Zebrium use machine learning for root cause analysis. A potential challenge is ensuring that the AI model has access to all necessary data for analysis. You can overcome this by setting -p comprehensive logging and monitoring systems that collect all relevant data.

    Blameless Postmortems: AI can provide data-driven insights to facilitate blameless postmortems, helping teams understand what went wrong and why. OverOps and Blameless are examples of such tools. The challenge here is ensuring an unbiased analysis. Overcome this by setting up AI models that rely on factual data rather than assumptions.

    Documentation of Incidents: AI can help in auto-documenting incidents, capturing important details that could be crucial for future reference. JupiterOne, for instance, uses AI for this purpose. However, capturing all relevant details in documentation can be a challenge. To overcome this, configure the AI tools to collect comprehensive details about the incidents.

    Automation of Playbooks: AI can help automate the execution of incident response playbooks, reducing human intervention and response time. Tools such as StackStorm and Blameless Insights are tools that can help here. A potential challenge is ensuring the right playbook is executed for the right incident. Overcome this by training the AI model with historical incident data and the corresponding successful playbook execution.

    RoadMap for SREs to Transform Incident Response Using AI

    Needs Assessment and Gap Analysis: Start by understanding the current incident management process and identifying areas where AI can improve. Also, analyze the types of incidents you face most frequently and the time taken to resolve them. This will help create a clear problem statement and set expectations from AI implementations.
    Tool Selection: Based on the needs assessment, identify the right AI tools. Look at AI tools specializing in incident detection, communication, triage, root cause analysis and automation. Tools such as Moogsoft, PagerDuty, IBM’s Watson AIOps, Zebrium, OverOps, JupiterOne, RunWhen, Blameless and StackStorm might be good starting points.
    Model Training and Configuration: Configure the chosen AI tools as per your incident management process. You’ll need to train the models using historical incident data so they accurately reflect your environment.
    Integration with Existing Systems: Ensure the chosen AI tools can integrate seamlessly with your existing systems, such as your ITSM tool, monitoring and logging systems and communication channels. This is crucial for the automation of the incident management process.
    Pilot Implementation: Start with a pilot implementation on a small scale, maybe for a single service or a part of your infrastructure. This will help you understand the effectiveness of the AI tools and make necessary adjustments before a full-scale rollout.
    Measure and Optimize: Regularly measure the performance of the AI tools and their impact on your incident management process. Make necessary optimizations based on feedback and performance metrics.
    Full-Scale Rollout: Once you’re confident about the performance of the AI tools and their effectiveness in improving the incident management process, plan for a full-scale rollout.
    Continuous Learning and Improvement: The power of AI lies in its ability to learn and improve over time. Keep feeding it new incident data and train the models for better accuracy and effectiveness. Also, keep an eye on new advancements and features in AI tools and update your implementations accordingly.

    Summary

    Modern incident management is being revolutionized by AI, bringing unprecedented improvements in detection, communication, root cause analysis, postmortem reporting and automation of playbooks. The power of AI lies in its ability to learn and adapt, making it a powerful ally for SRE teams dealing with complex and evolving systems. But the journey to effective AI-based incident management isn’t without challenges. With the right tools like Moogsoft, PagerDuty, IBM’s Watson AIOps, Zebrium, OverOps, JupiterOne and StackStorm and a well-planned implementation roadmap, organizations can successfully overcome these challenges and unlock the full potential of AI in incident management.

    The roadmap to AI-based incident management starts with a thorough needs assessment and gap analysis, followed by tool selection and configuration. An integration with existing systems ensures seamless data flow, while a pilot implementation allows for tweaks and adjustments. Measuring and optimizing the performance of AI tools is a crucial step before a full-scale rollout. And the journey doesn’t end there—continuous learning and improvement is key to harnessing the full potential of AI. With the right approach and tools, the transformation to AI-based incident management can significantly reduce downtime, speed up resolution times and improve system reliability—a win-win for both SRE teams and their users.

  • How Multiple Forms of AI Will Transform DevOps for the Better

    How Multiple Forms of AI Will Transform DevOps for the Better

    The pace at which multiple classes of artificial intelligence (AI) are converging to automate DevOps workflows is about to accelerate the rate at which higher-quality applications will be both built and deployed. And this will happen at levels of scale once thought to be unimaginable.

    Most recent AI advances have been squarely focused on using large language models (LLMs) to improve the productivity of developers. As valuable as that use case for AI may be, however, the volume of code moving through a continuous integration/continuous delivery (CI/CD) platform is only going to increase exponentially as developers become more productive. Most organizations are not going to be able to hire additional software engineers to manage additional pipelines, so the need to apply AI to DevOps workflows is becoming more pressing. Each passing day, more code is generated using tools that have been augmented in a way that makes it simpler to build higher-quality applications.

    AI makes it possible to analyze large amounts of data in real-time to surface insights and optimize workflows. For example, the data analyzed by algorithms can identify where there are bottlenecks in a DevOps workflow, along with recommendations for how to break that logjam. DevOps teams can then apply machine learning algorithms to optimally configure a platform, otherwise known as AIOps, in a way that eliminates many of the manual tasks that make managing DevOps workflows more tedious and time-consuming than anybody wants. AI is also serving as a digital ‘pair programmer’ for many DevOps professionals, helping them think through problems and brainstorm innovative solutions quickly.

    Generative AI tools go a step further—using natural language to instruct an LLM that has been trained to generate code to create the scripts that automate DevOps workflows. Those scripts can then be applied using an orchestration engine to automate CD processes at levels of unprecedented scale.

    At the same time, organizations will also be able to use technologies such as a vector database to compare code against examples of other code that an LLM has been trained to recognize, with the goal being to identify defects in newly written code that might adversely impact application security. It’s now only a matter of time before the overall quality of the code finding its way into production environments improves to the point where the number of incidents a DevOps team has to respond to should start to decline steadily.

    Realizing those benefits and other advances will require multiple types of AI models to be built and maintained. Companies such as CloudBees are making investments to define machine learning operations (MLOps) practices to build them. There will also be untold numbers of LLMs built by the open source community and enterprise IT organizations that will need to be integrated into DevOps workflows. The ability to review those models in a way that promotes transparency and trust will, of course, be crucial. As such, the value of an open CI/CD platform like Jenkins that makes it possible to embrace multiple classes of AI models simultaneously has never been more apparent.

    Naturally, there is as much fear and trepidation about AI as there is excitement. No one knows for certain to what extent DevOps workflows might be automated, but there will always be a need for DevOps engineers to validate them. After all, it’s one thing to be wrong. It’s another thing to be wrong at scale. Mistakes that occur because of a flawed AI model could turn out to be catastrophic.

    However, there is no going back. As multiple classes of AI technologies converge, DevOps teams will find can more easily manage DevOps workflows at scale. In fact, one of the long-standing criticisms of DevOps, in general, is how difficult it can be to manage workflows at scale. AI advances will soon effectively render that debate moot.

    In the meantime, DevOps teams today would be well-advised to start reviewing their current workflows with an eye toward determining which processes can be automated. AI will soon be pervasively applied to drive a new era of software development that promises to dramatically accelerate the rate at which better applications can be built, deployed and updated. In fact, DevOps itself, thanks to the rise of AI, will soon be democratized in a way that will enable more organizations to embrace it, mainly because the level of programming expertise required will be significantly less.

    As these changes occur, the number of applications that organizations can cost-effectively employ to drive an even wider range of digital processes is only going to increase. Exactly what impact all that software is about to have on the world as we know it remains to be seen, but the one thing that is for certain is that DevOps engineers will be at the center of it.